]> git.kernelconcepts.de Git - karo-tx-redboot.git/commitdiff
Cleanup CVS ipmorted branch
authorLothar Waßmann <LW@KARO-electronics.de>
Fri, 17 Feb 2012 08:59:55 +0000 (09:59 +0100)
committerLothar Waßmann <LW@KARO-electronics.de>
Fri, 17 Feb 2012 08:59:55 +0000 (09:59 +0100)
922 files changed:
README.txt [deleted file]
buildid.txt [deleted file]
config/TRITON270_STK3.ecc [deleted file]
config/TRITON270_STK3_128S32F.ecc [deleted file]
config/TRITON270_STK3_16F.ecc [deleted file]
config/TRITON270_STK3_16F128S.ecc [deleted file]
config/TRITON270_STK3_16F32S.ecc [deleted file]
config/TRITON270_STK3_16F64S.ecc [deleted file]
config/TRITON270_STK3_32F.ecc [deleted file]
config/TRITON270_STK3_32F32S.ecc [deleted file]
config/TRITON270_STK3_32MB.ecc [deleted file]
config/TRITON270_STK3_64F.ecc [deleted file]
config/TRITON270_STK3_64F128S.ecc [deleted file]
config/TRITON_ECO_STK1.ecc [deleted file]
config/TRITON_ETN_STK2.ecc [deleted file]
config/TRITON_LP32_STK2.ecc [deleted file]
config/TRITON_LP_STK2.ecc [deleted file]
config/TRITON_STK1.ecc [deleted file]
config/TRITON_X.ecc [deleted file]
config/TX37_1.ecc [deleted file]
config/tx27karo.ecc [deleted file]
doc/html/cdl-guide/advanced.html [deleted file]
doc/html/cdl-guide/advanced.targets.html [deleted file]
doc/html/cdl-guide/build.headers.html [deleted file]
doc/html/cdl-guide/build.html [deleted file]
doc/html/cdl-guide/build.make.html [deleted file]
doc/html/cdl-guide/build.tests.html [deleted file]
doc/html/cdl-guide/cdl-guide.html [deleted file]
doc/html/cdl-guide/language.commands.html [deleted file]
doc/html/cdl-guide/language.database.html [deleted file]
doc/html/cdl-guide/language.html [deleted file]
doc/html/cdl-guide/language.interface.html [deleted file]
doc/html/cdl-guide/language.naming.html [deleted file]
doc/html/cdl-guide/language.properties.html [deleted file]
doc/html/cdl-guide/language.tcl.html [deleted file]
doc/html/cdl-guide/language.values.html [deleted file]
doc/html/cdl-guide/overview.approaches.html [deleted file]
doc/html/cdl-guide/overview.configurability.html [deleted file]
doc/html/cdl-guide/overview.degress.html [deleted file]
doc/html/cdl-guide/overview.html [deleted file]
doc/html/cdl-guide/overview.warning.html [deleted file]
doc/html/cdl-guide/package.contents.html [deleted file]
doc/html/cdl-guide/package.distrib.html [deleted file]
doc/html/cdl-guide/package.html [deleted file]
doc/html/cdl-guide/package.png [deleted file]
doc/html/cdl-guide/package.versions.html [deleted file]
doc/html/cdl-guide/ref.active-if.html [deleted file]
doc/html/cdl-guide/ref.calculated.html [deleted file]
doc/html/cdl-guide/ref.cdl-component.html [deleted file]
doc/html/cdl-guide/ref.cdl-interface.html [deleted file]
doc/html/cdl-guide/ref.cdl-option.html [deleted file]
doc/html/cdl-guide/ref.cdl-package.html [deleted file]
doc/html/cdl-guide/ref.compile.html [deleted file]
doc/html/cdl-guide/ref.default-value.html [deleted file]
doc/html/cdl-guide/ref.define-format.html [deleted file]
doc/html/cdl-guide/ref.define-header.html [deleted file]
doc/html/cdl-guide/ref.define-proc.html [deleted file]
doc/html/cdl-guide/ref.define.html [deleted file]
doc/html/cdl-guide/ref.description.html [deleted file]
doc/html/cdl-guide/ref.display.html [deleted file]
doc/html/cdl-guide/ref.doc.html [deleted file]
doc/html/cdl-guide/ref.flavor.html [deleted file]
doc/html/cdl-guide/ref.hardware.html [deleted file]
doc/html/cdl-guide/ref.if-define.html [deleted file]
doc/html/cdl-guide/ref.implements.html [deleted file]
doc/html/cdl-guide/ref.include-dir.html [deleted file]
doc/html/cdl-guide/ref.include-files.html [deleted file]
doc/html/cdl-guide/ref.legal-values.html [deleted file]
doc/html/cdl-guide/ref.library.html [deleted file]
doc/html/cdl-guide/ref.make-object.html [deleted file]
doc/html/cdl-guide/ref.make.html [deleted file]
doc/html/cdl-guide/ref.no-define.html [deleted file]
doc/html/cdl-guide/ref.parent.html [deleted file]
doc/html/cdl-guide/ref.requires.html [deleted file]
doc/html/cdl-guide/ref.script.html [deleted file]
doc/html/cdl-guide/reference.html [deleted file]
doc/html/cdl-guide/repo.png [deleted file]
doc/html/cdl-guide/version.png [deleted file]
doc/html/ecos.gif [deleted file]
doc/html/index.html [deleted file]
doc/html/ref/aaed2000.html [deleted file]
doc/html/ref/alias-command.html [deleted file]
doc/html/ref/asleep.png [deleted file]
doc/html/ref/assabet.html [deleted file]
doc/html/ref/at91.html [deleted file]
doc/html/ref/atlas.html [deleted file]
doc/html/ref/awake.png [deleted file]
doc/html/ref/baudrate-command.html [deleted file]
doc/html/ref/brutus.html [deleted file]
doc/html/ref/c-and-math-library-overview.html [deleted file]
doc/html/ref/c-library-startup.html [deleted file]
doc/html/ref/cache-command.html [deleted file]
doc/html/ref/calmrisc16.html [deleted file]
doc/html/ref/calmrisc32.html [deleted file]
doc/html/ref/cerfcube.html [deleted file]
doc/html/ref/channel-command.html [deleted file]
doc/html/ref/cksum-command.html [deleted file]
doc/html/ref/common-commands.html [deleted file]
doc/html/ref/compat-uitron-configuration-faq.html [deleted file]
doc/html/ref/compat-uitron-extended-sync-comm-functions.html [deleted file]
doc/html/ref/compat-uitron-interrupt-management-functions.html [deleted file]
doc/html/ref/compat-uitron-memory-pool-mgmt-functions.html [deleted file]
doc/html/ref/compat-uitron-microitron-api.html [deleted file]
doc/html/ref/compat-uitron-network-support-functions.html [deleted file]
doc/html/ref/compat-uitron-over-ecos.html [deleted file]
doc/html/ref/compat-uitron-sync-and-comm-functions.html [deleted file]
doc/html/ref/compat-uitron-system-mgmt-functions.html [deleted file]
doc/html/ref/compat-uitron-task-dependent-synch-functions.html [deleted file]
doc/html/ref/compat-uitron-task-management-functions.html [deleted file]
doc/html/ref/compat-uitron-time-mgmt-functions.html [deleted file]
doc/html/ref/compat-uitron.html [deleted file]
doc/html/ref/configuring-the-redboot-environment.html [deleted file]
doc/html/ref/cpuload-functions.html [deleted file]
doc/html/ref/crc-functions.html [deleted file]
doc/html/ref/devapi-api.html [deleted file]
doc/html/ref/devapi-device-driver-interface-to-the-kernel.html [deleted file]
doc/html/ref/devapi-device-driver-models.html [deleted file]
doc/html/ref/devapi-smp-support.html [deleted file]
doc/html/ref/devapi-synchronization-levels.html [deleted file]
doc/html/ref/devapi-synchronization.html [deleted file]
doc/html/ref/devs-eth-synth-ecosynth-ref.html [deleted file]
doc/html/ref/devs-eth-synth-ecosynth.html [deleted file]
doc/html/ref/devs-usb-nec-upd985xx-ref.html [deleted file]
doc/html/ref/devs-usb-nec-upd985xx.html [deleted file]
doc/html/ref/devs-usb-sa11x0-ref.html [deleted file]
doc/html/ref/devs-usb-sa11x0.html [deleted file]
doc/html/ref/devs-watchdog-synth-ref.html [deleted file]
doc/html/ref/devs-watchdog-synth.html [deleted file]
doc/html/ref/disks-command.html [deleted file]
doc/html/ref/download-command.html [deleted file]
doc/html/ref/dump-command.html [deleted file]
doc/html/ref/e7t.html [deleted file]
doc/html/ref/ebsa285.html [deleted file]
doc/html/ref/ecos-pci-library.html [deleted file]
doc/html/ref/ecos-ref.html [deleted file]
doc/html/ref/edb7xxx.html [deleted file]
doc/html/ref/edk7708.html [deleted file]
doc/html/ref/excaliburarm9.html [deleted file]
doc/html/ref/exec-command.html [deleted file]
doc/html/ref/executing-programs.html [deleted file]
doc/html/ref/fileio-devices.html [deleted file]
doc/html/ref/fileio-directories.html [deleted file]
doc/html/ref/fileio-file-table.html [deleted file]
doc/html/ref/fileio-fstab.html [deleted file]
doc/html/ref/fileio-intro.html [deleted file]
doc/html/ref/fileio-mount-table.html [deleted file]
doc/html/ref/fileio-mounting.html [deleted file]
doc/html/ref/fileio-select.html [deleted file]
doc/html/ref/fileio-sockets.html [deleted file]
doc/html/ref/fileio-synchronization.html [deleted file]
doc/html/ref/fileio-writing.html [deleted file]
doc/html/ref/fileio.html [deleted file]
doc/html/ref/filters.png [deleted file]
doc/html/ref/fis-create-command.html [deleted file]
doc/html/ref/fis-delete-command.html [deleted file]
doc/html/ref/fis-erase-command.html [deleted file]
doc/html/ref/fis-free-command.html [deleted file]
doc/html/ref/fis-init-command.html [deleted file]
doc/html/ref/fis-list-command.html [deleted file]
doc/html/ref/fis-load-command.html [deleted file]
doc/html/ref/fis-lock-command.html [deleted file]
doc/html/ref/fis-unlock-command.html [deleted file]
doc/html/ref/fis-write-command.html [deleted file]
doc/html/ref/flash-image-system.html [deleted file]
doc/html/ref/frv400.html [deleted file]
doc/html/ref/getting-started-with-redboot.html [deleted file]
doc/html/ref/go-command.html [deleted file]
doc/html/ref/hal-architecture-characterization.html [deleted file]
doc/html/ref/hal-architecture-variant-and-platform.html [deleted file]
doc/html/ref/hal-cache-control.html [deleted file]
doc/html/ref/hal-calling-if.html [deleted file]
doc/html/ref/hal-default-interrupt-handling.html [deleted file]
doc/html/ref/hal-default-synchronous-exception-handling.html [deleted file]
doc/html/ref/hal-diagnostic-support.html [deleted file]
doc/html/ref/hal-exception-handling.html [deleted file]
doc/html/ref/hal-future-developments.html [deleted file]
doc/html/ref/hal-general-principles.html [deleted file]
doc/html/ref/hal-input-and-output.html [deleted file]
doc/html/ref/hal-interfaces.html [deleted file]
doc/html/ref/hal-interrupt-handling.html [deleted file]
doc/html/ref/hal-introduction.html [deleted file]
doc/html/ref/hal-linker-scripts.html [deleted file]
doc/html/ref/hal-porting-architecture.html [deleted file]
doc/html/ref/hal-porting-coding-conventions.html [deleted file]
doc/html/ref/hal-porting-guide.html [deleted file]
doc/html/ref/hal-porting-platform.html [deleted file]
doc/html/ref/hal-porting-structure.html [deleted file]
doc/html/ref/hal-porting-variant.html [deleted file]
doc/html/ref/hal-smp-support.html [deleted file]
doc/html/ref/hal-synth-arch.html [deleted file]
doc/html/ref/hal-vectors-and-vsrs.html [deleted file]
doc/html/ref/help-command.html [deleted file]
doc/html/ref/hs7729pci.html [deleted file]
doc/html/ref/installation-and-testing.html [deleted file]
doc/html/ref/installing-redboot.html [deleted file]
doc/html/ref/integrator.html [deleted file]
doc/html/ref/io-eth-call-graph.html [deleted file]
doc/html/ref/io-eth-drv-api-funcs.html [deleted file]
doc/html/ref/io-eth-drv-generic.html [deleted file]
doc/html/ref/io-eth-drv-generic1.html [deleted file]
doc/html/ref/io-eth-drv-upper-api.html [deleted file]
doc/html/ref/io-how-to-write-a-driver.html [deleted file]
doc/html/ref/io-package-intro.html [deleted file]
doc/html/ref/io-pci.html [deleted file]
doc/html/ref/io-serial-driver-details.html [deleted file]
doc/html/ref/io-serial-testing-with-serfilter.html [deleted file]
doc/html/ref/io-tty-driver.html [deleted file]
doc/html/ref/io-usb-slave-eth.html [deleted file]
doc/html/ref/io-usb-slave.html [deleted file]
doc/html/ref/io-user-api.html [deleted file]
doc/html/ref/io.html [deleted file]
doc/html/ref/ip-address-command.html [deleted file]
doc/html/ref/ipaq.html [deleted file]
doc/html/ref/iq80310.html [deleted file]
doc/html/ref/iq80321.html [deleted file]
doc/html/ref/kernel-alarms.html [deleted file]
doc/html/ref/kernel-characterization.html [deleted file]
doc/html/ref/kernel-clocks.html [deleted file]
doc/html/ref/kernel-condition-variables.html [deleted file]
doc/html/ref/kernel-counters.html [deleted file]
doc/html/ref/kernel-exceptions.html [deleted file]
doc/html/ref/kernel-flags.html [deleted file]
doc/html/ref/kernel-interrupts.html [deleted file]
doc/html/ref/kernel-mail-boxes.html [deleted file]
doc/html/ref/kernel-mutexes.html [deleted file]
doc/html/ref/kernel-overview.html [deleted file]
doc/html/ref/kernel-schedcontrol.html [deleted file]
doc/html/ref/kernel-semaphores.html [deleted file]
doc/html/ref/kernel-smp.html [deleted file]
doc/html/ref/kernel-spinlocks.html [deleted file]
doc/html/ref/kernel-thread-control.html [deleted file]
doc/html/ref/kernel-thread-create.html [deleted file]
doc/html/ref/kernel-thread-data.html [deleted file]
doc/html/ref/kernel-thread-destructors.html [deleted file]
doc/html/ref/kernel-thread-info.html [deleted file]
doc/html/ref/kernel-thread-priorities.html [deleted file]
doc/html/ref/kernel-thread-termination.html [deleted file]
doc/html/ref/kernel.html [deleted file]
doc/html/ref/layout.png [deleted file]
doc/html/ref/libc-implementation-details.html [deleted file]
doc/html/ref/libc-thread-safety.html [deleted file]
doc/html/ref/libc.html [deleted file]
doc/html/ref/malta.html [deleted file]
doc/html/ref/math-library-compatibility-modes.html [deleted file]
doc/html/ref/mbx.html [deleted file]
doc/html/ref/mcmp-command.html [deleted file]
doc/html/ref/menu_edit.png [deleted file]
doc/html/ref/menu_file.png [deleted file]
doc/html/ref/menu_help.png [deleted file]
doc/html/ref/menu_view.png [deleted file]
doc/html/ref/mfill-command.html [deleted file]
doc/html/ref/nano.html [deleted file]
doc/html/ref/net-common-building-the-network-tests.html [deleted file]
doc/html/ref/net-common-configuring-ip-addresses.html [deleted file]
doc/html/ref/net-common-dhcp.html [deleted file]
doc/html/ref/net-common-ethernet-driver-design.html [deleted file]
doc/html/ref/net-common-interactive-tests.html [deleted file]
doc/html/ref/net-common-maintenance-tools.html [deleted file]
doc/html/ref/net-common-performance-test.html [deleted file]
doc/html/ref/net-common-sample-code.html [deleted file]
doc/html/ref/net-common-standalone-tests.html [deleted file]
doc/html/ref/net-common-support.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-accept.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-bind.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-byteorder.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-connect.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-ethers.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getaddrinfo.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-gethostbyname.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-gethostname.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getifaddrs.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getnameinfo.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getnetent.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getpeername.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getprotoent.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getrrsetbyname.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getservent.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getsockname.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-getsockopt.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-if-nametoindex.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-inet-net.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-inet.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-inet6-option-space.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-inet6-rthdr-space.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-ioctl.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-ipx.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-iso-addr.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-link-addr.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-net-addrcmp.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-ns.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-poll.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-resolver.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-select.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-send.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-shutdown.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-socket.html [deleted file]
doc/html/ref/net-common-tcpip-manpages-socketpair.html [deleted file]
doc/html/ref/net-common-tcpip.html [deleted file]
doc/html/ref/net-common-tests-and-demonstrations.html [deleted file]
doc/html/ref/net-ftpclient-features.html [deleted file]
doc/html/ref/net-ftpclient.html [deleted file]
doc/html/ref/net-httpd-chapter.html [deleted file]
doc/html/ref/net-httpd-configuration.html [deleted file]
doc/html/ref/net-httpd-html.html [deleted file]
doc/html/ref/net-httpd-monitor.html [deleted file]
doc/html/ref/net-httpd-organization.html [deleted file]
doc/html/ref/net-httpd.html [deleted file]
doc/html/ref/net-ns-dns-api.html [deleted file]
doc/html/ref/net-ns-dns.html [deleted file]
doc/html/ref/net-snmp-agent-manpages-snmpd.conf.html [deleted file]
doc/html/ref/net-snmp-clients-and-package-use.html [deleted file]
doc/html/ref/net-snmp-configuring-ecos.html [deleted file]
doc/html/ref/net-snmp-ecos-changes.html [deleted file]
doc/html/ref/net-snmp-ecos-port.html [deleted file]
doc/html/ref/net-snmp-mib-compiler.html [deleted file]
doc/html/ref/net-snmp-mibs-supported.html [deleted file]
doc/html/ref/net-snmp-package-contents.html [deleted file]
doc/html/ref/net-snmp-starting-the-snmp-agent.html [deleted file]
doc/html/ref/net-snmp-test-cases.html [deleted file]
doc/html/ref/net-snmp-unimplemented-features.html [deleted file]
doc/html/ref/net-snmp.html [deleted file]
doc/html/ref/ocelot.html [deleted file]
doc/html/ref/overview.png [deleted file]
doc/html/ref/pci-library-reference.html [deleted file]
doc/html/ref/persistent-state-flash.html [deleted file]
doc/html/ref/pid.html [deleted file]
doc/html/ref/ping-command.html [deleted file]
doc/html/ref/posix-c-language-services.html [deleted file]
doc/html/ref/posix-clocks-and-timers.html [deleted file]
doc/html/ref/posix-compatibility.html [deleted file]
doc/html/ref/posix-data-interchange-format.html [deleted file]
doc/html/ref/posix-device-and-class-specific-functions.html [deleted file]
doc/html/ref/posix-execution-scheduling.html [deleted file]
doc/html/ref/posix-files-and-directories.html [deleted file]
doc/html/ref/posix-input-and-output.html [deleted file]
doc/html/ref/posix-memory-management.html [deleted file]
doc/html/ref/posix-message-passing.html [deleted file]
doc/html/ref/posix-non-posix-functions.html [deleted file]
doc/html/ref/posix-process-environment.html [deleted file]
doc/html/ref/posix-standard-support.html [deleted file]
doc/html/ref/posix-synchronization.html [deleted file]
doc/html/ref/posix-system-databases.html [deleted file]
doc/html/ref/posix-thread-cancellation.html [deleted file]
doc/html/ref/posix-thread-management.html [deleted file]
doc/html/ref/posix-thread-specific-data.html [deleted file]
doc/html/ref/power-attached.html [deleted file]
doc/html/ref/power-change.html [deleted file]
doc/html/ref/power-controller.html [deleted file]
doc/html/ref/power-info.html [deleted file]
doc/html/ref/power-intro.html [deleted file]
doc/html/ref/power-policy.html [deleted file]
doc/html/ref/preferences.png [deleted file]
doc/html/ref/profile-functions.html [deleted file]
doc/html/ref/rebuilding-redboot.html [deleted file]
doc/html/ref/redboot-commands-and-examples.html [deleted file]
doc/html/ref/redboot-editing-commands.html [deleted file]
doc/html/ref/redboot.html [deleted file]
doc/html/ref/reset-command.html [deleted file]
doc/html/ref/resource-usage.html [deleted file]
doc/html/ref/sa1100mm.html [deleted file]
doc/html/ref/screen_main.png [deleted file]
doc/html/ref/se7709.html [deleted file]
doc/html/ref/se7751.html [deleted file]
doc/html/ref/se77x9.html [deleted file]
doc/html/ref/services-cpuload.html [deleted file]
doc/html/ref/services-crc.html [deleted file]
doc/html/ref/services-power.html [deleted file]
doc/html/ref/services-profile-gprof.html [deleted file]
doc/html/ref/simple.png [deleted file]
doc/html/ref/startup-mode.html [deleted file]
doc/html/ref/synth-console.html [deleted file]
doc/html/ref/synth-gui.html [deleted file]
doc/html/ref/synth-install.html [deleted file]
doc/html/ref/synth-io-overview.png [deleted file]
doc/html/ref/synth-new-host.html [deleted file]
doc/html/ref/synth-new-target.html [deleted file]
doc/html/ref/synth-porting.html [deleted file]
doc/html/ref/synth-running.html [deleted file]
doc/html/ref/synth-syscalls.html [deleted file]
doc/html/ref/synth.html [deleted file]
doc/html/ref/tcpip-freebsd-building-the-network-stack.html [deleted file]
doc/html/ref/tcpip-freebsd-enhanced-select.html [deleted file]
doc/html/ref/tcpip-freebsd-networking-stack-features.html [deleted file]
doc/html/ref/tcpip-freebsd-stack-port.html [deleted file]
doc/html/ref/tcpip-freebsd-tcpip-apis.html [deleted file]
doc/html/ref/tcpip-freebsd.html [deleted file]
doc/html/ref/tcpip-library-reference.html [deleted file]
doc/html/ref/tcpip-openbsd-building-the-network-stack.html [deleted file]
doc/html/ref/tcpip-openbsd-enhanced-select.html [deleted file]
doc/html/ref/tcpip-openbsd-networking-stack-features.html [deleted file]
doc/html/ref/tcpip-openbsd-stack-port.html [deleted file]
doc/html/ref/tcpip-openbsd-tcpip-apis.html [deleted file]
doc/html/ref/tcpip-openbsd.html [deleted file]
doc/html/ref/tcpip.png [deleted file]
doc/html/ref/the-ecos-hardware-abstraction-layer.html [deleted file]
doc/html/ref/updating-redboot.html [deleted file]
doc/html/ref/usbs-control.html [deleted file]
doc/html/ref/usbs-data.html [deleted file]
doc/html/ref/usbs-devtab.html [deleted file]
doc/html/ref/usbs-enum.html [deleted file]
doc/html/ref/usbs-halt.html [deleted file]
doc/html/ref/usbs-intro.html [deleted file]
doc/html/ref/usbs-start-rx.html [deleted file]
doc/html/ref/usbs-start-tx.html [deleted file]
doc/html/ref/usbs-start.html [deleted file]
doc/html/ref/usbs-testing.html [deleted file]
doc/html/ref/usbs-writing.html [deleted file]
doc/html/ref/usbseth-control.html [deleted file]
doc/html/ref/usbseth-data.html [deleted file]
doc/html/ref/usbseth-host.html [deleted file]
doc/html/ref/usbseth-init.html [deleted file]
doc/html/ref/usbseth-intro.html [deleted file]
doc/html/ref/usbseth-netdev.html [deleted file]
doc/html/ref/usbseth-protocol.html [deleted file]
doc/html/ref/user-interface.html [deleted file]
doc/html/ref/version-command.html [deleted file]
doc/html/ref/viper.html [deleted file]
doc/html/ref/vrc4375.html [deleted file]
doc/html/ref/x86pc.html [deleted file]
doc/html/user-guide/appendices.html [deleted file]
doc/html/user-guide/appendix-target-setup.html [deleted file]
doc/html/user-guide/build-tree.html [deleted file]
doc/html/user-guide/building-and-running-sample-appliations.html [deleted file]
doc/html/user-guide/building-the-system.html [deleted file]
doc/html/user-guide/cdl-component-definition-language.html [deleted file]
doc/html/user-guide/cdl-component-repository.html [deleted file]
doc/html/user-guide/cdl-concepts.html [deleted file]
doc/html/user-guide/cdl-configuration-items.html [deleted file]
doc/html/user-guide/cdl-conflicts.html [deleted file]
doc/html/user-guide/cdl-packages.html [deleted file]
doc/html/user-guide/cdl-templates.html [deleted file]
doc/html/user-guide/clocks-and-alarm-handlers.html [deleted file]
doc/html/user-guide/coarse-grained-configuration.html [deleted file]
doc/html/user-guide/compiler-and-linker-options.html [deleted file]
doc/html/user-guide/compiling-cpp-app.html [deleted file]
doc/html/user-guide/component-repo-and-working-dirs.html [deleted file]
doc/html/user-guide/config-tool-building.html [deleted file]
doc/html/user-guide/config-tool-component-repository.html [deleted file]
doc/html/user-guide/config-tool-context-help-config-items.html [deleted file]
doc/html/user-guide/config-tool-context-help-otherwin.html [deleted file]
doc/html/user-guide/config-tool-creating-a-shell.html [deleted file]
doc/html/user-guide/config-tool-customization.html [deleted file]
doc/html/user-guide/config-tool-documents.html [deleted file]
doc/html/user-guide/config-tool-getting-help.html [deleted file]
doc/html/user-guide/config-tool-getting-started.html [deleted file]
doc/html/user-guide/config-tool-invoking.html [deleted file]
doc/html/user-guide/config-tool-platform-selection.html [deleted file]
doc/html/user-guide/config-tool-screen-layout.html [deleted file]
doc/html/user-guide/config-tool-searching.html [deleted file]
doc/html/user-guide/config-tool-selecting-user-tools.html [deleted file]
doc/html/user-guide/config-tool-settings.html [deleted file]
doc/html/user-guide/config-tool-test-execution.html [deleted file]
doc/html/user-guide/config-tool-updating-configuration.html [deleted file]
doc/html/user-guide/config-tool-using-templates.html [deleted file]
doc/html/user-guide/configuration-and-the-package-repository.html [deleted file]
doc/html/user-guide/configuring-and-building-ecos-from-source.html [deleted file]
doc/html/user-guide/conflicts-and-constraints.html [deleted file]
doc/html/user-guide/connecting-target-ethernet.html [deleted file]
doc/html/user-guide/connecting-target-sim.html [deleted file]
doc/html/user-guide/connecting-target-synth.html [deleted file]
doc/html/user-guide/creating-build-tree.html [deleted file]
doc/html/user-guide/debugging-techniques.html [deleted file]
doc/html/user-guide/directory-and-file-system-conventions.html [deleted file]
doc/html/user-guide/documentation-roadmap.html [deleted file]
doc/html/user-guide/ecos-key-features.html [deleted file]
doc/html/user-guide/ecos-licensing-previous.html [deleted file]
doc/html/user-guide/ecos-licensing.html [deleted file]
doc/html/user-guide/ecos-overview.html [deleted file]
doc/html/user-guide/ecos-packages.html [deleted file]
doc/html/user-guide/ecos-programming-concepts-and-techniques.html [deleted file]
doc/html/user-guide/ecos-user-guide.html [deleted file]
doc/html/user-guide/editing-an-ecos-savefile.html [deleted file]
doc/html/user-guide/editing-the-sources.html [deleted file]
doc/html/user-guide/fine-grained-configuration.html [deleted file]
doc/html/user-guide/gnu-general-public-license.html [deleted file]
doc/html/user-guide/install-tree.html [deleted file]
doc/html/user-guide/kernel-instrumentation.html [deleted file]
doc/html/user-guide/managing-package-repository.html [deleted file]
doc/html/user-guide/manual-configuration.html [deleted file]
doc/html/user-guide/methods-of-displaying-html-help.html [deleted file]
doc/html/user-guide/modifying-the-memory-layout.html [deleted file]
doc/html/user-guide/notation-and-conventions.html [deleted file]
doc/html/user-guide/package-structure.html [deleted file]
doc/html/user-guide/pix/ARMStartup01.png [deleted file]
doc/html/user-guide/pix/BuildPackages.png [deleted file]
doc/html/user-guide/pix/Conflicts.png [deleted file]
doc/html/user-guide/pix/ToolsOptions.png [deleted file]
doc/html/user-guide/pix/addfromfolder.png [deleted file]
doc/html/user-guide/pix/addplatform.png [deleted file]
doc/html/user-guide/pix/admin.png [deleted file]
doc/html/user-guide/pix/bash.png [deleted file]
doc/html/user-guide/pix/build-lib01.png [deleted file]
doc/html/user-guide/pix/build-processalt.png [deleted file]
doc/html/user-guide/pix/build-tests01.png [deleted file]
doc/html/user-guide/pix/build-tools.png [deleted file]
doc/html/user-guide/pix/build-tools2.png [deleted file]
doc/html/user-guide/pix/buildoptions.png [deleted file]
doc/html/user-guide/pix/ch-properties-dialog.png [deleted file]
doc/html/user-guide/pix/comprepos.png [deleted file]
doc/html/user-guide/pix/config-f1.png [deleted file]
doc/html/user-guide/pix/configwin.png [deleted file]
doc/html/user-guide/pix/conflictwin.png [deleted file]
doc/html/user-guide/pix/connection.png [deleted file]
doc/html/user-guide/pix/find-dialog.png [deleted file]
doc/html/user-guide/pix/html-help.png [deleted file]
doc/html/user-guide/pix/memorywin.png [deleted file]
doc/html/user-guide/pix/memregions.png [deleted file]
doc/html/user-guide/pix/memreloc.png [deleted file]
doc/html/user-guide/pix/modifyplatform.png [deleted file]
doc/html/user-guide/pix/open-dialog.png [deleted file]
doc/html/user-guide/pix/propwin.png [deleted file]
doc/html/user-guide/pix/regprops.png [deleted file]
doc/html/user-guide/pix/repos-relocate.png [deleted file]
doc/html/user-guide/pix/run-tests.png [deleted file]
doc/html/user-guide/pix/save-as-dialog.png [deleted file]
doc/html/user-guide/pix/settings-conflict.png [deleted file]
doc/html/user-guide/pix/settings-display.png [deleted file]
doc/html/user-guide/pix/settings-runtests.png [deleted file]
doc/html/user-guide/pix/settings-viewers.png [deleted file]
doc/html/user-guide/pix/templates.png [deleted file]
doc/html/user-guide/pix/templates01.png [deleted file]
doc/html/user-guide/pix/toolsplatforms.png [deleted file]
doc/html/user-guide/pix/twothreads2.png [deleted file]
doc/html/user-guide/pix/user-tools-dialog.png [deleted file]
doc/html/user-guide/programming-with-ecos.html [deleted file]
doc/html/user-guide/real-time-characterization.html [deleted file]
doc/html/user-guide/repository-app-build-tree.html [deleted file]
doc/html/user-guide/rt-arm-assabet.html [deleted file]
doc/html/user-guide/rt-arm-brutus.html [deleted file]
doc/html/user-guide/rt-arm-ebsa285.html [deleted file]
doc/html/user-guide/rt-arm-ep7211.html [deleted file]
doc/html/user-guide/rt-arm-iq80310.html [deleted file]
doc/html/user-guide/rt-arm-pid.html [deleted file]
doc/html/user-guide/rt-at91-eb40.html [deleted file]
doc/html/user-guide/rt-i386-pc.html [deleted file]
doc/html/user-guide/rt-mn10300-stdeval1.html [deleted file]
doc/html/user-guide/rt-ppc-cogent.html [deleted file]
doc/html/user-guide/rt-ppc-mbx860.html [deleted file]
doc/html/user-guide/rt-sh-cq7708.html [deleted file]
doc/html/user-guide/rt-sh-edk7708.html [deleted file]
doc/html/user-guide/rt-sh-hs7729pci.html [deleted file]
doc/html/user-guide/rt-sh-se7751.html [deleted file]
doc/html/user-guide/rt-sparclite-sleb.html [deleted file]
doc/html/user-guide/rt-tx39-jmr3904.html [deleted file]
doc/html/user-guide/rt-tx49-ref4955.html [deleted file]
doc/html/user-guide/rt-v850-cebsa1.html [deleted file]
doc/html/user-guide/rt-v850-cebsb1.html [deleted file]
doc/html/user-guide/rt-vr4300-vrc4373.html [deleted file]
doc/html/user-guide/running-an-ecos-test-case.html [deleted file]
doc/html/user-guide/sample-twothreads.html [deleted file]
doc/html/user-guide/setup-am33-stb.html [deleted file]
doc/html/user-guide/setup-arm-aeb1.html [deleted file]
doc/html/user-guide/setup-arm-clps7111.html [deleted file]
doc/html/user-guide/setup-arm-cma230.html [deleted file]
doc/html/user-guide/setup-arm-ebsa285.html [deleted file]
doc/html/user-guide/setup-arm-ep7209.html [deleted file]
doc/html/user-guide/setup-arm-ep7211.html [deleted file]
doc/html/user-guide/setup-arm-ep7212.html [deleted file]
doc/html/user-guide/setup-arm-ep7312.html [deleted file]
doc/html/user-guide/setup-arm-ipaq.html [deleted file]
doc/html/user-guide/setup-arm-pid.html [deleted file]
doc/html/user-guide/setup-i386-pc.html [deleted file]
doc/html/user-guide/setup-mips-atlasmalta.html [deleted file]
doc/html/user-guide/setup-mn10300-sim.html [deleted file]
doc/html/user-guide/setup-ppc-cogent.html [deleted file]
doc/html/user-guide/setup-ppc-mbx860.html [deleted file]
doc/html/user-guide/setup-ppc-sim.html [deleted file]
doc/html/user-guide/setup-sh-cq7708.html [deleted file]
doc/html/user-guide/setup-sh-cq7750.html [deleted file]
doc/html/user-guide/setup-sh-edk7708.html [deleted file]
doc/html/user-guide/setup-sh-hs7729pci.html [deleted file]
doc/html/user-guide/setup-sh-se7751.html [deleted file]
doc/html/user-guide/setup-sh-se77x9.html [deleted file]
doc/html/user-guide/setup-sparclite-sim.html [deleted file]
doc/html/user-guide/setup-sparclite-sleb.html [deleted file]
doc/html/user-guide/setup-synth-i386linux.html [deleted file]
doc/html/user-guide/setup-tx39-jmr3904.html [deleted file]
doc/html/user-guide/setup-tx39-sim.html [deleted file]
doc/html/user-guide/setup-tx49-ref4955.html [deleted file]
doc/html/user-guide/setup-v850-cebsa1.html [deleted file]
doc/html/user-guide/setup-v850-cebsb1.html [deleted file]
doc/html/user-guide/setup-vr4300-vrc4373.html [deleted file]
doc/html/user-guide/setup-vr4300-vrc4375.html [deleted file]
doc/html/user-guide/testing-filters.html [deleted file]
doc/html/user-guide/the-ecos-configuration-tool.html [deleted file]
doc/html/user-guide/user-guide-installation-linux.html [deleted file]
doc/html/user-guide/user-guide-installation-requirements.html [deleted file]
doc/html/user-guide/user-guide-installation-target.html [deleted file]
doc/html/user-guide/user-guide-installation-windows.html [deleted file]
doc/html/user-guide/user-guide-installation.html [deleted file]
doc/html/user-guide/user-guide-introduction.html [deleted file]
doc/html/user-guide/user-guide-programming.html [deleted file]
doc/html/user-guide/using-commandline-testcase.html [deleted file]
doc/html/user-guide/using-configtool-windows-linux.html [deleted file]
doc/html/user-guide/using-ecosconfig-on-linux.html [deleted file]
doc/html/user-guide/version-conventions.html [deleted file]
packages/devs/eth/arm/innovator/v2_0/src/if_innovator.c [deleted file]
packages/devs/eth/arm/triton/v2_0/cdl/triton_eth_cs8900_drivers.cdl [deleted file]
packages/devs/eth/arm/triton/v2_0/cdl/triton_eth_drivers.cdl [deleted file]
packages/devs/eth/arm/triton/v2_0/include/devs_eth_cs8900a_triton.inl [deleted file]
packages/devs/eth/arm/triton/v2_0/include/devs_eth_triton.inl [deleted file]
packages/devs/eth/arm/triton270/v2_0/cdl/triton270_91c111_drivers.cdl [deleted file]
packages/devs/eth/arm/triton270/v2_0/include/devs_triton270_91c111.inl [deleted file]
packages/devs/eth/powerpc/quicc2/v2_0/src/types.h
packages/devs/eth/smsc/lan91c111/v2_0/cdl/smsc_lan91c111_eth_drivers.cdl [deleted file]
packages/devs/eth/smsc/lan91c111/v2_0/src/if_lan91c111.c [deleted file]
packages/devs/eth/smsc/lan91c111/v2_0/src/smsc_lan91c111.h [deleted file]
packages/devs/flash/arm/at91/v2_0/src/flash.h [deleted file]
packages/devs/flash/arm/at91/v2_0/src/flash_erase_block.c [deleted file]
packages/devs/flash/arm/at91/v2_0/src/flash_program_buf.c [deleted file]
packages/devs/flash/arm/at91/v2_0/src/flash_query.c [deleted file]
packages/devs/flash/arm/triton/v2_0/cdl/flash_arm_xscale_triton.cdl [deleted file]
packages/devs/flash/arm/triton/v2_0/include/triton_strataflash.inl [deleted file]
packages/devs/flash/arm/triton270/v2_0/cdl/flash_arm_xscale_triton270.cdl [deleted file]
packages/devs/flash/arm/triton270/v2_0/src/triton270_wirelessflash.c [deleted file]
packages/devs/flash/intel/28fxxx/v2_0/include/flash_28fxxx_p30.inl [deleted file]
packages/devs/flash/intel/28fxxx/v2_0/include/flash_28fxxx_w18.inl [deleted file]
packages/devs/flash/intel/bootblock/v2_0/ChangeLog [deleted file]
packages/devs/flash/intel/bootblock/v2_0/cdl/flash_intel_bootblock.cdl [deleted file]
packages/devs/flash/intel/bootblock/v2_0/src/bootblock_flash.c [deleted file]
packages/devs/flash/intel/bootblock/v2_0/src/flash.h [deleted file]
packages/devs/flash/intel/bootblock/v2_0/src/flash_erase_block.c [deleted file]
packages/devs/flash/intel/bootblock/v2_0/src/flash_program_buf.c [deleted file]
packages/devs/flash/intel/bootblock/v2_0/src/flash_query.c [deleted file]
packages/devs/flash/intel/strata/v2_0/src/flash_program_buf2.c [deleted file]
packages/devs/serial/arm/triton/v2_0/cdl/ser_arm_xscale_triton.cdl [deleted file]
packages/devs/serial/arm/triton/v2_0/include/arm_xscale_triton_ser.inl [deleted file]
packages/fs/jffs2/v2_0/cdl/jffs2.cdl
packages/fs/jffs2/v2_0/doc/README.Locking
packages/fs/jffs2/v2_0/doc/TODO
packages/fs/jffs2/v2_0/doc/TODO.eCos
packages/fs/jffs2/v2_0/include/linux/jffs2.h
packages/fs/jffs2/v2_0/include/linux/jffs2_fs_i.h
packages/fs/jffs2/v2_0/include/linux/jffs2_fs_sb.h
packages/fs/jffs2/v2_0/src/LICENCE
packages/fs/jffs2/v2_0/src/build.c
packages/fs/jffs2/v2_0/src/compr.c
packages/fs/jffs2/v2_0/src/compr.h
packages/fs/jffs2/v2_0/src/compr_rtime.c
packages/fs/jffs2/v2_0/src/compr_rubin.c
packages/fs/jffs2/v2_0/src/compr_rubin.h
packages/fs/jffs2/v2_0/src/compr_zlib.c
packages/fs/jffs2/v2_0/src/debug.c
packages/fs/jffs2/v2_0/src/debug.h
packages/fs/jffs2/v2_0/src/dir-ecos.c
packages/fs/jffs2/v2_0/src/erase.c
packages/fs/jffs2/v2_0/src/file-ecos.c [deleted file]
packages/fs/jffs2/v2_0/src/flashio.c
packages/fs/jffs2/v2_0/src/fs-ecos.c
packages/fs/jffs2/v2_0/src/gc.c
packages/fs/jffs2/v2_0/src/gcthread.c
packages/fs/jffs2/v2_0/src/jffs2port.h [deleted file]
packages/fs/jffs2/v2_0/src/malloc-ecos.c
packages/fs/jffs2/v2_0/src/nodelist.c
packages/fs/jffs2/v2_0/src/nodelist.h
packages/fs/jffs2/v2_0/src/nodemgmt.c
packages/fs/jffs2/v2_0/src/os-ecos.h
packages/fs/jffs2/v2_0/src/pushpull.h
packages/fs/jffs2/v2_0/src/read.c
packages/fs/jffs2/v2_0/src/readinode.c
packages/fs/jffs2/v2_0/src/scan.c
packages/fs/jffs2/v2_0/src/write.c
packages/fs/jffs2/v2_0/tests/fileio1.c [deleted file]
packages/fs/jffs2/v2_0/tests/romfileio1.c [deleted file]
packages/fs/ram/v2_0/tests/fileio1.c [deleted file]
packages/fs/rom/v2_0/tests/fileio1.c [deleted file]
packages/hal/arm/at91/v2_0/ChangeLog [deleted file]
packages/hal/arm/at91/v2_0/cdl/hal_arm_at91.cdl [deleted file]
packages/hal/arm/at91/v2_0/include/hal_cache.h [deleted file]
packages/hal/arm/at91/v2_0/include/hal_diag.h [deleted file]
packages/hal/arm/at91/v2_0/include/hal_platform_ints.h [deleted file]
packages/hal/arm/at91/v2_0/include/hal_platform_setup.h [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.h [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.ldi [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.mlt [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.h [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.ldi [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.mlt [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.h [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.ldi [deleted file]
packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.mlt [deleted file]
packages/hal/arm/at91/v2_0/include/plf_io.h [deleted file]
packages/hal/arm/at91/v2_0/include/plf_stub.h [deleted file]
packages/hal/arm/at91/v2_0/misc/redboot_RAM.ecm [deleted file]
packages/hal/arm/at91/v2_0/misc/redboot_ROM.ecm [deleted file]
packages/hal/arm/at91/v2_0/misc/redboot_ROMRAM.ecm [deleted file]
packages/hal/arm/at91/v2_0/src/at91_misc.c [deleted file]
packages/hal/arm/at91/v2_0/src/hal_diag.c [deleted file]
packages/hal/arm/mx37/stk5/v1_0/cdl/hal_arm_tx37.cdl [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/hal_platform_setup.h [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/karo_tx37.h [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/lo_mlt_arm_board_romram.h [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/lo_mlt_arm_board_romram.ldi [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_board_romram.mlt [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_tx37_romram.h [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/plf_io.h [deleted file]
packages/hal/arm/mx37/stk5/v1_0/include/plf_mmap.h [deleted file]
packages/hal/arm/mx37/stk5/v1_0/misc/redboot_ROMRAM.ecm [deleted file]
packages/hal/arm/mx37/stk5/v1_0/src/redboot_cmds.c [deleted file]
packages/hal/arm/mx37/stk5/v1_0/src/tx37_diag.c [deleted file]
packages/hal/arm/mx37/stk5/v1_0/src/tx37_misc.c [deleted file]
packages/hal/arm/sa11x0/ipaq/v2_0/misc/elinux.patch
packages/hal/arm/sa11x0/ipaq/v2_0/misc/toyota_fullscr.ecm [deleted file]
packages/hal/arm/sa11x0/ipaq/v2_0/misc/toyota_window.ecm [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triteco_stk1.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritetn_stk1.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritetn_stk2.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritlp32_stk2.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritlp_stk2.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triton_stk1.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triton_x.cdl [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/dprintf.c [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/hal_cache.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/hal_diag.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/hal_platform_ints.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/hal_platform_setup.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/hal_triton.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_ram.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_ram.ldi [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_rom.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_ram.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_ram.ldi [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_rom.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_rom.ldi [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_ram.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_ram.ldi [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_rom.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_rom.ldi [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/plf_io.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/plf_stub.h [deleted file]
packages/hal/arm/xscale/triton/v2_0/include/triton_1w_dev.inl [deleted file]
packages/hal/arm/xscale/triton/v2_0/src/hal_diag.c [deleted file]
packages/hal/arm/xscale/triton/v2_0/src/redboot_cmds.c [deleted file]
packages/hal/arm/xscale/triton/v2_0/src/triton_misc.c [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_32mb.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S128.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S32.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S64.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F32.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F32S32.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F64.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F64S128.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_S128F32.cdl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/hal_cache.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/hal_diag.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/hal_platform_ints.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/hal_platform_setup.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/hal_triton270.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_128s32f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_128s32f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f128s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f128s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f32s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f32s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f64s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f64s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f32s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f32s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32mb.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32mb.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f128s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f128s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32mb.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/plf_io.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/plf_stub.h [deleted file]
packages/hal/arm/xscale/triton270/v2_0/include/triton270_1w_dev.inl [deleted file]
packages/hal/arm/xscale/triton270/v2_0/src/hal_diag.c [deleted file]
packages/hal/arm/xscale/triton270/v2_0/src/hal_initio.S [deleted file]
packages/hal/arm/xscale/triton270/v2_0/src/redboot_cmds.c [deleted file]
packages/hal/arm/xscale/triton270/v2_0/src/sdcard.c [deleted file]
packages/hal/arm/xscale/triton270/v2_0/src/triton270_misc.c [deleted file]
packages/hal/h8300/arch/v2_0/src/h8300_stub.c [deleted file]
packages/hal/h8300/h8300h/v2_0/src/h8_sci.c [deleted file]
packages/hal/powerpc/adder/v2_0/misc/redboot_ROMRAM.ecm [deleted file]
packages/hal/powerpc/adder/v2_0/src/redboot_linux_exec.c [deleted file]
packages/hal/powerpc/csb281/v2_0/src/redboot_linux_exec.c [deleted file]
packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_ram.h [deleted file]
packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_ram.ldi [deleted file]
packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_rom.h [deleted file]
packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_rom.ldi [deleted file]
packages/hal/powerpc/mbx/v2_0/src/redboot_linux_exec.c [deleted file]
packages/hal/powerpc/viper/v2_0/src/redboot_linux_exec.c [deleted file]
packages/io/eth/v2_0/doc/driver_doc [deleted file]
packages/net/athttpd/v2_0/include/jim.h
packages/net/athttpd/v2_0/src/jim-aio.c
packages/net/athttpd/v2_0/src/jim.c
packages/net/common/v2_0/src/inet_pton.c
packages/net/common/v2_0/tests/linux_echo.c [deleted file]
packages/net/common/v2_0/tests/make.linux [deleted file]
packages/net/lwip_tcpip/v2_0/src/netif/ppp/chap.h
packages/net/lwip_tcpip/v2_0/src/netif/ppp/chpms.h
packages/net/lwip_tcpip/v2_0/src/netif/ppp/fsm.h
packages/net/lwip_tcpip/v2_0/src/netif/ppp/ipcp.h
packages/net/lwip_tcpip/v2_0/src/netif/ppp/lcp.h
packages/net/lwip_tcpip/v2_0/src/netif/ppp/magic.h
packages/net/lwip_tcpip/v2_0/src/netif/ppp/vj.h
packages/redboot/v2_0/misc/redboot_XXX.ecm [deleted file]
packages/redboot/v2_0/src/net/old_bootp.c [deleted file]
packages/services/compress/zlib/v2_0/src/infcodes.c [deleted file]
packages/services/compress/zlib/v2_0/src/infcodes.h [deleted file]
packages/services/gfx/mw/v2_0/src/contrib/BSD/bcopy.s
packages/services/gfx/mw/v2_0/src/drivers/gsselect_rtems.c
packages/services/gfx/mw/v2_0/src/drivers/input_rtems.c
packages/services/gfx/mw/v2_0/src/drivers/mwselect_rtems.c
packages/services/gfx/mw/v2_0/src/rtems/net_cfg.h
packages/services/gfx/mw/v2_0/src/rtems/rtems_init.c
packages/services/gfx/mw/v2_0/src/rtems/rtemscfg.h
packages/templates/all/v2_0.ect [deleted file]
packages/templates/cygmon/v2_0.ect [deleted file]
packages/templates/cygmon_no_kernel/v2_0.ect [deleted file]
packages/templates/default/v2_0.ect [deleted file]
packages/templates/kernel/v2_0.ect [deleted file]
packages/templates/minimal/v2_0.ect [deleted file]
packages/templates/net/v2_0.ect [deleted file]
packages/templates/old_net/v2_0.ect [deleted file]
packages/templates/posix/v2_0.ect [deleted file]
packages/templates/redboot/v2_0.ect [deleted file]
packages/templates/stubs/v2_0.ect [deleted file]
packages/templates/uitron/v2_0.ect [deleted file]
tools/src/tools/configtool/standalone/wxwin/aboutdlg.cpp
tools/src/tools/configtool/standalone/wxwin/aboutdlg.h
tools/src/tools/configtool/standalone/wxwin/admindlg.cpp
tools/src/tools/configtool/standalone/wxwin/admindlg.h
tools/src/tools/configtool/standalone/wxwin/appsettings.cpp
tools/src/tools/configtool/standalone/wxwin/appsettings.h
tools/src/tools/configtool/standalone/wxwin/buildoptionsdlg.cpp
tools/src/tools/configtool/standalone/wxwin/buildoptionsdlg.h
tools/src/tools/configtool/standalone/wxwin/choosereposdlg.cpp
tools/src/tools/configtool/standalone/wxwin/choosereposdlg.h
tools/src/tools/configtool/standalone/wxwin/configitem.cpp
tools/src/tools/configtool/standalone/wxwin/configitem.h
tools/src/tools/configtool/standalone/wxwin/configpropdlg.cpp
tools/src/tools/configtool/standalone/wxwin/configpropdlg.h
tools/src/tools/configtool/standalone/wxwin/configtool.cpp
tools/src/tools/configtool/standalone/wxwin/configtool.h
tools/src/tools/configtool/standalone/wxwin/configtooldoc.cpp
tools/src/tools/configtool/standalone/wxwin/configtooldoc.h
tools/src/tools/configtool/standalone/wxwin/configtoolview.cpp
tools/src/tools/configtool/standalone/wxwin/configtoolview.h
tools/src/tools/configtool/standalone/wxwin/configtree.cpp
tools/src/tools/configtool/standalone/wxwin/configtree.h
tools/src/tools/configtool/standalone/wxwin/conflictsdlg.cpp
tools/src/tools/configtool/standalone/wxwin/conflictsdlg.h
tools/src/tools/configtool/standalone/wxwin/conflictwin.cpp
tools/src/tools/configtool/standalone/wxwin/conflictwin.h
tools/src/tools/configtool/standalone/wxwin/docsystem.cpp
tools/src/tools/configtool/standalone/wxwin/ecpch.h
tools/src/tools/configtool/standalone/wxwin/ecscrolwin.cpp
tools/src/tools/configtool/standalone/wxwin/ecscrolwin.h
tools/src/tools/configtool/standalone/wxwin/finddlg.cpp
tools/src/tools/configtool/standalone/wxwin/finddlg.h
tools/src/tools/configtool/standalone/wxwin/folderdlg.cpp
tools/src/tools/configtool/standalone/wxwin/folderdlg.h
tools/src/tools/configtool/standalone/wxwin/htmlparser.cpp
tools/src/tools/configtool/standalone/wxwin/licensedlg.cpp
tools/src/tools/configtool/standalone/wxwin/licensedlg.h
tools/src/tools/configtool/standalone/wxwin/mainwin.cpp
tools/src/tools/configtool/standalone/wxwin/mainwin.h
tools/src/tools/configtool/standalone/wxwin/mltwin.cpp
tools/src/tools/configtool/standalone/wxwin/mltwin.h
tools/src/tools/configtool/standalone/wxwin/msgdlgex.cpp
tools/src/tools/configtool/standalone/wxwin/msgdlgex.h
tools/src/tools/configtool/standalone/wxwin/outputwin.cpp
tools/src/tools/configtool/standalone/wxwin/outputwin.h
tools/src/tools/configtool/standalone/wxwin/packagesdlg.cpp
tools/src/tools/configtool/standalone/wxwin/packagesdlg.h
tools/src/tools/configtool/standalone/wxwin/platformeditordlg.cpp
tools/src/tools/configtool/standalone/wxwin/platformeditordlg.h
tools/src/tools/configtool/standalone/wxwin/platformsdlg.cpp
tools/src/tools/configtool/standalone/wxwin/platformsdlg.h
tools/src/tools/configtool/standalone/wxwin/propertywin.cpp
tools/src/tools/configtool/standalone/wxwin/propertywin.h
tools/src/tools/configtool/standalone/wxwin/reposdlg.cpp
tools/src/tools/configtool/standalone/wxwin/reposdlg.h
tools/src/tools/configtool/standalone/wxwin/runtestsdlg.cpp
tools/src/tools/configtool/standalone/wxwin/runtestsdlg.h
tools/src/tools/configtool/standalone/wxwin/sectiondlg.cpp
tools/src/tools/configtool/standalone/wxwin/sectiondlg.h
tools/src/tools/configtool/standalone/wxwin/settingsdlg.cpp
tools/src/tools/configtool/standalone/wxwin/settingsdlg.h
tools/src/tools/configtool/standalone/wxwin/shortdescrwin.cpp
tools/src/tools/configtool/standalone/wxwin/shortdescrwin.h
tools/src/tools/configtool/standalone/wxwin/solutionswin.cpp
tools/src/tools/configtool/standalone/wxwin/solutionswin.h
tools/src/tools/configtool/standalone/wxwin/splittree.cpp
tools/src/tools/configtool/standalone/wxwin/splittree.h
tools/src/tools/configtool/standalone/wxwin/symbols.h
tools/src/tools/configtool/standalone/wxwin/templatesdlg.cpp
tools/src/tools/configtool/standalone/wxwin/templatesdlg.h

diff --git a/README.txt b/README.txt
deleted file mode 100644 (file)
index 7f05292..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-eCos - the Embedded Configurable Operating System - release 2.0 README
-======================================================================
-
-May 2003
-
-
-Welcome to the eCos 2.0 public net release.
-
-This README contains a list of known problems with the eCos 2.0 release.
-Please check for further issues by searching the Bugzilla database for
-product "eCos" version "2.0":
-
-  http://bugzilla.redhat.com/bugzilla/query.cgi?product=eCos
-
-If you discover new bugs with this release please report them using
-Bugzilla:
-
-  http://bugzilla.redhat.com/bugzilla/enter_bug.cgi?product=eCos
-
-
-------------------------------------------------------------------------------
-eCos 2.0 Errata
----------------
-
-* When building RedBoot for ROM startup, the following warning may be produced
-by BFD:
-
-  allocated section `.bss' is not in segment
-
-This warning is due to mishandling of overlapping segments and is harmless. A
-patch has been submitted to the binutils mailing list.
-
-* When building eCos for the 'linux' target with the 'net' template, the
-following warning is produced:
-
-  /usr/bin/ld: warning: no memory region specified for section
-  `.rel.ecos.table._Net_inits.data.0x88000001domain_routecyg_net_add_domain'
-
-This warning is harmless and may be ignored.
-
-* eCos fails to build for target 'flexanet' since the platform support has not
-been maintained with respect to the rest of the repository.
-
-* RedBoot fails to build for target 'dreamcast' since the package
-CYGPKG_FS_ISO is not present in the eCos public repository.
-
-* The eCos tests 'pselect' and 'cpuload' may fail erroneously on some eCos
-targets (false negative).
-
-* We are aware of the following issues with specific versions of the cygwin1
-DLL:
-
-  - version 1.3.19 cannot be used to configure eCos toolchains due to a
-       problem with vasprintf.
-  - version 1.3.20 causes various toolchain failures when building eCos on
-       Win95/98/ME only. We suspect this is an mmap issue.
-
-* The PSIM PowerPC simulator treats all data cache instructions as noops.
-The behaviour is benign with the exception of the dcbz instruction. It causes
-the eCos kcache2 test to fail on target 'psim'.
-
-* Register handling in the GDB stub code for the MIPS32 variant has been
-changed to supply 32 bit registers rather than 64 bit. This change allows
-use the public gcc 3.2.x compiler but will cause problems with the
-mipsisa32-elf toolchain from ftp://ftp.mips.com/pub/redhat/linux/
-
-* There are a number of minor issues with the eCos Configuration Tool:
-
-  84946 Configtool build progress bar inoperative
-  84948 Cannot add new command prefix in platform editor dialog box
-  85588 Starting help spawns xterm which doesn't disappear
-  85597 Configtool internal doc viewer issues
-  89778 Configtool platforms list is not sorted
-  90180 NT config tool configuration pane divider dragging unreliable
-
-* The eCos documentation does not describe how to invoke the Insight graphical
-debugger. Insight is invoked by specifying the "-w" switch on the GDB command
-line.
-
-* The Insight graphical debugger exhibits a lack of robustness on Win95/98/ME
-hosts. We recommend using command-line GDB on these platforms.
diff --git a/buildid.txt b/buildid.txt
deleted file mode 100644 (file)
index 9dcb88f..0000000
+++ /dev/null
@@ -1 +0,0 @@
-v2.0-20030509-0835
diff --git a/config/TRITON270_STK3.ecc b/config/TRITON270_STK3.ecc
deleted file mode 100644 (file)
index 38a0f5a..0000000
+++ /dev/null
@@ -1,7639 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3 current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.5.2
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_128S32F.ecc b/config/TRITON270_STK3_128S32F.ecc
deleted file mode 100644 (file)
index 8b961a5..0000000
+++ /dev/null
@@ -1,7638 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_128s32f ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 3
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 128 MB DRAM / 32 MB Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 32MB Flash and 128MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_128s32f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_128s32f" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_128s32f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_128s32f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_128s32f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_128s32f" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_128s32f
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_128s32f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_128s32f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 3
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_16F.ecc b/config/TRITON270_STK3_16F.ecc
deleted file mode 100644 (file)
index 38f90cc..0000000
+++ /dev/null
@@ -1,7637 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_16f ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 64 MB DRAM / 16 MB Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 16MB Flash and 64MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_16f
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    user_value 1
-    # value_source user
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    user_value 1
-    # value_source user
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_16F128S.ecc b/config/TRITON270_STK3_16F128S.ecc
deleted file mode 100644 (file)
index 8281f87..0000000
+++ /dev/null
@@ -1,7638 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_16f128s ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 128 MB SDRAM / 16 MB P30 Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 16MB Flash and 128MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f128s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f128s" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f128s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f128s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f128s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f128s" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_16f128s
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f128s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f128s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_16F32S.ecc b/config/TRITON270_STK3_16F32S.ecc
deleted file mode 100644 (file)
index 46812f9..0000000
+++ /dev/null
@@ -1,7639 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_16f32s ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 32 MB SDRAM / 16 MB P30 Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 16MB Flash and 64MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f32s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f32s" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f32s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f32s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f32s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f32s" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_16f32s
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f32s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f32s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_16F64S.ecc b/config/TRITON270_STK3_16F64S.ecc
deleted file mode 100644 (file)
index 239dccc..0000000
+++ /dev/null
@@ -1,7638 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_16f64s ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 64 MB SDRAM / 16 MB P30 Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 16MB Flash and 64MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f64s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f64s" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f64s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f64s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f64s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_16f64s" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_16f64s
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f64s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f64s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_32F.ecc b/config/TRITON270_STK3_32F.ecc
deleted file mode 100644 (file)
index 75d3346..0000000
+++ /dev/null
@@ -1,7638 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_32f ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 3
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 64 MB DRAM / 32 MB Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 32MB Flash and 64MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_32f" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_32f" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_32f
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_32f.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 3
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_32F32S.ecc b/config/TRITON270_STK3_32F32S.ecc
deleted file mode 100644 (file)
index 9370ad6..0000000
+++ /dev/null
@@ -1,7639 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_32f32s ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 32 MB DRAM (16 bit) / 32 MB P30 Flash 
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 32MB Flash and 64MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32f32s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_32f32s" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f32s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f32s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32f32s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_32f32s" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_32f32s
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f32s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f32s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_32MB.ecc b/config/TRITON270_STK3_32MB.ecc
deleted file mode 100644 (file)
index 3b8cac6..0000000
+++ /dev/null
@@ -1,7639 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_32mb ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 32 MB
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32mb" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_32mb" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32mb.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32mb.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32mb.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32mb" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_32mb" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_32mb
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32mb.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32mb.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_32mb.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_32mb.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_64F.ecc b/config/TRITON270_STK3_64F.ecc
deleted file mode 100644 (file)
index 225a71b..0000000
+++ /dev/null
@@ -1,7639 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_64f ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 64 MB DRAM / 64 MB Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 64MB Flash and 64MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_64f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_64f" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_64f" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_64f" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_64f
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_64f.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON270_STK3_64F128S.ecc b/config/TRITON270_STK3_64F128S.ecc
deleted file mode 100644 (file)
index 3c3742f..0000000
+++ /dev/null
@@ -1,7639 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton270_stk3_64f128s ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_INTEL_28FXXX current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_INTEL_28FXXX, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 2
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel FlashFile FLASH memory support
-# FLASH memory device support for Intel FlashFile
-#
-cdl_package CYGPKG_DEVS_FLASH_INTEL_28FXXX {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-    #     CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-    #     CYGINT_DEVS_FLASH_INTEL_VARIANTS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270
-    #     Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-};
-
-# >
-# Number of included variants
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_VARIANTS {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320B3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320C3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F320S3, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128W18, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_48F4000P30, active, enabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY, active, disabled
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F128P30, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     Requires:  CYGINT_DEVS_FLASH_INTEL_VARIANTS != 0 
-};
-
-# Must support buffered writes
-#
-cdl_interface CYGHWR_DEVS_FLASH_INTEL_BUFFERED_WRITES {
-    # Implemented by CYGHWR_DEVS_FLASH_INTEL_28F160S5, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Intel 28F160S5 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F160S5
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F160S5 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320B3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320B3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320B3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320C3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320C3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320C3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F320S3 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F320S3
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F320S3 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-Z4 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-Z4
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_Z4 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Sharp LH28F016SCT-95 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the Sharp LH28F016SCT-95
-# part.  Although this part is not an Intel part, the driver
-# is implemented using the same command status definitions.
-#
-cdl_option CYGHWR_DEVS_FLASH_SHARP_LH28F016SCT_95 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128W18 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128W18
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128W18 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 48F4000P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_48F4000P30 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Intel 28F256P30 flash memory support with buggy ID
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 48F4000P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F256P30_BUGGY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel 28F128P30 flash memory support
-# When this option is enabled, the Intel flash driver will be
-# able to recognize and handle the 28F128P30
-# part in the family.
-#
-cdl_option CYGHWR_DEVS_FLASH_INTEL_28F128P30 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# TRITON270 FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     CYGPKG_DEVS_FLASH_INTEL_28FXXX == current
-    #   --> 1
-};
-
-# >
-# Generic INTEL 28fxxx driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_INTEL_28FXXX
-    #     ActiveIf: CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KARO TRITON270 SK3 128 MB SDRAM / 64 MB P30 Flash
-# The KARO TRITON270 HAL package provides the support needed to run
-# eCos on a TRITON270 SK3 with 64MB Flash and 128MB DRAM.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON270 eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_64f128s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_64f128s" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f128s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f128s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 2
-    # Flavor: data
-    # Current_value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value: 2
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON270 build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON270 HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON270 tests
-# This option specifies the set of tests for the XScale TRITON270 HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_64f128s" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" :  "arm_xscale_triton270_rom_64f128s" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton270_rom_64f128s
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f128s.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f128s.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.6.1
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 2
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON_ECO_STK1.ecc b/config/TRITON_ECO_STK1.ecc
deleted file mode 100644 (file)
index 4426ce6..0000000
+++ /dev/null
@@ -1,7484 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton_eco_stk1 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1 current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # Implemented by CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_STRATA_LOCKING
-    #     ActiveIf: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel StrataFLASH memory support
-# FLASH memory device support for Intel StrataFlash
-#
-cdl_package CYGPKG_DEVS_FLASH_STRATA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-    #     CYGINT_DEVS_FLASH_STRATA_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_FLASH_STRATA
-};
-
-# >
-# Control Flash driver code copy to RAM
-# Rarely, it is useful to disable the request that flash driver code
-# be copied to separate RAM for execution.  This option lets you do that.
-# It should only be controlled by redboot_XXX.ecm config files, for
-# building different varieties of RedBoot.
-# NEVER disable this option for ROM startup code, which executes in place
-# from Flash: the build will not work.
-#
-cdl_option CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Flash device implements locking
-#
-cdl_component CYGPKG_DEVS_FLASH_STRATA_LOCKING {
-    # ActiveIf constraint: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# <
-# TRITON FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_STRATA
-    #     CYGPKG_DEVS_FLASH_STRATA == current
-    #   --> 1
-};
-
-# >
-# Generic StrataFLASH driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Karo Triton XScale evaluation boards
-# The TRITON_ECO_STK1 HAL package provides the support needed to run
-# eCos on a Karo TRITON ECO board located on a Starter Kit I.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp_roma" :  "arm_xscale_triton_lp_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 1
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port
-# The TRITON board has only one serial port.  This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON tests
-# This option specifies the set of tests for the XScale TRITON HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp_roma" :  "arm_xscale_triton_lp_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton_lp_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_lp_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.4.1a
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON_ETN_STK2.ecc b/config/TRITON_ETN_STK2.ecc
deleted file mode 100644 (file)
index 6d6b3fc..0000000
+++ /dev/null
@@ -1,7482 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton_etn_stk2 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2 current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 0
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # Implemented by CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_STRATA_LOCKING
-    #     ActiveIf: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel StrataFLASH memory support
-# FLASH memory device support for Intel StrataFlash
-#
-cdl_package CYGPKG_DEVS_FLASH_STRATA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-    #     CYGINT_DEVS_FLASH_STRATA_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_FLASH_STRATA
-};
-
-# >
-# Control Flash driver code copy to RAM
-# Rarely, it is useful to disable the request that flash driver code
-# be copied to separate RAM for execution.  This option lets you do that.
-# It should only be controlled by redboot_XXX.ecm config files, for
-# building different varieties of RedBoot.
-# NEVER disable this option for ROM startup code, which executes in place
-# from Flash: the build will not work.
-#
-cdl_option CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Flash device implements locking
-#
-cdl_component CYGPKG_DEVS_FLASH_STRATA_LOCKING {
-    # ActiveIf constraint: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# <
-# TRITON FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_STRATA
-    #     CYGPKG_DEVS_FLASH_STRATA == current
-    #   --> 1
-};
-
-# >
-# Generic StrataFLASH driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Karo Triton XScale evaluation boards
-# The TRITON_ETN_STK2 HAL package provides the support needed to run
-# eCos on a Karo TRITON ETN board located on a Starter Kit II.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" :  "arm_xscale_triton_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 1
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port
-# The TRITON board has only one serial port.  This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON tests
-# This option specifies the set of tests for the XScale TRITON HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" :  "arm_xscale_triton_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_stk_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.4.1a
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON_LP32_STK2.ecc b/config/TRITON_LP32_STK2.ecc
deleted file mode 100644 (file)
index 5c78f56..0000000
+++ /dev/null
@@ -1,7444 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton_lp32_stk2 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2 current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A current ;
-    package -hardware CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_CL_CS8900A
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # Implemented by CYGPKG_DEVS_ETH_CL_CS8900A, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# Driver for Cirrus Logic CS8900A ethernet controller.
-# Driver for Cirrus Logic CS8900A ethernet controller.
-#
-cdl_package CYGPKG_DEVS_ETH_CL_CS8900A {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
-    #     CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_ETH_CL_CS8900A
-};
-
-# >
-# Cirrus Logic ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_CL_CS8900A_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the Cirrus Logic ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_CL_CS8900A_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON CS8900A ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_CL_CS8900A
-    #     CYGPKG_DEVS_ETH_CL_CS8900A == current
-    #   --> 1
-};
-
-# >
-# CL CS8900A driver required
-#
-cdl_interface CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_CL_CS8900A
-    #     ActiveIf: CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 0
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0C, 0xC6, 0x70, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0C, 0xC6, 0x70, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # Implemented by CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_STRATA_LOCKING
-    #     ActiveIf: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel StrataFLASH memory support
-# FLASH memory device support for Intel StrataFlash
-#
-cdl_package CYGPKG_DEVS_FLASH_STRATA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-    #     CYGINT_DEVS_FLASH_STRATA_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_FLASH_STRATA
-};
-
-# >
-# Control Flash driver code copy to RAM
-# Rarely, it is useful to disable the request that flash driver code
-# be copied to separate RAM for execution.  This option lets you do that.
-# It should only be controlled by redboot_XXX.ecm config files, for
-# building different varieties of RedBoot.
-# NEVER disable this option for ROM startup code, which executes in place
-# from Flash: the build will not work.
-#
-cdl_option CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Flash device implements locking
-#
-cdl_component CYGPKG_DEVS_FLASH_STRATA_LOCKING {
-    # ActiveIf constraint: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# <
-# TRITON FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_STRATA
-    #     CYGPKG_DEVS_FLASH_STRATA == current
-    #   --> 1
-};
-
-# >
-# Generic StrataFLASH driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Karo Triton XScale evaluation boards
-# The TRITON_LP32_STK2 HAL package provides the support needed to run
-# eCos on a Karo TRITON LP/32S board located on a Starter Kit II.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp32_roma" :  "arm_xscale_triton_lp32_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp32_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp32_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp32_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp32_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_lp32_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 1
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port
-# The TRITON board has only one serial port.  This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON tests
-# This option specifies the set of tests for the XScale TRITON HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp32_roma" :  "arm_xscale_triton_lp32_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton_lp32_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp32_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp32_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp32_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp32_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_lp32_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_lp32_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.4.1a
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON_LP_STK2.ecc b/config/TRITON_LP_STK2.ecc
deleted file mode 100644 (file)
index 3d1346b..0000000
+++ /dev/null
@@ -1,7444 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton_lp_stk2 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2 current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_CL_CS8900A current ;
-    package -hardware CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_CL_CS8900A
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # Implemented by CYGPKG_DEVS_ETH_CL_CS8900A, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# Driver for Cirrus Logic CS8900A ethernet controller.
-# Driver for Cirrus Logic CS8900A ethernet controller.
-#
-cdl_package CYGPKG_DEVS_ETH_CL_CS8900A {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
-    #     CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_ETH_CL_CS8900A
-};
-
-# >
-# Cirrus Logic ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_CL_CS8900A_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the Cirrus Logic ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_CL_CS8900A_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON CS8900A ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_CL_CS8900A
-    #     CYGPKG_DEVS_ETH_CL_CS8900A == current
-    #   --> 1
-};
-
-# >
-# CL CS8900A driver required
-#
-cdl_interface CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_CL_CS8900A
-    #     ActiveIf: CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 0
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0C, 0xC6, 0x70, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0C, 0xC6, 0x70, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # Implemented by CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_STRATA_LOCKING
-    #     ActiveIf: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel StrataFLASH memory support
-# FLASH memory device support for Intel StrataFlash
-#
-cdl_package CYGPKG_DEVS_FLASH_STRATA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-    #     CYGINT_DEVS_FLASH_STRATA_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_FLASH_STRATA
-};
-
-# >
-# Control Flash driver code copy to RAM
-# Rarely, it is useful to disable the request that flash driver code
-# be copied to separate RAM for execution.  This option lets you do that.
-# It should only be controlled by redboot_XXX.ecm config files, for
-# building different varieties of RedBoot.
-# NEVER disable this option for ROM startup code, which executes in place
-# from Flash: the build will not work.
-#
-cdl_option CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Flash device implements locking
-#
-cdl_component CYGPKG_DEVS_FLASH_STRATA_LOCKING {
-    # ActiveIf constraint: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# <
-# TRITON FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_STRATA
-    #     CYGPKG_DEVS_FLASH_STRATA == current
-    #   --> 1
-};
-
-# >
-# Generic StrataFLASH driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Karo Triton XScale evaluation boards
-# The TRITON_LP_STK2 HAL package provides the support needed to run
-# eCos on a Karo TRITON LP board located on a Starter Kit II.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp_roma" :  "arm_xscale_triton_lp_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# The TRITON board has only one serial port.  This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON tests
-# This option specifies the set of tests for the XScale TRITON HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp_roma" :  "arm_xscale_triton_lp_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton_lp_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_lp_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_lp_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.4.1a
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON_STK1.ecc b/config/TRITON_STK1.ecc
deleted file mode 100644 (file)
index c98187e..0000000
+++ /dev/null
@@ -1,7485 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton_stk1 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON_STK1 current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_SMSC_LAN91C111 current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# SMSC LAN91C111 compatible ethernet driver
-# Ethernet driver for SMSC LAN91C111 compatible controllers.
-#
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    #     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-};
-
-# >
-# use 32 bit data access
-# The device driver uses 32 bit data access if
-# this option is enabled, otherwise 16 bit data access is
-# used.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# SIOCSIFHWADDR records ESA (MAC address) in EEPROM
-# The ioctl() socket call with operand SIOCSIFHWADDR sets the
-# interface hardware address - the MAC address or Ethernet Station
-# Address (ESA).  This option causes the new MAC address to be written
-# into the EEPROM associated with the interface, so that the new
-# MAC address is permanently recorded.  Doing this should be a
-# carefully chosen decision, hence this option.
-#
-cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# ESA is statically configured
-# If this is nonzero, then the ESA (MAC address) is statically
-# configured in the platform-specific package which instantiates
-# this driver with all its details.
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# LAN91C111 ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the LAN91C111 ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-O2 -D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-O2 -D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# TRITON SMC91C111 ethernet driver
-# Ethernet driver for TRITON boards.
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     CYGPKG_DEVS_ETH_SMSC_LAN91C111 == current
-    #   --> 1
-};
-
-# >
-# SMSC LAN91C111 driver required
-#
-cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    #     ActiveIf: CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-};
-
-# Device name for the ethernet driver
-# This option sets the name of the ethernet device for the
-# ethernet port.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# The ethernet station address (MAC)
-# A static ethernet station address. 
-# Caution: Booting two systems with the same MAC on the same
-# network, will cause severe conflicts.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    #     CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-    # value_source default
-    # Default value: "{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"
-};
-
-# Use the 1-WIRE device ESA (MAC address)
-# Use the ESA that is stored in the 1wire device instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Use the RedBoot ESA (MAC address)
-# Use the ESA that is stored as a RedBoot variable instead of
-# a static ESA.
-#
-cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA
-    #     ActiveIf: !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-};
-
-# <
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # Implemented by CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_STRATA_LOCKING
-    #     ActiveIf: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel StrataFLASH memory support
-# FLASH memory device support for Intel StrataFlash
-#
-cdl_package CYGPKG_DEVS_FLASH_STRATA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-    #     CYGINT_DEVS_FLASH_STRATA_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_FLASH_STRATA
-};
-
-# >
-# Control Flash driver code copy to RAM
-# Rarely, it is useful to disable the request that flash driver code
-# be copied to separate RAM for execution.  This option lets you do that.
-# It should only be controlled by redboot_XXX.ecm config files, for
-# building different varieties of RedBoot.
-# NEVER disable this option for ROM startup code, which executes in place
-# from Flash: the build will not work.
-#
-cdl_option CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Flash device implements locking
-#
-cdl_component CYGPKG_DEVS_FLASH_STRATA_LOCKING {
-    # ActiveIf constraint: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# <
-# TRITON FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_STRATA
-    #     CYGPKG_DEVS_FLASH_STRATA == current
-    #   --> 1
-};
-
-# >
-# Generic StrataFLASH driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_STK1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Karo Triton XScale evaluation boards
-# The TRITON_STK1 HAL package provides the support needed to run
-# eCos on a Karo TRITON board located on a Starter Kit I.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_STK1 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: ROM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" :  "arm_xscale_triton_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 1
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port
-# This option chooses which serial port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 1
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON tests
-# This option specifies the set of tests for the XScale TRITON HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" :  "arm_xscale_triton_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_stk_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.4.1a
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    user_value 0 255,255,255,0
-    # value_source user
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TRITON_X.ecc b/config/TRITON_X.ecc
deleted file mode 100644 (file)
index c2bc0bd..0000000
+++ /dev/null
@@ -1,6996 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    triton_x ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_XSCALE_TRITON_X current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA current ;
-    package -hardware CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON current ;
-    package CYGPKG_HAL current ;
-    package CYGPKG_INFRA current ;
-    package CYGPKG_REDBOOT current ;
-    package CYGPKG_ISOINFRA current ;
-    package CYGPKG_LIBC_STRING current ;
-    package CYGPKG_NS_DNS current ;
-    package CYGPKG_CRC current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    user_value arm-linux
-    # value_source user
-    # Default value: xscale-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    # value_source default
-    # Default value: "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# <
-# FLASH device drivers
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGPKG_IO_FLASH
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Extra memory required by FLASH device drivers
-# Use this option to control how much extra memory is used
-# by the FLASH drivers to perform certain operations. This
-# memory is used to hold driver functions in RAM (for platforms
-# which require it).  The value should thus be large enough
-# to hold any such driver.  Reducing this value will make
-# more RAM available to general programs.
-#
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00001000
-    # value_source default
-    # Default value: 0x00001000
-};
-
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_STRATA, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# This option makes the IO driver copy the device
-# driver functions to RAM before calling them. Newer
-# drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # Implemented by CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_DEVS_FLASH_STRATA_LOCKING
-    #     ActiveIf: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Intel StrataFLASH memory support
-# FLASH memory device support for Intel StrataFlash
-#
-cdl_package CYGPKG_DEVS_FLASH_STRATA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-    #     CYGINT_DEVS_FLASH_STRATA_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON
-    #     Requires: CYGPKG_DEVS_FLASH_STRATA
-};
-
-# >
-# Control Flash driver code copy to RAM
-# Rarely, it is useful to disable the request that flash driver code
-# be copied to separate RAM for execution.  This option lets you do that.
-# It should only be controlled by redboot_XXX.ecm config files, for
-# building different varieties of RedBoot.
-# NEVER disable this option for ROM startup code, which executes in place
-# from Flash: the build will not work.
-#
-cdl_option CYGOPT_DEVS_FLASH_STRATA_NOT_IN_RAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Flash device implements locking
-#
-cdl_component CYGPKG_DEVS_FLASH_STRATA_LOCKING {
-    # ActiveIf constraint: 0 < CYGHWR_IO_FLASH_BLOCK_LOCKING
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# <
-# TRITON FLASH memory support
-#
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_DEVS_FLASH_STRATA
-    #     CYGPKG_DEVS_FLASH_STRATA == current
-    #   --> 1
-};
-
-# >
-# Generic StrataFLASH driver required
-#
-cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-    # Implemented by CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_FLASH_STRATA
-    #     ActiveIf: CYGINT_DEVS_FLASH_STRATA_REQUIRED
-};
-
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 1024 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_X, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_X, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_X, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_X, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 1
-    # Flavor: bool
-    # Current value: 0
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_X, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_DISK
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # Implemented by CYGPKG_HAL_ARM_XSCALE_TRITON_X, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value XScale
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-    #   --> XScale
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 0
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 1
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Karo Triton XScale evaluation boards
-# The TRITON_X HAL package provides the support needed to run
-# eCos on a Karo TRITON X board.
-#
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_X {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Startup type
-# When targetting the KARO TRITON eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using onboard
-# debug software such as Angel or eCos GDB stubs.  Select 'rom'
-# when building a stand-alone application which will be put
-# into ROM.  Selection of 'stubs' is for the special case of
-# building the eCos GDB stubs themselves.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROM
-    # value_source user
-    # Default value: RAM
-    # Legal values: "RAM" "ROM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" :  "arm_xscale_triton_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Coexist with ARM bootloader
-# Enable this option if the ARM bootloader is programmed into
-# the FLASH boot sector on the board.
-#
-cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Flavor: data
-    user_value 2
-    # value_source user
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# This option chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # Flavor: data
-    user_value 2
-    # value_source user
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port
-# The TRITON board has only one serial port.  This option
-# chooses which port will be used for diagnostic output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # Flavor: data
-    user_value 2
-    # value_source user
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the diagnostic port.
-# Note: this should match the value chosen for the GDB port if the
-# diagnostic and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 38400
-    # value_source default
-    # Default value: 38400
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Calculated value: 100
-    # Flavor: data
-    # Current_value: 100
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: 330000
-    # Flavor: data
-    # Current_value: 330000
-};
-
-# <
-# XScale TRITON build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the XScale TRITON HAL. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# XScale TRITON tests
-# This option specifies the set of tests for the XScale TRITON HAL.
-#
-cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-    # Calculated value:  "" 
-    # Flavor: data
-    # Current_value: 
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" :  "arm_xscale_triton_rom" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: arm_xscale_triton_rom
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" :  CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" :  "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT (unknown) == 0
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_xscale_triton_stk_rom.h>
-};
-
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_option CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp
-};
-
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_XSCALE_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_option CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires:  !CYGINT_HAL_DEBUG_GDB_STUBS || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Threads debugging support
-# Enabling this option will include special code in the GDB stubs to
-# support debugging of threaded programs.  In the case of eCos programs,
-# this support allows GDB to have complete access to the eCos threads
-# in the program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 3.2
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the last N command
-# lines.  These lines may be reused.  Enabling this history will also
-# enable rudimentary editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY is not active
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is configured into
-# the Flash configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY is not active
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP connections.
-# This allows outside connections to be made to the platform, either
-# for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support various connections.
-# This option allows control over the number of such buffered packets,
-# and in turn, controls the amount of memory used by RedBoot (which
-# is not available to user applications).  Each packet buffer takes up
-# about 1514 bytes.  Note: there is little need to make this larger
-# than the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS == current
-    #   --> 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# <
-# Allow RedBoot to use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Allow RedBoot to adjust the baud rate on the serial console.
-# If this option is enabled then RedBoot will support commands to set
-# and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less than
-# five bytes are available initially so this is the minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB (unknown) == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make sure that
-# memory being used by the "load" command is in fact in user RAM.
-# Leaving the option enabled makes for a safer environment, but this
-# check may not be valid on all platforms, thus the ability to
-# disable it.  ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Minimum image size
-# This option controls the minimum length of images kept by
-# the FIS.  In particular, it should be large enough to hold
-# the RedBoot primary image itself, as well as be a natural
-# multiple of the FLASH erase block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    user_value 0x00040000
-    # value_source user
-    # Default value: 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is located
-# relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of FLASH where RedBoot
-# will never interfere; it is expected that this area contains
-# (non-RedBoot-based) POST code or some other boot monitor that
-# executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory and FLASH
-# to be used for string configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System information
-# blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Maximum number of supported disks
-# This option controls the number of disks supported by RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    user_value 1
-    # value_source user
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    user_value 4
-    # value_source user
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the value of
-# this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script timeout.
-# The value is specified in milliseconds (ms), thus to have the
-# script timeout be defined in terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# <
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM monitor-style
-# services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROM
-    #     CYG_HAL_STARTUP == ROM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a syscall handler
-# to support debugging of applications based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # This option is not active
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 0
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xa0008000
-    #   --> 0xa0008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xa0008000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xa0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot for XScale options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # Implemented by CYGPKG_NS_DNS_BUILD, active, disabled
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/ns/dns/dns.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_NS_DNS_BUILD
-    #     Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# DNS client
-# doc: ref/net-ns-dns.html
-#
-cdl_package CYGPKG_NS_DNS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: CYGPKG_NS_DNS
-};
-
-# >
-# Build DNS NS client package
-#
-cdl_option CYGPKG_NS_DNS_BUILD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_DNS_HEADER == "<cyg/ns/dns/dns.h>" 
-    #     CYGBLD_ISO_DNS_HEADER == <cyg/ns/dns/dns.h>
-    #   --> 1
-    # Requires: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD
-    #     CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD (unknown) == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_NS_DNS_DEFAULT
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_NS_DNS_DOMAINNAME
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # option CYGPKG_NS_DNS_TESTS
-    #     ActiveIf: CYGPKG_NS_DNS_BUILD
-    # component CYGPKG_REDBOOT_NETWORKING_DNS
-    #     Requires: !CYGPKG_NS_DNS_BUILD
-};
-
-# Provide a hard coded default server address
-# This option controls the use of a default, hard coded DNS 
-# server. When this is enabled, the IP address in the CDL 
-# option CYGDAT_NS_DNS_DEFAULT_SERVER is used in
-# init_all_network_interfaces() to start the resolver using 
-# the specified server. The DHCP client or user code may 
-# override this by restarting the resolver.
-#
-cdl_component CYGPKG_NS_DNS_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# IP address of the default DNS server
-#
-cdl_option CYGDAT_NS_DNS_DEFAULT_SERVER {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is not active
-    # The parent CYGPKG_NS_DNS_DEFAULT is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 192.168.1.1
-    # value_source default
-    # Default value: 192.168.1.1
-};
-
-# <
-# Provide a hard coded default domain name
-# This option controls the use of a default, hard coded
-# domain name to be used when querying a DNS server. When
-# this is enabled, the name in the CDL option
-# CYGDAT_NS_DNS_DOMAINNAME_NAME is used in
-# init_all_network_interfaces() to set the domain name as
-# accessed by getdomainname().
-#
-cdl_component CYGPKG_NS_DNS_DOMAINNAME {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Domain name for this device
-#
-cdl_option CYGDAT_NS_DNS_DOMAINNAME_NAME {
-    # This option is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is not active
-    # The parent CYGPKG_NS_DNS_DOMAINNAME is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value default.domain.com
-    # value_source default
-    # Default value: default.domain.com
-};
-
-# <
-# DNS support build options
-#
-cdl_component CYGPKG_NS_DNS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the DNS package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_NS_DNS_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Networking tests
-# This option specifies the set of tests for the DNS package.
-#
-cdl_option CYGPKG_NS_DNS_TESTS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD == 0
-    #   --> 0
-
-    # Calculated value:  "tests/dns1 tests/dns2" 
-    # Flavor: data
-    # Current_value: tests/dns1 tests/dns2
-};
-
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# <
-
diff --git a/config/TX37_1.ecc b/config/TX37_1.ecc
deleted file mode 100644 (file)
index 004a822..0000000
+++ /dev/null
@@ -1,9427 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    mx37_stk5 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -template CYGPKG_HAL current ;
-    package -template CYGPKG_INFRA current ;
-    package -template CYGPKG_REDBOOT current ;
-    package -template CYGPKG_ISOINFRA current ;
-    package -template CYGPKG_LIBC_STRING current ;
-    package -template CYGPKG_CRC current ;
-    package -hardware CYGPKG_HAL_ARM_MX37 current ;
-    package -hardware CYGPKG_HAL_ARM_MX37_STK5 v1_0 ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_COMPRESS_ZLIB current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
-    package CYGPKG_MEMALLOC current ;
-    package CYGPKG_LIBC_I18N current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == <cyg/libc/string/bsdstring.h>
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strdup
-# This option indicates whether strdup() is to be supported.
-#
-cdl_option CYGFUN_LIBC_STRING_STRDUP {
-    # ActiveIf constraint: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value arm-elf
-    # value_source default
-    # Default value: arm-elf
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    user_value "-mcpu=arm9 -Wall -Werror -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-    # value_source user
-    # Default value: "-mcpu=arm9 -Wall  -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib"
-};
-
-# Build GDB stub ROM image
-# This option enables the building of the GDB stubs for the
-# board. The common HAL controls takes care of most of the
-# build process, but the final conversion from ELF image to
-# binary data is handled by the platform CDL, allowing
-# relocation of the data if necessary.
-#
-cdl_option CYGBLD_BUILD_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-    # Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     CYGBLD_BUILD_COMMON_GDB_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGBLD_BUILD_COMMON_GDB_STUBS
-};
-
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Network drivers
-#
-cdl_interface CYGHWR_NET_DRIVERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-    # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-};
-
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# ISO C library internationalization functions
-# doc: ref/libc.html
-# This package provides internationalization functions specified by the
-# ISO C standard - ISO/IEC 9899:1990. These include locale-related
-# functionality and <ctype.h> functionality.
-#
-cdl_package CYGPKG_LIBC_I18N {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Supported locales
-# These options determine which locales other than the "C" locale
-# are supported and hence contribute to the size of the executable.
-#
-cdl_component CYGPKG_LIBC_I18N_LOCALES {
-    # There is no associated value.
-};
-
-# >
-# Support for multiple locales required
-#
-cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED {
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-    #     CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-};
-
-# C-SJIS locale support
-# This option controls if the "C-SJIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese SJIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-JIS locale support
-# This option controls if the "C-JIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese JIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-EUCJP locale support
-# This option controls if the "C-EUCJP" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese EUCJP multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# <
-# Newlib's ctype implementation
-# This option enables the implementation of the ctype functions
-# that comes with newlib. It is table driven and therefore
-# exhibits different performance characteristics. It also offers
-# a limited amount of binary compatibility
-# with newlib so that programs linked against newlib ctype/locale
-# do not need to be recompiled when linked with eCos.
-#
-cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 0
-};
-
-# Per-thread multibyte state
-# This option controls whether the multibyte character
-# handling functions mblen(), mbtowc(), and wctomb(),
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Enabling this option will use three slots
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGVAR_KERNEL_THREADS_DATA != 0 
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Size of locale name strings
-# This option controls the maximum size of
-# locale names and is used, among other things
-# to instantiate a static string used
-# as a return value from the
-# setlocale() function. When requesting the
-# current locale settings with LC_ALL, a string
-# must be constructed to contain this data, rather
-# than just returning a constant string. This
-# string data is stored in the static string.
-# This depends on the length of locale names,
-# hence this option. If just the C locale is
-# present, this option can be set as low as 2.
-#
-cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-    #   --> 2
-    # Legal values:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-};
-
-# Inline versions of <ctype.h> functions
-# This option chooses whether the simple character
-# classification and conversion functions (e.g.
-# isupper(), isalpha(), toupper(), etc.)
-# from <ctype.h> are available as inline
-# functions. This may improve performance and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 1
-};
-
-# C library i18n functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_I18N_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library i18n function tests
-# This option specifies the set of tests for the C library
-# i18n functions.
-#
-cdl_option CYGPKG_LIBC_I18N_TESTS {
-    # Calculated value:  "tests/ctype tests/setlocale tests/i18nmb" 
-    # Flavor: data
-    # Current_value: tests/ctype tests/setlocale tests/i18nmb
-};
-
-# <
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # This option is not active
-    # The parent CYGDBG_HAL_DIAG_TO_DEBUG_CHAN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_REDBOOT
-    #     Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 128 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_MX37_STK5, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_MX37_STK5, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# Location of CRC32 table
-# The stubs use a 1 kilobyte CRC table that can either be pregenerated
-# and placed in ROM, or generated at runtime in RAM. Depending on
-# your memory constraints, one of these options may be better.
-#
-cdl_option CYGDBG_HAL_CRCTABLE_LOCATION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value RAM
-    # value_source default
-    # Default value: RAM
-    # Legal values: "ROM" "RAM"
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_MX37_STK5, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_MX37, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 0
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the board, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_DISK_IDE
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # Implemented by CYGPKG_HAL_ARM_MX37, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ARM9
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-    #   --> ARM9
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 1
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Accept exceptions and irq's occurring in user mode
-# For standalone Redboot based programs running in user mode.
-#
-cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Preserve svc spsr before returning to svc mode
-# This option secures exception and breakpoint processing
-# triggered during execution of application specific SWI
-# handlers.
-#
-cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Freescale SoC architecture
-# This HAL variant package provides generic
-# support for the Freescale SoC. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM_MX37 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-};
-
-# >
-# Processor clock rate
-# The processor can run at various frequencies.
-# These values are expressed in KHz.  Note that there are
-# several steppings of the rated to run at different
-# maximum frequencies.  Check the specs to make sure that your
-# particular processor can run at the rate you select here.
-#
-cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK {
-    # This option is not active
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 150000
-    # value_source default
-    # Default value:  CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ?
-    #                             CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 150000
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #   --> 150000
-    # Legal values: 150000 200000
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-# This option selects the heartbeat rate for the real-time clock.
-# The rate is specified in ticks per second.  Change this value
-# with caution - too high and your system will become saturated
-# just handling clock interrupts, too low and some operations
-# such as thread scheduling may become sluggish.
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_RTC_PERIOD
-    #     Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-    #     CYGNUM_HAL_RTC_DENOMINATOR == 100
-    # Flavor: data
-    # Current_value: 36864
-};
-
-# <
-# UART1 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART1 {
-    # Implemented by CYGPKG_HAL_ARM_MX37_STK5, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART2 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART2 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# UART3 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART3 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# UART4 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART4 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# UART5 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART5 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# KaRo electronics board
-# This HAL platform package provides generic
-# support for the Ka-Ro TX37 module on a STK5 base board.
-#
-cdl_package CYGPKG_HAL_ARM_MX37_STK5 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 v1_0
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MMC_ESDHC
-    #     ActiveIf:  CYGPKG_HAL_ARM_MX37_3STACK || CYGPKG_HAL_ARM_MX37_STK5 || CYGPKG_HAL_ARM_MX35_3STACK || CYGPKG_HAL_ARM_MX25_3STACK ||  CYGPKG_HAL_ARM_MX51
-};
-
-# >
-# Startup type
-# When targetting the eval board it is possible to build
-# the system for either RAM bootstrap or ROM bootstrap(s). Select
-# 'ram' when building programs to load into RAM using eCos GDB
-# stubs.  Select 'rom' when building a stand-alone application
-# which will be put into ROM, or for the special case of
-# building the eCos GDB stubs themselves. Using ROMRAM will allow
-# the program to exist in ROM, but be copied to RAM during startup.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROMRAM
-    # value_source user
-    # Default value: ROM
-    # Legal values: "RAM" "ROM" "ROMRAM"
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_GDB_STUBS
-    #     Requires:  CYG_HAL_STARTUP == "ROM" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "arm_board_ram" :
-    #                          (CYG_HAL_STARTUP == "ROMRAM") ? "arm_board_romram" :
-    #                                                       "arm_board_rom" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "arm_board_ram" :
-    #                          (CYG_HAL_STARTUP == "ROMRAM") ? "arm_board_romram" :
-    #                                                       "arm_board_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx37_ram.ldi>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.ldi>" :
-    #                                                              "<pkgconf/mlt_arm_tx37_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx37_ram.ldi>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.ldi>" :
-    #                                                              "<pkgconf/mlt_arm_tx37_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx37_ram.h>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.h>" :
-    #                                                              "<pkgconf/mlt_arm_tx37_rom.h>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx37_ram.h>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.h>" :
-    #                                                              "<pkgconf/mlt_arm_tx37_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" 
-};
-
-# ST16552 UARTA available as diagnostic/debug channel
-# The board has a ST16552 DUART chip. This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_DUART_UARTA {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# ST16552 UARTB available as diagnostic/debug channel
-# The board has a ST16552 DUART chip. This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_DUART_UARTB {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the console port.
-# Note: this should match the value chosen for the GDB port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-# Note: this should match the value chosen for the console port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Number of communication channels on the board
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# The board has three serial ports. This option
-# chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-};
-
-# Console serial port
-# The board has only three serial ports.  This option
-# chooses which port will be used for console output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0
-    #   --> 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Ka-Ro TX37 Board build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_BOARD_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the board HAL. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_BOARD_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the board HAL. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_BOARD_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  (CYG_HAL_STARTUP == "RAM")    ? "arm_board_ram" :
-    #                          (CYG_HAL_STARTUP == "ROMRAM") ? "arm_board_romram" :
-    #                                                       "arm_board_rom" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    # Flavor: data
-    # Current_value: arm_board_romram
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx37_ram.ldi>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.ldi>" :
-    #                                                              "<pkgconf/mlt_arm_tx37_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx37_romram.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx37_ram.h>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.h>" :
-    #                                                              "<pkgconf/mlt_arm_tx37_rom.h>" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx37_romram.h>
-};
-
-# <
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD
-    #     ActiveIf: CYGPKG_INFRA_DEBUG
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     Requires: CYGDBG_USE_ASSERTS
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     DefaultValue:  0 != CYGDBG_USE_ASSERTS 
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Threshold for valid number of delete calls
-# Some users don't know about the empty delete function and then
-# wonder why their C++ classes are leaking memory. If
-# INFRA_DEBUG is enabled we keep a counter for the number of
-# times delete is called. If it goes above this threshold we throw
-# an assertion failure. This should point heavy users of
-# delete in the right direction without upsetting those who want
-# an empty delete function. 
-#
-cdl_option CYGNUM_INFRA_EMPTY_DELETE_THRESHOLD {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_INFRA_DEBUG
-    #     CYGPKG_INFRA_DEBUG == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Reset platform at end of test case execution
-# If this option is set then test case programs will reset the platform
-# when they terminate, as opposed to the default which is to just hang
-# in a loop.
-#
-cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -Wall -Werror -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-    #   --> 1
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -Wall -Werror -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_component CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2
-};
-
-# >
-# Number of times a test runs
-# This option controls the number of times tests will execute their
-# basic function.  Not all tests will honor this setting, but those
-# that do will execute the test N times before terminating.  A value
-# less than 0 indicates to run forever.
-#
-cdl_option CYGNUM_TESTS_RUN_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-    #     CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_BOARD_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_component CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use the virtual address in the ELF headers
-# The ELF headers contain both a virtual and a physical address
-# for where code/data should be loaded. By default the physical
-# address is used but sometimes it is necassary to use the
-# virtual address because of bugy toolchains
-#
-cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Include GDB support in RedBoot
-# RedBoot normally includes support for the GDB debugging
-# protocols. This option allows this to be disabled which
-# may yield a substantial savings in terms of code and memory 
-# usage by RedBoot.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 0
-    #   --> 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 0
-    #   --> 0
-};
-
-# Threads debugging support
-# Enabling this option will include special code in the
-# GDB stubs to support debugging of threaded programs.  In
-# the case of eCos programs, this support allows GDB to
-# have complete access to the eCos threads in the
-# program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 "Ka-Ro Wed Feb 11 13:14:19 CET 2009"
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the
-# last N command lines.  These lines may be reused.
-# Enabling this history will also enable rudimentary
-# editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES
-    #     ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    # option CYGBLD_REDBOOT_CMD_LINE_HISTORY
-    #     Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-};
-
-# Enable command line editing using ANSI arrows, etc
-# If this option is enabled, RedBoot will accept standard ANSI key
-# sequences for cursor movement (along with the emacs style keys).
-#
-cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES {
-    # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Enable history command and expansion
-# Enabling this option will allow RedBoot to provide a
-# history command to list previous commands. Also enables
-# history expansion via '!'  character similar to bash
-# shell.
-#
-cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-};
-
-# Number of unique RAM segments on platform
-# Change this option to be the number of memory segments which are
-# supported by the platform.  If the value is greater than 1, then
-# a platform specific function must provide information about the
-# additional segments.
-#
-cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# >
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less 
-# than five bytes are available initially so this is the 
-# minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Support compression of Flash images
-# This CDL indicates whether flash images can
-# be decompressed from gzip/zlib format into RAM.
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-    # ActiveIf constraint:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #     CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Include GZIP uncompress command
-# Enable this option to include a 'gunzip' command 
-# to uncompress GZIP compressed data.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Turn on CYGPRI_REDBOOT_ZLIB_FLASH
-# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-};
-
-# <
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow the load-command write into Flash.
-# Write images direct to Flash via the load command.
-# We assume anything which is invalid RAM is flash, hence
-# the requires statement
-#
-cdl_option CYGBLD_REDBOOT_LOAD_INTO_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
-    #     CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS == 1
-    #   --> 1
-};
-
-# Include support for MXC USB downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include support for i.MX USB OTG downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IMXOTG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory copy command
-# doc: ref/mcopy-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Include I/O Memory commands 'iopeek' and 'iopoke'
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Granularity of timer/ticks
-# This option controls the granularity of the timers.
-# Faster CPUs can afford higher granularity (lower values)
-# which should give higher network performance since the stack
-# is purely polled.
-#
-cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
-    # Flavor: data
-    user_value 50
-    # value_source user
-    # Default value: 250
-    # Legal values:  10 25 50 100 250 500 1000 
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored 
-# in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support TFTP for download
-# This option enables the use of the TFTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if
-# a BOOTP/DHCP server does not respond. The numbers
-# should be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default bootp server
-# This IP address is the default server
-# address used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should
-# be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in
-# preference.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    #     Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-    #     CYGSEM_REDBOOT_NETWORKING_DHCP == 1
-    #   --> 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot
-# if a BOOTP/DHCP server does not respond. The
-# numbers should be separated by *commas*, and
-# not dots. If an IP address is configured into
-# the Flash configuration, that will be used in
-# preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by
-# RedBoot if a BOOTP/DHCP server does not
-# respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is
-# configured into the Flash configuration, that
-# will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP 
-# connections. This allows outside connections to be made 
-# to the platform, either for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support
-# various connections.  This option allows control
-# over the number of such buffered packets, and in
-# turn, controls the amount of memory used by RedBoot
-# (which is not available to user applications).
-# Each packet buffer takes up about 1514 bytes.
-# Note: there is little need to make this larger than
-# the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD (unknown) == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Support the use of a domain name
-# This option controls if Redboot supports domain
-# names when performing DNS lookups
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Default DNS domain
-# This option sets the default DNS domain name.
-# This value will be overwritten by the value in
-# flash or a domain returned by DHCP
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DEFAULT_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Get DNS domain from Flash
-# This option enables getting the domain name 
-# from the flash configuration. This can later be 
-# overwritten by a value learnt from DHCP
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-    # ActiveIf constraint: CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Use DNS domain from DHCP
-# This option enables the use of the domain name
-# returned by DHCP.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_DHCP_DOMAIN {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# BOOTP/DHCP DNS domain buffer size
-# This options sets the size of the static
-# buffer used by BOOTP/DHCP to store the DNS
-# domain name. The domain name will not be
-# set if the buffer is too small to hold it.
-#
-cdl_option CYGNUM_REDBOOT_NETWORK_DNS_DOMAIN_BUFSIZE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS_WITH_DOMAIN is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# <
-# <
-# Default network device driver
-# This is the name of the default network device to use.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"\""
-    # value_source default
-    # Default value: "\"\""
-};
-
-# Initialize only one net device
-# This option tells RedBoot to stop initializing network
-# devices when it finds the first device which is
-# successfully initialized. The default behavior causes
-# all network devices to be initialized.
-#
-cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Let RedBoot use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Let RedBoot adjust the baud rate of the serial console.
-# If this option is enabled then RedBoot will support commands 
-# to set and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Run a platform specific startup function.
-# If this option is enabled then RedBoot will execute a platform
-# specific startup function before entering into its command line
-# processing.  This allows the platform to perform any special
-# setups before RedBoot actually starts running.  Note: the entire
-# RedBoot environment will already be initialized at this point.
-#
-cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Run a platform specific ESA validation function.
-# If this option is enabled then RedBoot will execute a platform
-# specific function to validate an ethernet ESA.  This would be
-# useful if the address must conform to standards set by the
-# hardware manufacturer, etc.
-#
-cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 512
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make
-# sure that memory being used by the "load" command is
-# in fact in user RAM.  Leaving the option enabled makes
-# for a safer environment, but this check may not be valid
-# on all platforms, thus the ability to disable it.  
-# ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_REDBOOT_LOAD_INTO_FLASH
-    #     Requires: CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-    # option CYGBLD_REDBOOT_LOAD_INTO_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-};
-
-# >
-# Byte order used to store info in flash.
-# This option controls the byte ordering used to store
-# the FIS directory info and flash config info.
-#
-cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value NATURAL
-    # value_source default
-    # Default value: NATURAL
-    # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Max number of chunks of free space to manage
-# If this option is defined then "fis free" will
-# rely on the FIS directory to determine what space is
-# free within the FLASH.  This option controls the
-# maximum number of free segment which can be handled
-# (typically this number is small).  If this option is
-# not enabled, the the archaic behaviour of actually
-# scanning the FLASH for erased sectors (unreliable)
-# will be used to determine what's free and what's
-# not.
-#
-cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 32
-    # value_source default
-    # Default value: 1 32
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory
-# information. Positive numbers are absolute block
-# numbers.  Negative block numbers count backwards
-# from the last block.  eg 2 means block 2, -2
-# means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # The inferred value should not be edited directly.
-    inferred_value 2
-    # value_source inferred
-    # Default value: -1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-};
-
-# Redundant Flash Image System Directory Support
-# This option enables the use of a redundant FIS
-# directory within RedBoot.  If enabled a flash block
-# will be reserved for a second copy of the fis
-# directory. Doing this allow for power failure safe
-# updates of the directory by the application.
-#
-cdl_component CYGOPT_REDBOOT_REDUNDANT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG 
-    #     CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG == 1
-    #   --> 0
-};
-
-# >
-# Flash block containing the backup Directory
-# Which block of flash should hold the redundant
-# directory information. Positive numbers are
-# absolute block numbers. Negative block numbers
-# count backwards from the last block. eg 2 means
-# block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_REDUNDANT_FIS is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -3
-    # value_source default
-    # Default value: -3
-    # Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-    #     CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK == 0
-    #     CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDUNDANT_DIRECTORY_BLOCK !=
-    #                                        CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK 
-};
-
-# <
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-    # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE
-    #     DefaultValue:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# Number of FIS directory entries
-# The FIS directory normally occupies a single flash
-# sector. Adjusting this value can allow for more than
-# one flash sector to be used, which is useful if your
-# sectors are very small.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Maximum RedBoot image size
-# This option controls the maximum length reserved
-# for the RedBoot boot image in the FIS table.
-# This should be a multiple of the flash's erase
-# block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00020000
-    # The inferred value should not be edited directly.
-    inferred_value 0x00040000
-    # value_source inferred
-    # Default value:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is 
-# located relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of
-# FLASH where RedBoot will never interfere; it is
-# expected that this area contains
-# (non-RedBoot-based) POST code or some other boot
-# monitor that executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System 
-# information blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGPKG_IO_FLASH != 0 
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_FCONFIG_DOMAIN
-    #     ActiveIf: CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Style of media used for persistent data storage
-# Persistent data storage can either be held in 'norma' FLASH
-# or some other device (represented by the 'EEPROM' choice).
-# The different styles utilize different access methods.
-#
-cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value FLASH
-    # value_source default
-    # Default value: FLASH
-    # Legal values:  "FLASH" "EEPROM" 
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK
-    #     DefaultValue:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGOPT_REDBOOT_FIS == 1
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_REDUNDANT_FIS
-    #     Requires:  0 == CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG 
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory
-# and FLASH to be used for string configuration
-# options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and 
-# FLASH to be used for configuration options (persistent 
-# storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 512
-    # value_source default
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-};
-
-# <
-# Allow RedBoot to support fileio
-# If this option is enabled then RedBoot will provide commands
-# to load files from fileio file systems such as JFFS2.
-#
-cdl_component CYGPKG_REDBOOT_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO_FILEIO
-    #     CYGPKG_IO_FILEIO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_GETC_BUFFER
-    #     DefaultValue:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-};
-
-# >
-# Include an ls command
-# If this option is enabled a simple ls command will be
-# included in redboot so the contents of a directory
-# can be listed
-#
-cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_FILEIO is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Include Redboot commands for disk access
-#
-cdl_option CYGSEM_REDBOOT_DISK {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-    #     CYGINT_REDBOOT_DISK_DRIVERS == 0
-    #   --> 0
-};
-
-# Hardware drivers for disk-type devices
-#
-cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
-    # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_DISK
-    #     DefaultValue:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-};
-
-# Maximum number of supported disks
-# This option controls the number of disks supported by 
-# RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported 
-# partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Work with VMware virtual disks
-# This option controls the disk driver behavior at 
-# ide-init
-#
-cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_DISK_IDE is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support EXT2 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_DISK is disabled
-
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the 
-# value of this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script
-# timeout.  The value is specified in milliseconds
-# (ms), thus to have the script timeout be defined in
-# terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1000
-    # value_source default
-    # Default value: 1000
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# Support RTC for time & date functions
-# When this option is enabled, RedBoot will support commands to
-# query and set the real time clock (time and date)
-#
-cdl_option CYGSEM_REDBOOT_RTC {
-    # This option is not active
-    # ActiveIf constraint:  CYGPKG_IO_WALLCLOCK 
-    #     CYGPKG_IO_WALLCLOCK (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM 
-# monitor-style services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a
-# syscall handler to support debugging of applications
-# based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# Do not raise SIGTRAP when program exits
-# For some (single shot) newlib based programs,
-# exiting and returning a termination status may be
-# the normal expected behavior.
-#
-cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# Buffer size in getc when loading images
-# When loading images a buffer is used between redboot and the
-# underlying storage medium, eg a filesystem, or a socket etc.
-# The size of this buffer can have a big impart on load speed.
-#
-cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-    #     CYGPKG_REDBOOT_FILEIO == 0
-    #   --> 256
-};
-
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Enable -x switch for exec command.
-# This option allows bi-endian platforms to launch kernels
-# built for an endianess different than the RedBoot endianess
-#
-cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x40008000
-    # value_source default
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x40008000
-    #   --> 0x40008000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00008000
-    # The inferred value should not be edited directly.
-    inferred_value 0x40008000
-    # value_source inferred
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    # component CYGPKG_REDBOOT_HAL_BOARD_OPTIONS
-    #     Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x40008000 
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0x40000100
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Redboot HAL variant options
-#
-cdl_component CYGPKG_REDBOOT_HAL_BOARD_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-    # Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x40008000 
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x40008000
-    #   --> 1
-};
-
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     DefaultValue:  0 != CYGPKG_ISOINFRA 
-    # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS
-    #     ActiveIf: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_I18N
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_LIBC_I18N_NEWLIB_CTYPE
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    # option CYGIMP_LIBC_I18N_CTYPE_INLINES
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FILEACCESS
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FORMATTED_IO
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STDIO_FILEPOS
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGFUN_LIBC_STRING_STRDUP
-    #     ActiveIf: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_LIBC_I18N_MB_REQUIRED
-    #     Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_COMPRESS_ZLIB_GZIO
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# fnmatch implementation header
-#
-cdl_option CYGBLD_ISO_FNMATCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_CRC
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# Zlib compress and decompress package
-# This package provides support for compression and
-# decompression.
-#
-cdl_package CYGPKG_COMPRESS_ZLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_CRC
-    #     CYGPKG_CRC == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB
-    #     ActiveIf: CYGPKG_COMPRESS_ZLIB
-};
-
-# >
-# Override memory allocation routines.
-#
-cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     ActiveIf:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-};
-
-# Should deflate() produce 'gzip' compatible output?
-# If this option is set then the output of calling deflate()
-# will be wrapped up as a 'gzip' compatible file.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does this library need malloc?
-# This pseudo-option will force the memalloc library to be
-# required iff the application does not provide it's own
-# infrastructure.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-    #     CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_MEMALLOC
-    #     CYGPKG_MEMALLOC == current
-    #   --> 1
-};
-
-# Include stdio-like utility functions
-# This option enables the stdio-like zlib utility functions
-# (gzread/gzwrite and friends) provided in gzio.c.
-#
-cdl_option CYGFUN_COMPRESS_ZLIB_GZIO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGPKG_LIBC_STDIO_OPEN ? 1 : 0 
-    #     CYGPKG_LIBC_STDIO_OPEN (unknown) == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STDIO_FILEPOS
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STDIO_FORMATTED_IO
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_STDIO_FILEACCESS
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 0
-};
-
-# Zlib compress and decompress package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_COMPRESS_ZLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D__ECOS__ -DNO_ERRNO_H"
-    # value_source default
-    # Default value: "-D__ECOS__ -DNO_ERRNO_H"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wstrict-prototypes
-    # value_source default
-    # Default value: -Wstrict-prototypes
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# zlib tests
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_TESTS {
-    # Calculated value:  "tests/zlib1.c tests/zlib2.c" 
-    # Flavor: data
-    # Current_value: tests/zlib1.c tests/zlib2.c
-};
-
-# <
-# FLASH device drivers
-# doc: ref/flash.html
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_FLASH_CONFIG
-    #     DefaultValue:  CYGPKG_IO_FLASH != 0 
-    # package CYGPKG_DEVS_FLASH_ONMXC
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# Use of this interface is deprecated.
-# Drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Hardware cannot support direct access to FLASH memory
-# This option will be asserted by devices which cannot support
-# direct access to the FLASH memory contents (e.g. EEPROM or NAND
-# devices).  In these cases, the driver must provide an appropriate
-# hardware access function.
-#
-cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-    #     CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    # component CYGHWR_DEVS_FLASH_MMC
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MMC_ESDHC
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MMC_SD
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_NAND
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-};
-
-# Display status messages during flash operations
-# Selecting this option will cause the drivers to print status
-# messages as various flash operations are undertaken.
-#
-cdl_option CYGSEM_IO_FLASH_CHATTER {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_FLASH_READ_INDIRECT
-    #     Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-#
-cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 {
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     CYGINT_IO_FLASH_BLOCK_CFG_1 == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-};
-
-# Static configuration
-# This configures the flash device 1 block device
-# with static base and length
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# Configuration from FIS
-# This configures the flash device 1 block device
-# from Redboot FIS
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of FIS entry
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"jffs2\""
-    # value_source default
-    # Default value: "\"jffs2\""
-};
-
-# <
-# <
-# <
-# Flash device driver build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_IO_FLASH_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Flash device driver tests
-# This option specifies the set of tests for the flash device drivers.
-#
-cdl_component CYGPKG_IO_FLASH_TESTS {
-    # Calculated value:  "tests/flash1" 
-    # Flavor: data
-    # Current_value: tests/flash1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash where tests
-# can be run.  It is important to set this correctly, as an
-# incorrect value could allow the tests to write over critical
-# portions of the FLASH device and possibly render the target
-# board totally non-functional.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash used for testing.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Support FLASH memory on Freescale MXC platforms
-#
-cdl_package CYGPKG_DEVS_FLASH_ONMXC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC platform MMC card support
-# When this option is enabled, it indicates MMC card is
-# supported on the MXC platforms
-#
-cdl_component CYGHWR_DEVS_FLASH_MMC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-};
-
-# >
-# MXC platform MMC card for newer SDHC controllers
-#
-cdl_option CYGHWR_DEVS_FLASH_MMC_ESDHC {
-    # This option is not active
-    # The parent CYGHWR_DEVS_FLASH_MMC is disabled
-    # ActiveIf constraint:  CYGPKG_HAL_ARM_MX37_3STACK || CYGPKG_HAL_ARM_MX37_STK5 || CYGPKG_HAL_ARM_MX35_3STACK || CYGPKG_HAL_ARM_MX25_3STACK ||  CYGPKG_HAL_ARM_MX51
-    #     CYGPKG_HAL_ARM_MX37_3STACK (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX37_STK5 == v1_0
-    #     CYGPKG_HAL_ARM_MX35_3STACK (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX25_3STACK (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX51 (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-};
-
-# MXC platform MMC card for older MMC/SD controllers
-#
-cdl_option CYGHWR_DEVS_FLASH_MMC_SD {
-    # This option is not active
-    # The parent CYGHWR_DEVS_FLASH_MMC is disabled
-    # ActiveIf constraint:  CYGPKG_HAL_ARM_MX31_3STACK || CYGPKG_HAL_ARM_MX31ADS 
-    #     CYGPKG_HAL_ARM_MX31_3STACK (unknown) == 0
-    #     CYGPKG_HAL_ARM_MX31ADS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-};
-
-# <
-# MXC platform NOR flash memory support
-# When this option is enabled, it indicates NOR flash is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_IMX_SPI_NOR
-    #     Requires:  CYGHWR_DEVS_FLASH_MXC_NOR == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-};
-
-# MXC platform NAND flash memory support
-# When this option is enabled, it indicates NAND flash is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND
-};
-
-# i.MX platform SPI NOR flash memory support
-# When this option is enabled, it indicates SPI NOR flash is
-# supported on the i.MX platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_IMX_SPI_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGHWR_DEVS_FLASH_MXC_NOR == 1 
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #   --> 0
-};
-
-# MXC platform ATA support
-# When this option is enabled, it indicates ATA is
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_ATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# MXC platform multi flash memory support
-# When this option is enabled, it indicates multi flashes are
-# supported on the MXC platforms (like NAND and NOR)
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI {
-    # This option is not active
-    # ActiveIf constraint: (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MMC) ||
-    #                            (CYGHWR_DEVS_FLASH_MXC_NOR && CYGHWR_DEVS_FLASH_MMC)
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MMC == 0
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #     CYGHWR_DEVS_FLASH_MMC == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# MXC platform NAND flash reset workaround support
-# When this option is enabled, it indicates 0xFFFF is used for
-# the NAND reset command instead of 0xFF.
-#
-cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# <
-# <
-# Dynamic memory allocation
-# doc: ref/memalloc.html
-# This package provides memory allocator infrastructure required for
-# dynamic memory allocators, including the ISO standard malloc
-# interface. It also contains some sample implementations.
-#
-cdl_package CYGPKG_MEMALLOC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     Requires: CYGPKG_MEMALLOC
-};
-
-# >
-# Memory allocator implementations
-# This component contains configuration options related to the 
-# various memory allocators available.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATORS {
-    # There is no associated value.
-};
-
-# >
-# Fixed block allocator
-# This component contains configuration options related to the 
-# fixed block memory allocator.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_FIXED {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Simple variable block allocator
-# This component contains configuration options related to the 
-# simple variable block memory allocator. This allocator is not
-# very fast, and in particular does not scale well with large
-# numbers of allocations. It is however very compact in terms of
-# code size and does not have very much overhead per allocation.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are added that allow a thread to wait until memory
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Coalesce memory
-# The variable-block memory allocator can perform coalescing
-# of memory whenever the application code releases memory back
-# to the pool. This coalescing reduces the possibility of
-# memory fragmentation problems, but involves extra code and
-# processor cycles.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-};
-
-# <
-# Doug Lea's malloc
-# This component contains configuration options related to the 
-# port of Doug Lea's memory allocator, normally known as
-# dlmalloc. dlmalloc has a reputation for being both fast
-# and space-conserving, as well as resisting fragmentation well.
-# It is a common choice for a general purpose allocator and
-# has been used in both newlib and Linux glibc.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC {
-    # There is no associated value.
-};
-
-# >
-# Debug build
-# Doug Lea's malloc implementation has substantial amounts
-# of internal checking in order to verify the operation
-# and consistency of the allocator. However this imposes
-# substantial overhead on each operation. Therefore this
-# checking may be individually disabled.
-#
-cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGDBG_USE_ASSERTS 
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-    # Requires: CYGDBG_USE_ASSERTS
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-};
-
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# Support more than one instance
-# Having this option disabled allows important
-# implementation structures to be declared as a single
-# static instance, allowing faster access. However this
-# would fail if there is more than one instance of
-# the dlmalloc allocator class. Therefore this option can
-# be enabled if multiple instances are required. Note: as
-# a special case, if this allocator is used as the
-# implementation of malloc, and it can be determined there
-# is more than one malloc pool, then this option will be
-# silently enabled.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use system memmove() and memset()
-# This may be used to control whether memset() and memmove()
-# are used within the implementation. The alternative is
-# to use some macro equivalents, which some people report
-# are faster in some circumstances.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_ISOINFRA 
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# Minimum alignment of allocated blocks
-# This option controls the minimum alignment that the
-# allocated memory blocks are aligned on, specified as
-# 2^N. Note that using large mininum alignments can lead
-# to excessive memory wastage.
-#
-cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 3
-    # value_source default
-    # Default value: 3
-    # Legal values: 3 to 10
-};
-
-# <
-# Variable block allocator with separate metadata
-# This component contains configuration options related to the 
-# variable block memory allocator with separate metadata.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# Kernel C API support for memory allocation
-# This option must be enabled to provide the extensions required
-# to support integration into the kernel C API.
-#
-cdl_option CYGFUN_MEMALLOC_KAPI {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGFUN_KERNEL_API_C
-    #     CYGFUN_KERNEL_API_C (unknown) == 0
-    #   --> 0
-};
-
-# malloc(0) returns NULL
-# This option controls the behavior of malloc(0) ( or calloc with
-# either argument 0 ). It is permitted by the standard to return
-# either a NULL pointer or a unique pointer. Enabling this option
-# forces a NULL pointer to be returned.
-#
-cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Breakpoint site when running out of memory
-# Whenever the system runs out of memory, it invokes this function
-# before either going to sleep waiting for memory to become 
-# available or returning failure.
-#
-cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# malloc() and supporting allocators
-# This component enables support for dynamic memory
-# allocation as supplied by the functions malloc(),
-# free(), calloc() and realloc(). As these
-# functions are often used, but can have quite an
-# overhead, disabling them here can ensure they
-# cannot even be used accidentally when static
-# allocation is preferred. Within this component are
-# various allocators that can be selected for use
-# as the underlying implementation of the dynamic
-# allocation functions.
-#
-cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS {
-    # ActiveIf constraint: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use external heap definition
-# This option allows other components in the
-# system to override the default system
-# provision of heap memory pools. This should
-# be set to a header which provides the equivalent
-# definitions to <pkgconf/heaps.hxx>.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Use external implementation of joining multiple heaps
-# The default implementation of joining multiple heaps
-# is fine for the case where there are multiple disjoint
-# memory regions of the same type. However, in a system
-# there might be e.g. a small amount of internal SRAM and
-# a large amount of external DRAM. The SRAM is faster and
-# the DRAM is slower. An application can implement some 
-# heuristic to choose which pool to allocate from. This
-# heuristic can be highly application specific.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_JOIN_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# malloc() allocator implementations
-#
-cdl_interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS {
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE, active, disabled
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_DLMALLOC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-    #     CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS
-    #     Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-};
-
-# malloc() implementation instantiation data
-# Memory allocator implementations that are capable of being
-# used underneath malloc() must be instantiated. The code
-# to do this is set in this option. It is only intended to
-# be set by the implementation, not the user.
-#
-cdl_option CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value <cyg/memalloc/dlmalloc.hxx>
-    # value_source default
-    # Default value: <cyg/memalloc/dlmalloc.hxx>
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-};
-
-# Simple variable block implementation
-# This causes malloc() to use the simple
-# variable block allocator.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 0
-    # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-    #     CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE == 1
-    #   --> 1
-};
-
-# Doug Lea's malloc implementation
-# This causes malloc() to use a version of Doug Lea's
-# malloc (dlmalloc) as the underlying implementation.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_DLMALLOC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 1
-};
-
-# <
-# Size of the fallback dynamic memory pool in bytes
-# If *no* heaps are configured in your memory layout,
-# dynamic memory allocation by
-# malloc() and calloc() must be from a fixed-size,
-# contiguous memory pool (note here that it is the
-# pool that is of a fixed size, but malloc() is still
-# able to allocate variable sized chunks of memory
-# from it). This option is the size
-# of that pool, in bytes. Note that not all of
-# this is available for programs to
-# use - some is needed for internal information
-# about memory regions, and some may be lost to
-# ensure that memory allocation only returns
-# memory aligned on word (or double word)
-# boundaries - a very common architecture
-# constraint.
-#
-cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16384
-    # value_source default
-    # Default value: 16384
-    # Legal values: 32 to 0x7fffffff
-};
-
-# Common memory allocator package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_MEMALLOC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_MEMALLOC_TESTS {
-    # Calculated value:  "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" 
-    # Flavor: data
-    # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2
-};
-
-# <
-# <
-# <
-
diff --git a/config/tx27karo.ecc b/config/tx27karo.ecc
deleted file mode 100644 (file)
index e32f530..0000000
+++ /dev/null
@@ -1,9829 +0,0 @@
-# eCos saved configuration
-
-# ---- commands --------------------------------------------------------
-# This section contains information about the savefile format.
-# It should not be edited. Any modifications made to this section
-# may make it impossible for the configuration tools to read
-# the savefile.
-
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-# ---- toplevel --------------------------------------------------------
-# This section defines the toplevel configuration object. The only
-# values that can be changed are the name of the configuration and
-# the description field. It is not possible to modify the target,
-# the template or the set of packages simply by editing the lines
-# below because these changes have wide-ranging effects. Instead
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {
-    description "" ;
-
-    # These fields should not be modified.
-    hardware    tx27karo ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_MX27 current ;
-    package -hardware CYGPKG_HAL_ARM_TX27KARO v1_0 ;
-    package -template CYGPKG_HAL current ;
-    package -template CYGPKG_INFRA current ;
-    package -template CYGPKG_REDBOOT current ;
-    package -template CYGPKG_ISOINFRA current ;
-    package -template CYGPKG_LIBC_STRING current ;
-    package -template CYGPKG_CRC current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_TX27 v1_0 ;
-    package -hardware CYGPKG_DEVS_ETH_FEC current ;
-    package -hardware CYGPKG_COMPRESS_ZLIB current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
-    package -hardware CYGPKG_IO_I2C current ;
-    package -hardware CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307 current ;
-    package CYGPKG_MEMALLOC current ;
-    package CYGPKG_DEVS_ETH_PHY current ;
-    package CYGPKG_LIBC_I18N current ;
-    package CYGPKG_LIBC_STDLIB current ;
-    package CYGPKG_ERROR current ;
-};
-
-# ---- conflicts -------------------------------------------------------
-# There are no conflicts.
-
-# ---- contents --------------------------------------------------------
-# >
-# >
-# Global build options
-# Global build options including control over
-# compiler flags, linker flags and choice of toolchain.
-#
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Global command prefix
-# This option specifies the command prefix used when
-# invoking the build tools.
-#
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value arm-linux
-    # value_source default
-    # Default value: arm-linux
-};
-
-# Global compiler flags
-# This option controls the global compiler flags which are used to
-# compile all packages by default. Individual packages may define
-# options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_CFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-mcpu=arm9 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-    # value_source default
-    # Default value: "-mcpu=arm9 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-
-    # The following properties are affected by this value
-    # option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    # option CYGBLD_INFRA_CFLAGS_PIPE
-    #     Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-};
-
-# Global linker flags
-# This option controls the global linker flags. Individual
-# packages may define options which override these global flags.
-#
-cdl_option CYGBLD_GLOBAL_LDFLAGS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-    # value_source default
-    # Default value: "-Wl,--gc-sections -Wl,-static -O2 -nostdlib"
-};
-
-# Build common GDB stub ROM image
-# Unless a target board has specific requirements to the
-# stub implementation, it can use a simple common stub.
-# This option, which gets enabled by platform HALs as
-# appropriate, controls the building of the common stub.
-#
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# <
-# ISO C library string functions
-# doc: ref/libc.html
-# This package provides string functions specified by the
-# ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STRING {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_MEMFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRING_STRFUNCS_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-    #     CYGBLD_ISO_STRTOK_R_HEADER == <cyg/libc/string/string.h>
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Inline versions of <string.h> functions
-# This option chooses whether some of the
-# particularly simple string functions from
-# <string.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_STRING_INLINES {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-};
-
-# Optimize string functions for code size
-# This option tries to reduce string function
-# code size at the expense of execution speed. The
-# same effect can be produced if the code is
-# compiled with the -Os option to the compiler.
-#
-cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide BSD compatibility functions
-# Enabling this option causes various compatibility functions
-# commonly found in the BSD UNIX operating system to be included.
-# These are functions such as bzero, bcmp, bcopy, bzero, strcasecmp,
-# strncasecmp, index, rindex and swab.
-#
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-    #     CYGBLD_ISO_STRING_BSD_FUNCS_HEADER == 0
-    #   --> 0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-};
-
-# strtok
-# These options control the behaviour of the
-# strtok() and strtok_r() string tokenization
-# functions.
-#
-cdl_component CYGPKG_LIBC_STRING_STRTOK {
-    # There is no associated value.
-};
-
-# >
-# Per-thread strtok()
-# This option controls whether the string function
-# strtok() has its state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard strtok_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_STRING_PER_THREAD_STRTOK {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the <string.h>
-# functions strtok() and strtok_r(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_STRING_STRTOK_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strdup
-# This option indicates whether strdup() is to be supported.
-#
-cdl_option CYGFUN_LIBC_STRING_STRDUP {
-    # ActiveIf constraint: CYGINT_ISO_MALLOC
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# C library string functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STRING_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STRING_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library string function tests
-# This option specifies the set of tests for the C library
-# string functions.
-#
-cdl_option CYGPKG_LIBC_STRING_TESTS {
-    # Calculated value:  "tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2" 
-    # Flavor: data
-    # Current_value: tests/memchr tests/memcmp1 tests/memcmp2 tests/memcpy1 tests/memcpy2 tests/memmove1 tests/memmove2 tests/memset tests/strcat1 tests/strcat2 tests/strchr tests/strcmp1 tests/strcmp2 tests/strcoll1 tests/strcoll2 tests/strcpy1 tests/strcpy2 tests/strcspn tests/strcspn tests/strlen tests/strncat1 tests/strncat2 tests/strncpy1 tests/strncpy2 tests/strpbrk tests/strrchr tests/strspn tests/strstr tests/strtok tests/strxfrm1 tests/strxfrm2
-};
-
-# <
-# <
-# Common ethernet support
-# doc: ref/io-eth-drv-generic.html
-# Platform independent ethernet drivers
-#
-cdl_package CYGPKG_IO_ETH_DRIVERS {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_NETWORKING
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_ARM_TX27
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_FEC
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-    # package CYGPKG_DEVS_ETH_PHY
-    #     ActiveIf: CYGPKG_IO_ETH_DRIVERS
-};
-
-# >
-# Network drivers
-#
-cdl_interface CYGHWR_NET_DRIVERS {
-    # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE
-    #     ActiveIf:  CYGSEM_REDBOOT_FLASH_CONFIG && CYGHWR_NET_DRIVERS > 1 
-    # option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE
-    #     ActiveIf:  CYGHWR_NET_DRIVERS > 1 
-};
-
-# Driver supports multicast addressing
-# This interface defines whether or not a driver can handle
-# requests for multicast addressing.
-#
-cdl_interface CYGINT_IO_ETH_MULTICAST {
-    # Implemented by CYGPKG_DEVS_ETH_FEC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# Support printing driver debug information
-# Selecting this option will include code to allow the driver to
-# print lots of information on diagnostic output such as full
-# packet dumps.
-#
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Driver debug output verbosity
-# The value of this option indicates the default verbosity
-# level of debugging output. 0 means no debugging output
-# is made by default. Higher values indicate higher verbosity.
-# The verbosity level may also be changed at run time by
-# changing the variable cyg_io_eth_net_debug.
-#
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    # Flavor: data
-    user_value 0
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# Size of scatter-gather I/O lists
-# A scatter-gather list is used to pass requests to/from
-# the physical device driver.  This list can typically be
-# small, as the data is normally already packed into reasonable
-# chunks.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_SG_LIST_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-};
-
-# Support for standard eCos TCP/IP stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_NET {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Warn when there are no more mbufs
-# Warnings about running out of mbufs are printed to the
-# diagnostic output channel via diag_printf() if this option
-# is enabled.  Mbufs are the network stack's basic dynamic
-# memory objects that hold all packets in transit; running
-# out is bad for performance but not fatal, not a crash.
-# You might want to turn off the warnings to preserve realtime
-# properties of the system even in extremis.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_WARN_NO_MBUFS {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Simulate network failures for testing
-# This package contains a suite of simulated failure modes
-# for the ethernet device layer, including dropping and/or
-# corrupting received packets, dropping packets queued for
-# transmission, and simulating a complete network break.
-# It requires the kernel as a source of time information.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_NET is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Drop incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Corrupt incoming packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_CORRUPT_RX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Drop outgoing packets (percentage)
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_DROP_TX {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 10
-    # value_source default
-    # Default value: 1 10
-    # Legal values: 10 50 80
-};
-
-# Simulate a line cut from time to time
-# This option causes the system to drop all packets for a
-# short random period (10s of seconds), and then act
-# normally for up to 4 times that long.  This simulates your
-# sysadmin fiddling with plugs in the network switch
-# cupboard.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_SIMULATE_LINE_CUT {
-    # This option is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is not active
-    # The parent CYGPKG_IO_ETH_DRIVERS_SIMULATED_FAILURES is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# <
-# Support for stand-alone network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    # ActiveIf constraint: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Pass packets to an alternate stack
-# Define this to allow packets seen by this layer to be
-# passed on to the previous logical layer, i.e. when
-# stand-alone processing replaces system (eCos) processing.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_REDBOOT_NETWORKING 
-    #     CYGPKG_REDBOOT_NETWORKING == 1
-    #   --> 1
-};
-
-# Number of [network] buffers
-# This option is used to allocate space to buffer incoming network
-# packets.  These buffers are used to hold data until they can be
-# logically processed by higher layers.
-#
-cdl_option CYGNUM_IO_ETH_DRIVERS_NUM_PKT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 2 to 32
-};
-
-# Show driver warnings
-# Selecting this option will allows the stand-alone ethernet driver
-# to display warnings on the system console when incoming network
-# packets are being discarded due to lack of buffer space.
-#
-cdl_option CYGSEM_IO_ETH_DRIVERS_WARN {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support for lwIP network stack.
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_LWIP {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NET_LWIP
-    #     CYGPKG_NET_LWIP (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NET
-    #     CYGPKG_NET (unknown) == 0
-    #   --> 1
-};
-
-# Interrupt support required
-# This interface is used to indicate to the low
-# level device drivers that interrupt driven operation
-# is required by higher layers.
-#
-cdl_interface CYGINT_IO_ETH_INT_SUPPORT_REQUIRED {
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_NET, inactive, enabled
-    # Implemented by CYGPKG_IO_ETH_DRIVERS_LWIP, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-};
-
-# Common ethernet support build options
-#
-cdl_component CYGPKG_IO_ETH_DRIVERS_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the common ethernet support package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_ETH_DRIVERS_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# Ethernet driver for Ka-Ro electronics TX27 processor module
-#
-cdl_package CYGPKG_DEVS_ETH_ARM_TX27 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 v1_0
-};
-
-# >
-# FEC ethernet driver required
-#
-cdl_interface CYGINT_DEVS_ETH_FEC_REQUIRED {
-    # Implemented by CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVS_ETH_FEC
-    #     ActiveIf: CYGINT_DEVS_ETH_FEC_REQUIRED
-};
-
-# Ka-Ro TX27 ethernet port driver
-# This option includes the ethernet device driver for the
-# MXC Board port.
-#
-cdl_component CYGPKG_DEVS_ETH_ARM_MXCBOARD_ETH0 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Device name for the ETH0 ethernet driver
-# This option sets the name of the ethernet device.
-#
-cdl_option CYGDAT_DEVS_ETH_ARM_MXCBOARD_ETH0_NAME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"eth0\""
-    # value_source default
-    # Default value: "\"eth0\""
-};
-
-# <
-# <
-# Driver for fast ethernet controller.
-# Driver for fast ethernet controller.
-#
-cdl_package CYGPKG_DEVS_ETH_FEC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-    # ActiveIf constraint: CYGINT_DEVS_ETH_FEC_REQUIRED
-    #     CYGINT_DEVS_ETH_FEC_REQUIRED == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC FEC ethernet driver build options
-#
-cdl_component CYGPKG_DEVS_ETH_FEC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the Cirrus Logic ethernet driver package.
-# These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVS_ETH_FEC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D_KERNEL -D__ECOS"
-    # value_source default
-    # Default value: "-D_KERNEL -D__ECOS"
-};
-
-# <
-# <
-# Ethernet transceiver (PHY) support
-# API for ethernet PHY devices
-#
-cdl_package CYGPKG_DEVS_ETH_PHY {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-};
-
-# >
-# Time period (seconds) to wait for auto-negotiation
-# The length of time to wait for auto-negotiation to complete
-# before giving up and declaring the link dead/missing.
-#
-cdl_option CYGINT_DEVS_ETH_PHY_AUTO_NEGOTIATION_TIME {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 5
-    # value_source default
-    # Default value: 5
-};
-
-# NSDP83847
-# Include support for National Semiconductor DP83847 DsPHYTER II
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_DP83847 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# AMD 79C874
-# Include support for AMD 79C874 NetPHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_AM79C874 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Intel LXT972
-# Include support for Intel LXT972xxx PHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_INLXT972 {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# SMSC LAN8700
-# Include support for SMSC LAN8700 NetPHY
-#
-cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# <
-# Wallclock device driver for Dallas 1307
-# This package provides a file with init, get and set functions
-# for the Dallas 1307 clock part.
-#
-cdl_package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO_WALLCLOCK
-    #     CYGPKG_IO_WALLCLOCK (unknown) == 0
-    #   --> 0
-    # ActiveIf constraint: CYGIMP_WALLCLOCK_HARDWARE
-    #     CYGIMP_WALLCLOCK_HARDWARE == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# Access DS1307 device via the I2C API
-# This interface will be implemented if the platform supports
-# the standard I2C API and the platform HAL exports an I2C
-# device cyg_i2c_wallclock_ds1307.
-#
-cdl_interface CYGINT_DEVICES_WALLCLOCK_DALLAS_DS1307_I2C {
-    # No options implement this inferface
-    # This option is not active
-    # The parent CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307 is not active
-
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-};
-
-# DS1307 wallclock build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307_OPTIONS {
-    # This option is not active
-    # The parent CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307 is not active
-
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the wallclock device. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307_CFLAGS_ADD {
-    # This option is not active
-    # The parent CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307_OPTIONS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the wallclock device. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307_CFLAGS_REMOVE {
-    # This option is not active
-    # The parent CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307_OPTIONS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# Hardware wallclock
-#
-cdl_option CYGIMP_WALLCLOCK_HARDWARE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307
-    #     ActiveIf: CYGIMP_WALLCLOCK_HARDWARE
-};
-
-# ISO C library internationalization functions
-# doc: ref/libc.html
-# This package provides internationalization functions specified by the
-# ISO C standard - ISO/IEC 9899:1990. These include locale-related
-# functionality and <ctype.h> functionality.
-#
-cdl_package CYGPKG_LIBC_I18N {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# >
-# Supported locales
-# These options determine which locales other than the "C" locale
-# are supported and hence contribute to the size of the executable.
-#
-cdl_component CYGPKG_LIBC_I18N_LOCALES {
-    # There is no associated value.
-};
-
-# >
-# Support for multiple locales required
-#
-cdl_interface CYGINT_LIBC_I18N_MB_REQUIRED {
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_SJIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_JIS, active, disabled
-    # Implemented by CYGFUN_LIBC_I18N_LOCALE_C_EUCJP, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-    #     CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-};
-
-# C-SJIS locale support
-# This option controls if the "C-SJIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese SJIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_SJIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-JIS locale support
-# This option controls if the "C-JIS" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese JIS multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_JIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# C-EUCJP locale support
-# This option controls if the "C-EUCJP" locale will be
-# supported by setlocale().  The locale is a hybrid locale
-# that is mostly the "C" locale with Japanese EUCJP multibyte
-# support added.
-#
-cdl_option CYGFUN_LIBC_I18N_LOCALE_C_EUCJP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     LegalValues:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    # option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE
-    #     DefaultValue:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-};
-
-# <
-# Newlib's ctype implementation
-# This option enables the implementation of the ctype functions
-# that comes with newlib. It is table driven and therefore
-# exhibits different performance characteristics. It also offers
-# a limited amount of binary compatibility
-# with newlib so that programs linked against newlib ctype/locale
-# do not need to be recompiled when linked with eCos.
-#
-cdl_option CYGPKG_LIBC_I18N_NEWLIB_CTYPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 0
-};
-
-# Per-thread multibyte state
-# This option controls whether the multibyte character
-# handling functions mblen(), mbtowc(), and wctomb(),
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Enabling this option will use three slots
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_I18N_PER_THREAD_MB {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGVAR_KERNEL_THREADS_DATA != 0 
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Size of locale name strings
-# This option controls the maximum size of
-# locale names and is used, among other things
-# to instantiate a static string used
-# as a return value from the
-# setlocale() function. When requesting the
-# current locale settings with LC_ALL, a string
-# must be constructed to contain this data, rather
-# than just returning a constant string. This
-# string data is stored in the static string.
-# This depends on the length of locale names,
-# hence this option. If just the C locale is
-# present, this option can be set as low as 2.
-#
-cdl_option CYGNUM_LIBC_I18N_MAX_LOCALE_NAME_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 2
-    # value_source default
-    # Default value:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2)))  
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-    #   --> 2
-    # Legal values:  (CYGFUN_LIBC_I18N_LOCALE_C_EUCJP ? 8 :  (CYGFUN_LIBC_I18N_LOCALE_C_SJIS ? 7 :   (CYGFUN_LIBC_I18N_LOCALE_C_JIS ? 6 : 2))) to 0x7fffffff 
-    #     CYGFUN_LIBC_I18N_LOCALE_C_EUCJP == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_SJIS == 0
-    #     CYGFUN_LIBC_I18N_LOCALE_C_JIS == 0
-};
-
-# Inline versions of <ctype.h> functions
-# This option chooses whether the simple character
-# classification and conversion functions (e.g.
-# isupper(), isalpha(), toupper(), etc.)
-# from <ctype.h> are available as inline
-# functions. This may improve performance and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_option CYGIMP_LIBC_I18N_CTYPE_INLINES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-    #     CYGBLD_ISO_CTYPE_HEADER == <cyg/libc/i18n/ctype.inl>
-    #   --> 1
-};
-
-# C library i18n functions build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_I18N_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the C library. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_I18N_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library i18n function tests
-# This option specifies the set of tests for the C library
-# i18n functions.
-#
-cdl_option CYGPKG_LIBC_I18N_TESTS {
-    # Calculated value:  "tests/ctype tests/setlocale tests/i18nmb" 
-    # Flavor: data
-    # Current_value: tests/ctype tests/setlocale tests/i18nmb
-};
-
-# <
-# <
-# ISO C library general utility functions
-# doc: ref/libc.html
-# This package provides general utility functions in <stdlib.h>
-# as specified by the ISO C standard - ISO/IEC 9899:1990.
-#
-cdl_package CYGPKG_LIBC_STDLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-};
-
-# >
-# Inline versions of <stdlib.h> functions
-# This option chooses whether some of the
-# particularly simple standard utility functions
-# from <stdlib.h> are available as inline
-# functions. This may improve performance, and as
-# the functions are small, may even improve code
-# size.
-#
-cdl_component CYGIMP_LIBC_STDLIB_INLINES {
-    # There is no associated value.
-};
-
-# >
-# abs() / labs()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_ABS {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
-    #     CYGBLD_ISO_STDLIB_ABS_HEADER == 0
-    #   --> 0
-};
-
-# div() / ldiv()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_DIV {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
-    #     CYGBLD_ISO_STDLIB_DIV_HEADER == 0
-    #   --> 0
-};
-
-# atof() / atoi() / atol()
-#
-cdl_option CYGIMP_LIBC_STDLIB_INLINE_ATOX {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
-    #     CYGBLD_ISO_STDLIB_STRCONV_HEADER == 0
-    #   --> 0
-};
-
-# <
-# Random number generation
-# These options control the behaviour of the
-# functions rand(), srand() and rand_r()
-#
-cdl_component CYGPKG_LIBC_RAND {
-    # There is no associated value.
-};
-
-# >
-# Per-thread random seed
-# doc: ref/libc-thread-safety.html
-# This option controls whether the pseudo-random
-# number generation functions rand() and srand()
-# have their state recorded on a per-thread
-# basis rather than global. If this option is
-# disabled, some per-thread space can be saved.
-# Note there is also a POSIX-standard rand_r()
-# function to achieve a similar effect with user
-# support. Enabling this option will use one slot
-# of kernel per-thread data. You should ensure you
-# have enough slots configured for all your
-# per-thread data.
-#
-cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Random number seed
-# This selects the initial random number seed for
-# rand()'s pseudo-random number generator. For
-# strict ISO standard compliance, this should be 1,
-# as per section 7.10.2.2 of the standard.
-#
-cdl_option CYGNUM_LIBC_RAND_SEED {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Legal values: 0 to 0x7fffffff
-};
-
-# Tracing level
-# Trace verbosity level for debugging the rand(),
-# srand() and rand_r() functions. Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# Simplest implementation
-# This provides a very simple implementation of rand()
-# that does not perform well with randomness in the
-# lower significant bits. However it is exceptionally
-# fast. It uses the sample algorithm from the ISO C
-# standard itself.
-#
-cdl_option CYGIMP_LIBC_RAND_SIMPLEST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple implementation #1
-# This provides a very simple implementation of rand()
-# based on the simplest implementation above. However
-# it does try to work around the lack of randomness
-# in the lower significant bits, at the expense of a
-# little speed.
-#
-cdl_option CYGIMP_LIBC_RAND_SIMPLE1 {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Knuth implementation #1
-# This implements a slightly more complex algorithm
-# published in Donald E. Knuth's Art of Computer
-# Programming Vol.2 section 3.6 (p.185 in the 3rd ed.).
-# This produces better random numbers than the
-# simplest approach but is slower.
-#
-cdl_option CYGIMP_LIBC_RAND_KNUTH1 {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# <
-# Provides strtod()
-# This option allows use of the utility function
-# strtod() (and consequently atof()) to convert
-# from string to double precision floating point
-# numbers. Disabling this option removes the
-# dependency on the math library package.
-#
-cdl_option CYGFUN_LIBC_strtod {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGPKG_LIBM 
-    #     CYGPKG_LIBM (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_LIBM
-    #     CYGPKG_LIBM (unknown) == 0
-    #   --> 0
-};
-
-# Provides long long conversion functions
-# Enabling this option will provide support for the strtoll(),
-# strtoull() and atoll() conversion functions, which are
-# the long long variants of the standard versions of these
-# functions. Supporting this requires extra code and compile
-# time.
-#
-cdl_option CYGFUN_LIBC_STDLIB_CONV_LONGLONG {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# bsearch() tracing level
-# Trace verbosity level for debugging the <stdlib.h>
-# binary search function bsearch(). Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_BSEARCH_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# qsort() tracing level
-# Trace verbosity level for debugging the <stdlib.h>
-# quicksort function qsort(). Increase this value
-# to get additional trace output.
-#
-cdl_option CYGNUM_LIBC_QSORT_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# C library stdlib build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_LIBC_STDLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_LIBC_STDLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# C library stdlib tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_LIBC_STDLIB_TESTS {
-    # Calculated value:  "tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul" 
-    # Flavor: data
-    # Current_value: tests/abs tests/atoi tests/atol tests/bsearch tests/div tests/getenv tests/labs tests/ldiv tests/qsort tests/rand1 tests/rand2 tests/rand3 tests/rand4 tests/srand tests/strtol tests/strtoul
-};
-
-# <
-# <
-# <
-# eCos HAL
-# doc: ref/the-ecos-hardware-abstraction-layer.html
-# The eCos HAL package provide a porting layer for
-# higher-level parts of the system such as the kernel and the
-# C library. Each installation should have HAL packages for
-# one or more architectures, and for each architecture there
-# may be one or more supported platforms. It is necessary to
-# select one target architecture and one platform for that
-# architecture. There are also a number of configuration
-# options that are common to all HAL packages.
-#
-cdl_package CYGPKG_HAL {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_IO_I2C
-    #     Requires: CYGPKG_INFRA CYGPKG_HAL
-};
-
-# >
-# Platform-independent HAL options
-# A number of configuration options are common to most or all
-# HAL packages, for example options controlling how much state
-# should be saved during a context switch. The implementations
-# of these options will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON {
-    # There is no associated value.
-};
-
-# >
-# Provide eCos kernel support
-# The HAL can be configured to either support the full eCos
-# kernel, or to support only very simple applications which do
-# not require a full kernel. If kernel support is not required
-# then some of the startup, exception, and interrupt handling
-# code can be eliminated.
-#
-cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# HAL exception support
-# When a processor exception occurs, for example an attempt to
-# execute an illegal instruction or to perform a divide by
-# zero, this exception may be handled in a number of different
-# ways. If the target system has gdb support then typically
-# the exception will be handled by gdb code. Otherwise if the
-# HAL exception support is enabled then the HAL will invoke a
-# routine deliver_exception(). Typically this routine will be
-# provided by the eCos kernel, but it is possible for
-# application code to provide its own implementation. If the
-# HAL exception support is not enabled and a processor
-# exception occurs then the behaviour of the system is
-# undefined.
-#
-cdl_option CYGPKG_HAL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-    # Requires: CYGPKG_KERNEL_EXCEPTIONS
-    #     CYGPKG_KERNEL_EXCEPTIONS (unknown) == 0
-    #   --> 0
-};
-
-# Stop calling constructors early
-# This option supports environments where some constructors
-# must be run in the context of a thread rather than at
-# simple system startup time. A boolean flag named
-# cyg_hal_stop_constructors is set to 1 when constructors
-# should no longer be invoked. It is up to some other
-# package to deal with the rest of the constructors.
-# In the current version this is only possible with the
-# C library.
-#
-cdl_option CYGSEM_HAL_STOP_CONSTRUCTORS_ON_FLAG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS
-    #     CYGSEM_LIBC_INVOKE_DEFAULT_STATIC_CONSTRUCTORS (unknown) == 0
-    #   --> 0
-};
-
-# HAL uses the MMU and allows for CDL manipulation of it's use
-#
-cdl_interface CYGINT_HAL_SUPPORTS_MMU_TABLES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     ActiveIf: CYGINT_HAL_SUPPORTS_MMU_TABLES
-};
-
-# Install MMU tables.
-# This option controls whether this application installs
-# its own Memory Management Unit (MMU) tables, or relies on the
-# existing environment to run.
-#
-cdl_option CYGSEM_HAL_INSTALL_MMU_TABLES {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_HAL_SUPPORTS_MMU_TABLES
-    #     CYGINT_HAL_SUPPORTS_MMU_TABLES == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_STATIC_MMU_TABLES
-    #     Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-};
-
-# Use static MMU tables.
-# This option defines an environment where any Memory
-# Management Unit (MMU) tables are constant.  Normally used by ROM
-# based environments, this provides a way to save RAM usage which
-# would otherwise be required for these tables.
-#
-cdl_option CYGSEM_HAL_STATIC_MMU_TABLES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     CYGSEM_HAL_INSTALL_MMU_TABLES == 0
-    #   --> 0
-};
-
-# Route diagnostic output to debug channel
-# If not inheriting the console setup from the ROM monitor,
-# it is possible to redirect diagnostic output to the debug
-# channel by enabling this option. Depending on the debugger
-# used it may also be necessary to select a mangler for the
-# output to be displayed by the debugger.
-#
-cdl_component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN {
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #   --> 1
-    # ActiveIf constraint:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    #     CYGPKG_HAL_ARM == current
-    #     CYGPKG_HAL_POWERPC_MPC8xx (unknown) == 0
-    #     CYGPKG_HAL_V85X_V850 (unknown) == 0
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# >
-# Mangler used on diag output
-# It is sometimes necessary to mangle (encode) the
-# diag ASCII text output in order for it to show up at the
-# other end. In particular, GDB may silently ignore raw
-# ASCII text.
-#
-cdl_option CYGSEM_HAL_DIAG_MANGLER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value GDB
-    # value_source default
-    # Default value: GDB
-    # Legal values: "GDB" "None"
-};
-
-# <
-# <
-# HAL interrupt handling
-# A number of configuration options related to interrupt
-# handling are common to most or all HAL packages, even though
-# the implementations will vary from architecture to
-# architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {
-    # There is no associated value.
-};
-
-# >
-# Use separate stack for interrupts
-# When an interrupt occurs this interrupt can be handled either
-# on the current stack or on a separate stack maintained by the
-# HAL. Using a separate stack requires a small number of extra
-# instructions in the interrupt handling code, but it has the
-# advantage that it is no longer necessary to allow extra space
-# in every thread stack for the interrupt handlers. The amount
-# of extra space required depends on the interrupt handlers
-# that are being used.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    # Flavor: bool
-    user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # package CYGPKG_REDBOOT
-    #     Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-};
-
-# Interrupt stack size
-# This configuration option specifies the stack size in bytes
-# for the interrupt stack. Typically this should be a multiple
-# of 16, but the exact requirements will vary from architecture
-# to architecture. The interrupt stack serves two separate
-# purposes. It is used as the stack during system
-# initialization. In addition, if the interrupt system is
-# configured to use a separate stack then all interrupts will
-# be processed on this stack. The exact memory requirements
-# will vary from application to application, and will depend
-# heavily on whether or not other interrupt-related options,
-# for example nested interrupts, are enabled. On most targets,
-# in a configuration with no kernel this stack will also be
-# the stack used to invoke the application, and must obviously
-# be appropriately large in that case.
-#
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    # Flavor: data
-    user_value 4096
-    # value_source user
-    # Default value:  CYGPKG_KERNEL ? 4096 : 32768 
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 32768
-    # Legal values: 128 to 1048576
-};
-
-# Allow nested interrupts
-# When an interrupt occurs the HAL interrupt handling code can
-# either leave interrupts disabled for the duration of the
-# interrupt handling code, or by doing some extra work it can
-# reenable interrupts before invoking the interrupt handler and
-# thus allow nested interrupts to happen. If all the interrupt
-# handlers being used are small and do not involve any loops
-# then it is usually better to disallow nested interrupts.
-# However if any of the interrupt handlers are more complicated
-# than nested interrupts will usually be required.
-#
-cdl_option CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Save minimum context on interrupt
-# The HAL interrupt handling code can exploit the calling conventions
-# defined for a given architecture to reduce the amount of state
-# that has to be saved. Generally this improves performance and
-# reduces code size. However it can make source-level debugging
-# more difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-};
-
-# Chain all interrupts together
-# Interrupts can be attached to vectors either singly, or be
-# chained together. The latter is necessary if there is no way
-# of discovering which device has interrupted without
-# inspecting the device itself. It can also reduce the amount
-# of RAM needed for interrupt decoding tables and code.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_CHAIN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Ignore spurious [fleeting] interrupts
-# On some hardware, interrupt sources may not be de-bounced or
-# de-glitched.  Rather than try to handle these interrupts (no
-# handling may be possible), this option allows the HAL to simply
-# ignore them.  In most cases, if the interrupt is real it will
-# reoccur in a detectable form.
-#
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_IGNORE_SPURIOUS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# HAL context switch support
-# A number of configuration options related to thread contexts
-# are common to most or all HAL packages, even though the
-# implementations will vary from architecture to architecture.
-#
-cdl_component CYGPKG_HAL_COMMON_CONTEXT {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Use minimum thread context
-# The thread context switch code can exploit the calling
-# conventions defined for a given architecture to reduce the
-# amount of state that has to be saved during a context
-# switch. Generally this improves performance and reduces
-# code size. However it can make source-level debugging more
-# difficult.
-#
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-};
-
-# <
-# Explicit control over cache behaviour
-# These options let the default behaviour of the caches 
-# be easily configurable.
-#
-cdl_component CYGPKG_HAL_CACHE_CONTROL {
-    # There is no associated value.
-};
-
-# >
-# Enable DATA cache on startup
-# Enabling this option will cause the data cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the data cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_component CYGSEM_HAL_ENABLE_DCACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# DATA cache mode on startup
-# This option controls the mode the cache will be set to
-# when enabled on startup.
-#
-cdl_option CYGSEM_HAL_DCACHE_STARTUP_MODE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value COPYBACK
-    # value_source default
-    # Default value: COPYBACK
-    # Legal values:  "COPYBACK" "WRITETHRU" 
-};
-
-# <
-# Enable INSTRUCTION cache on startup
-# Enabling this option will cause the instruction cache to be enabled
-# as soon as practicable when eCos starts up.  One would choose
-# to disable this if the instruction cache cannot safely be turned on,
-# such as a case where the cache(s) require additional platform
-# specific setup.
-#
-cdl_option CYGSEM_HAL_ENABLE_ICACHE_ON_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Source-level debugging support
-# If the source level debugger gdb is to be used for debugging
-# application code then it may be necessary to configure in support
-# for this in the HAL.
-#
-cdl_component CYGPKG_HAL_DEBUG {
-    # There is no associated value.
-};
-
-# >
-# Support for GDB stubs
-# The HAL implements GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS
-};
-
-# Include GDB stubs in HAL
-# This option causes a set of GDB stubs to be included into the
-# system. On some target systems the GDB support will be
-# provided by other means, for example by a ROM monitor. On
-# other targets, especially when building a ROM-booting system,
-# the necessary support has to go into the target library
-# itself. When GDB stubs are include in a configuration, HAL
-# serial drivers must also be included.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_DIAG == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     DefaultValue: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     DefaultValue:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGBLD_BUILD_COMMON_GDB_STUBS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-};
-
-# Support for external break support in GDB stubs
-# The HAL implements external break (or asynchronous interrupt)
-# in the GDB stubs for the target.
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_STUBS_BREAK {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     ActiveIf: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-};
-
-# Include GDB external break support for stubs
-# This option causes the GDB stub to add a serial interrupt handler
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT in that it is used when
-# GDB stubs are present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    #     CYGINT_HAL_DEBUG_GDB_STUBS_BREAK == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # option CYGBLD_BUILD_REDBOOT_WITH_GDB
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-};
-
-# Platform does not support CTRLC
-#
-cdl_interface CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-};
-
-# Include GDB external break support when no stubs
-# This option adds an interrupt handler for the GDB serial line
-# which will listen for GDB break packets. This lets you stop the
-# target asynchronously when using GDB, usually by hitting Control+C
-# or pressing the STOP button. This option differs from
-# CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT in that it is used when the GDB
-# stubs are NOT present.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # ActiveIf constraint:  CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0 
-    #     CYGINT_HAL_DEBUG_GDB_CTRLC_UNSUPPORTED == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-};
-
-# Include GDB multi-threading debug support
-# This option enables some extra HAL code which is needed
-# to support multi-threaded source level debugging.
-#
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    # ActiveIf constraint:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-};
-
-# Number of times to retry sending a $O packet
-# This option controls the number of attempts that eCos programs
-# will make to send a $O packet to a host GDB process.  If it is
-# set non-zero, then the target process will attempt to resend the
-# $O packet data up to this number of retries.  Caution: use of
-# this option is not recommended as it can thoroughly confuse the
-# host GDB process.
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Timeout period for GDB packets
-# This option controls the time (in milliseconds) that eCos programs
-# will wait for a response when sending packets to a host GDB process.
-# If this time elapses, then the packet will be resent, up to some
-# maximum number of times (CYGNUM_HAL_DEBUG_GDB_PROTOCOL_RETRIES).
-#
-cdl_option CYGNUM_HAL_DEBUG_GDB_PROTOCOL_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 500
-    # value_source default
-    # Default value: 500
-};
-
-# Location of CRC32 table
-# The stubs use a 1 kilobyte CRC table that can either be pregenerated
-# and placed in ROM, or generated at runtime in RAM. Depending on
-# your memory constraints, one of these options may be better.
-#
-cdl_option CYGDBG_HAL_CRCTABLE_LOCATION {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value RAM
-    # value_source default
-    # Default value: RAM
-    # Legal values: "ROM" "RAM"
-};
-
-# <
-# ROM monitor support
-# Support for ROM monitors can be built in to your application. 
-# It may also be relevant to build your application as a ROM monitor
-# itself. Such options are contained here if relevant for your chosen
-# platform. The options and ROM monitors available to choose are
-# platform-dependent.
-#
-cdl_component CYGPKG_HAL_ROM_MONITOR {
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Target has virtual vector support
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# Target supports baud rate control via vectors
-# Whether this target supports the __COMMCTL_GETBAUD
-# and __COMMCTL_SETBAUD virtual vector comm control operations.
-#
-cdl_interface CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT {
-    # Implemented by CYGPKG_HAL_ARM_MX27, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE
-    #     ActiveIf: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-};
-
-# Enable use of virtual vector calling interface
-# Virtual vector support allows the HAL to let the ROM
-# monitor handle certain operations. The virtual vector table
-# defines a calling interface between applications running in
-# RAM and the ROM monitor.
-#
-cdl_component CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    # package CYGPKG_DEVS_ETH_PHY
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-};
-
-# >
-# Inherit console settings from ROM monitor
-# When this option is set, the application will inherit
-# the console as set up by the ROM monitor. This means
-# that the application will use whatever channel and
-# mangling style was used by the ROM monitor when
-# the application was launched.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_HAL_USE_ROM_MONITOR
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     Calculated:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-};
-
-# Debug channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the debug channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE {
-    # Calculated value:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-};
-
-# Console channel is configurable
-# This option is a configuration hint - it is enabled
-# when the HAL initialization code will make use
-# of the console channel configuration option.
-#
-cdl_option CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE {
-    # Calculated value:  !CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE  && !CYGDBG_HAL_DIAG_TO_DEBUG_CHAN 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE == 0
-    #     CYGDBG_HAL_DIAG_TO_DEBUG_CHAN == 1
-    # Flavor: bool
-    # Current value: 0
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     ActiveIf: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-};
-
-# Initialize whole of virtual vector table
-# This option will cause the whole of the virtual
-# vector table to be initialized with dummy values on
-# startup. When this option is enabled, all the
-# options below must also be enabled - or the
-# table would be empty when the application
-# launches.
-# On targets where older ROM monitors without
-# virtual vector support may still be in use, it is
-# necessary for RAM applictions to initialize the
-# table (since all HAL diagnostics and debug IO
-# happens via the table).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYGSEM_HAL_USE_ROM_MONITOR == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA == 1
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT
-    #     ActiveIf: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-};
-
-# Claim virtual vector table entries by default
-# By default most virtual vectors will be claimed by
-# RAM startup configurations, meaning that the RAM
-# application will provide the services. The
-# exception is COMMS support (HAL
-# diagnostics/debugging IO) which is left in the
-# control of the ROM monitor.
-# The reasoning behind this is to get as much of the
-# code exercised during regular development so it
-# is known to be working the few times a new ROM
-# monitor or a ROM production configuration is used
-# - COMMS are excluded only by necessity in order to
-# avoid breaking an existing debugger connections
-# (there may be ways around this).
-# For production RAM configurations this option can
-# be switched off, causing the appliction to rely on
-# the ROM monitor for these services, thus
-# saving some space.
-# Individual vectors may also be left unclaimed,
-# controlled by the below options (meaning that the
-# associated service provided by the ROM monitor
-# will be used).
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT {
-    # This option is not active
-    # ActiveIf constraint: !CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-    #     DefaultValue:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-};
-
-# Claim reset virtual vectors
-# This option will cause the reset and kill_by_reset
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_RESET
-};
-
-# Claim version virtual vectors
-# This option will cause the version
-# virtual vectors to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_VERSION {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #   --> 1
-};
-
-# Claim delay_us virtual vector
-# This option will cause the delay_us
-# virtual vector to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DELAY_US
-};
-
-# Claim cache virtual vectors
-# This option will cause the cache virtual vectors
-# to be claimed.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_CACHE
-};
-
-# Claim data virtual vectors
-# This option will cause the data virtual vectors
-# to be claimed. At present there is only one, used
-# by the RedBoot ethernet driver to share diag output.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DEFAULT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_DATA
-};
-
-# Claim comms virtual vectors
-# This option will cause the communication tables
-# that are part of the virtual vectors mechanism to
-# be claimed. Note that doing this may cause an
-# existing ROM monitor communication connection to
-# be closed. For this reason, the option is disabled
-# per default for normal application
-# configurations.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE  || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE == 1
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     DefaultValue:  !CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     Calculated:  CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     Requires: CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS
-};
-
-# Do diagnostic IO via virtual vector table
-# All HAL IO happens via the virtual vector table / comm
-# tables when those tables are supported by the HAL.
-# If so desired, the low-level IO functions can
-# still be provided by the RAM application by
-# enabling the CLAIM_COMMS option.
-#
-cdl_option CYGSEM_HAL_VIRTUAL_VECTOR_DIAG {
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires:  !CYGSEM_HAL_VIRTUAL_VECTOR_DIAG  || CYGSEM_HAL_VIRTUAL_VECTOR_CLAIM_COMMS 
-};
-
-# <
-# Behave as a ROM monitor
-# Enable this option if this program is to be used as a ROM monitor,
-# i.e. applications will be loaded into RAM on the TX27, and this
-# ROM monitor may process exceptions or interrupts generated from the
-# application. This enables features such as utilizing a separate
-# interrupt stack when exceptions are generated.
-#
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    # Flavor: bool
-    user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    # option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_ROM_MONITOR || CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     Requires: CYGSEM_HAL_ROM_MONITOR
-};
-
-# Work with a ROM monitor
-# Support can be enabled for different varieties of ROM monitor.
-# This support changes various eCos semantics such as the encoding
-# of diagnostic output, or the overriding of hardware interrupt
-# vectors.
-# Firstly there is "Generic" support which prevents the HAL
-# from overriding the hardware vectors that it does not use, to
-# instead allow an installed ROM monitor to handle them. This is
-# the most basic support which is likely to be common to most
-# implementations of ROM monitor.
-# "GDB_stubs" provides support when GDB stubs are included in
-# the ROM monitor or boot ROM.
-#
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0 0
-    # Legal values:  "Generic" "GDB_stubs" 
-    # Requires:  CYG_HAL_STARTUP == "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     Requires: ! CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     ActiveIf:  CYGSEM_HAL_USE_ROM_MONITOR || CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS 
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE
-    #     ActiveIf: CYGSEM_HAL_USE_ROM_MONITOR
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-};
-
-# <
-# Platform defined I/O channels.
-# Platforms which provide additional I/O channels can implement
-# this interface, indicating that the function plf_if_init()
-# needs to be called.
-#
-cdl_interface CYGINT_HAL_PLF_IF_INIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Platform IDE I/O support.
-# Platforms which provide IDE controllers can implement
-# this interface, indicating that IDE I/O macros are
-# available.
-#
-cdl_interface CYGINT_HAL_PLF_IF_IDE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_DISK_IDE
-    #     ActiveIf:  CYGINT_HAL_PLF_IF_IDE != 0 
-};
-
-# File I/O operations via GDB
-# This option enables support for various file I/O
-# operations using the GDB remote protocol to communicate
-# with GDB. The operations are then performed on the
-# debugging host by proxy. These operations are only
-# currently available by using a system call interface
-# to RedBoot. This may change in the future.
-#
-cdl_option CYGPKG_HAL_GDB_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-};
-
-# Build Compiler sanity checking tests
-# Enabling this option causes compiler tests to be built.
-#
-cdl_option CYGPKG_HAL_BUILD_COMPILER_TESTS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# Common HAL tests
-# This option specifies the set of tests for the common HAL.
-#
-cdl_component CYGPKG_HAL_TESTS {
-    # Calculated value:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-    #     CYGINT_HAL_TESTS_NO_CACHES == 0
-    #     CYGPKG_HAL_BUILD_COMPILER_TESTS == 0
-    #     CYGVAR_KERNEL_COUNTERS_CLOCK (unknown) == 0
-    # Flavor: data
-    # Current_value: tests/context tests/basic tests/cache tests/intr
-};
-
-# >
-# Interface for cache presence
-# Some architectures and/or platforms do not have caches. By
-# implementing this interface, these can disable the various
-# cache-related tests.
-#
-cdl_interface CYGINT_HAL_TESTS_NO_CACHES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_HAL_TESTS
-    #     Calculated:   "tests/context tests/basic"
-    #                           . ((!CYGINT_HAL_TESTS_NO_CACHES) ? " tests/cache" : "")
-    #                           . ((CYGPKG_HAL_BUILD_COMPILER_TESTS) ? " tests/cpp1 tests/vaargs" : "")
-    #                           . ((!CYGVAR_KERNEL_COUNTERS_CLOCK) ?   " tests/intr" : "") 
-};
-
-# <
-# ARM architecture
-# The ARM architecture HAL package provides generic
-# support for this processor architecture. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     ActiveIf:  CYGPKG_HAL_ARM || CYGPKG_HAL_POWERPC_MPC8xx  || CYGPKG_HAL_V85X_V850 || CYGSEM_HAL_VIRTUAL_VECTOR_DIAG 
-    # interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     ActiveIf: CYGPKG_HAL_ARM
-};
-
-# >
-# The CPU architecture supports THUMB mode
-#
-cdl_interface CYGINT_HAL_ARM_THUMB_ARCH {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_THUMB
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     ActiveIf:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-};
-
-# Enable Thumb instruction set
-# Enable use of the Thumb instruction set.
-#
-cdl_option CYGHWR_THUMB {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGBLD_ARM_ENABLE_THUMB_INTERWORK
-    #     DefaultValue:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-};
-
-# Enable Thumb interworking compiler option
-# This option controls the use of -mthumb-interwork in the
-# compiler flags. It defaults enabled in Thumb or ROM monitor
-# configurations, but can be overridden for reduced memory
-# footprint where interworking is not a requirement.
-#
-cdl_option CYGBLD_ARM_ENABLE_THUMB_INTERWORK {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_THUMB_ARCH != 0 
-    #     CYGINT_HAL_ARM_THUMB_ARCH == 0
-    #   --> 0
-
-    # Flavor: bool
-    user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source user
-    # Default value:  (CYGHWR_THUMB || CYGSEM_HAL_ROM_MONITOR) 
-    #     CYGHWR_THUMB == 0
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# The platform and architecture supports Big Endian operation
-#
-cdl_interface CYGINT_HAL_ARM_BIGENDIAN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_BIGENDIAN
-    #     ActiveIf:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-};
-
-# Use big-endian mode
-# Use the CPU in big-endian mode.
-#
-cdl_option CYGHWR_HAL_ARM_BIGENDIAN {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_ARM_BIGENDIAN != 0 
-    #     CYGINT_HAL_ARM_BIGENDIAN == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# The platform uses a processor with an ARM7 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM7 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with an ARM9 core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_ARM9 {
-    # Implemented by CYGPKG_HAL_ARM_MX27, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a StrongARM core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_STRONGARM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# The platform uses a processor with a XScale core
-#
-cdl_interface CYGINT_HAL_ARM_ARCH_XSCALE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     LegalValues:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    # option CYGHWR_HAL_ARM_CPU_FAMILY
-    #     DefaultValue:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-};
-
-# ARM CPU family
-# It is possible to optimize code for different
-# ARM CPU families. This option selects which CPU to
-# optimize for on boards that support multiple CPU types.
-#
-cdl_option CYGHWR_HAL_ARM_CPU_FAMILY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ARM9
-    # value_source default
-    # Default value:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : 
-    #                              (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : 
-    #                              (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : 
-    #                              (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" :
-    #                              "unknown" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-    #   --> ARM9
-    # Legal values:  (CYGINT_HAL_ARM_ARCH_ARM7 != 0) ? "ARM7" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_ARM9 != 0) ? "ARM9" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_STRONGARM != 0) ? "StrongARM" : ""
-    #                             (CYGINT_HAL_ARM_ARCH_XSCALE != 0) ? "XScale" : ""
-    #                             "" 
-    #     CYGINT_HAL_ARM_ARCH_ARM7 == 0
-    #     CYGINT_HAL_ARM_ARCH_ARM9 == 1
-    #     CYGINT_HAL_ARM_ARCH_STRONGARM == 0
-    #     CYGINT_HAL_ARM_ARCH_XSCALE == 0
-};
-
-# Provide diagnostic dump for exceptions
-# Print messages about hardware exceptions, including
-# raw exception frame dump and register contents.
-#
-cdl_option CYGHWR_HAL_ARM_DUMP_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 0
-};
-
-# Process all exceptions with the eCos application
-# Normal RAM-based programs which do not include GDB stubs 
-# defer processing of the illegal instruction exception to GDB.
-# Setting this options allows the program to explicitly handle
-# the illegal instruction exception itself.  Note: this will
-# prevent the use of GDB to debug the application as breakpoints
-# will no longer work.
-#
-cdl_option CYGIMP_HAL_PROCESS_ALL_EXCEPTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support GDB thread operations via ICE/Multi-ICE
-# Allow GDB to get thread information via the ICE/Multi-ICE
-# connection.
-#
-cdl_option CYGHWR_HAL_ARM_ICE_THREAD_SUPPORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT (unknown) == 0
-    #   --> 0
-};
-
-# Support for 'gprof' callbacks
-# The ARM HAL provides the macro for 'gprof' callbacks from RedBoot
-# to acquire the interrupt-context PC and SP, when this option is
-# active.
-#
-cdl_option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT {
-    # This option is not active
-    # ActiveIf constraint: CYGSEM_REDBOOT_BSP_SYSCALLS
-    #     CYGSEM_REDBOOT_BSP_SYSCALLS == 0
-    #   --> 0
-    # ActiveIf constraint:  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT || CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT 
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Accept exceptions and irq's occurring in user mode
-# For standalone Redboot based programs running in user mode.
-#
-cdl_option CYGOPT_HAL_ARM_WITH_USER_MODE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Preserve svc spsr before returning to svc mode
-# This option secures exception and breakpoint processing
-# triggered during execution of application specific SWI
-# handlers.
-#
-cdl_option CYGOPT_HAL_ARM_PRESERVE_SVC_SPSR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Linker script
-#
-cdl_option CYGBLD_LINKER_SCRIPT {
-    # Calculated value:  "src/arm.ld" 
-    # Flavor: data
-    # Current_value: src/arm.ld
-};
-
-# Implementations of hal_arm_mem_real_region_top()
-#
-cdl_interface CYGINT_HAL_ARM_MEM_REAL_REGION_TOP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Freescale SoC architecture
-# This HAL variant package provides generic
-# support for the Freescale SoC. It is also
-# necessary to select a specific target platform HAL
-# package.
-#
-cdl_package CYGPKG_HAL_ARM_MX27 {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-};
-
-# >
-# PLL base clock
-# The processor can run at various frequencies.
-# These values are expressed in KHz.  Note that there are
-# several steppings of the rate to run at different
-# maximum frequencies.  Check the specs to make sure that your
-# particular processor can run at the rate you select here.
-#
-cdl_option CYGHWR_HAL_ARM_SOC_PLL_REF_CLOCK {
-    # Flavor: data
-    user_value 33554432
-    # value_source user
-    # Default value: 26000000
-    # Legal values: 26000000 27000000 33554432 32768000
-};
-
-# Processor clock rate
-# The processor can run at various frequencies.
-# These values are expressed in KHz.  Note that there are
-# several steppings of the rate to run at different
-# maximum frequencies.  Check the specs to make sure that your
-# particular processor can run at the rate you select here.
-#
-cdl_option CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK {
-    # Flavor: data
-    user_value 399
-    # value_source user
-    # Default value:  CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT ?
-    #                             CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT : 399
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #     CYGHWR_HAL_ARM_SOC_PROCESSOR_CLOCK_OVERRIDE_DEFAULT (unknown) == 0
-    #   --> 399
-    # Legal values: 266 399
-};
-
-# System clock (hclk) rate
-# The processor can run at various frequencies.
-# These values are expressed in KHz.  Note that there are
-# several steppings of the rate to run at different
-# maximum frequencies.  Check the specs to make sure that your
-# particular processor can run at the rate you select here.
-#
-cdl_option CYGHWR_HAL_ARM_SOC_SYSTEM_CLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 133
-    # value_source default
-    # Default value: 133
-    # Legal values: 133 100
-};
-
-# Real-time clock constants
-#
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    # There is no associated value.
-};
-
-# >
-# Real-time clock numerator
-#
-cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-    # Calculated value: 1000000000
-    # Flavor: data
-    # Current_value: 1000000000
-};
-
-# Real-time clock denominator
-# This option selects the heartbeat rate for the real-time clock.
-# The rate is specified in ticks per second.  Change this value
-# with caution - too high and your system will become saturated
-# just handling clock interrupts, too low and some operations
-# such as thread scheduling may become sluggish.
-#
-cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 100
-    # value_source default
-    # Default value: 100
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_RTC_PERIOD
-    #     Calculated: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-};
-
-# Real-time clock period
-#
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    # Calculated value: (3686400/CYGNUM_HAL_RTC_DENOMINATOR)
-    #     CYGNUM_HAL_RTC_DENOMINATOR == 100
-    # Flavor: data
-    # Current_value: 36864
-};
-
-# <
-# UART1 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART1 {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART2 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART2 {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART3 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART3 {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART4 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART4 {
-    # Implemented by CYGPKG_HAL_ARM_TX27KARO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-};
-
-# UART5 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART5 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# UART6 available as diagnostic/debug channel
-# The chip has multiple serial channels which may be
-# used for different things on different platforms.  This
-# interface allows a platform to indicate that the specified
-# serial port can be used as a diagnostic and/or debug channel.
-#
-cdl_interface CYGHWR_HAL_ARM_SOC_UART6 {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# Ka-Ro TX27 module
-# This HAL platform package provides generic
-# support for the Ka-Ro electronics TX27 module.
-#
-cdl_package CYGPKG_HAL_ARM_TX27KARO {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 v1_0
-    # Requires: CYGINT_ISO_CTYPE
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-};
-
-# >
-# Startup type
-# The only startup type allowed is ROMRAM, since this will allow
-# the program to exist in ROM, but be copied to RAM during startup
-# which is required to boot from NAND flash.
-#
-cdl_component CYG_HAL_STARTUP {
-    # Flavor: data
-    user_value ROMRAM
-    # value_source user
-    # Default value: ROMRAM
-    # Legal values: "ROMRAM"
-
-    # The following properties are affected by this value
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "arm_tx27_ram" :
-    #                          (CYG_HAL_STARTUP == "ROMRAM") ? "arm_tx27_romram" :
-    #                                                       "arm_tx27_rom" 
-    # component CYGHWR_MEMORY_LAYOUT
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "arm_tx27_ram" :
-    #                          (CYG_HAL_STARTUP == "ROMRAM") ? "arm_tx27_romram" :
-    #                                                       "arm_tx27_rom" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx27_ram.ldi>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx27_romram.ldi>" :
-    #                                                              "<pkgconf/mlt_arm_tx27_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_LDI
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx27_ram.ldi>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx27_romram.ldi>" :
-    #                                                              "<pkgconf/mlt_arm_tx27_rom.ldi>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx27_ram.h>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx27_romram.h>" :
-    #                                                              "<pkgconf/mlt_arm_tx27_rom.h>" 
-    # option CYGHWR_MEMORY_LAYOUT_H
-    #     Calculated:  (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx27_ram.h>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx27_romram.h>" :
-    #                                                              "<pkgconf/mlt_arm_tx27_rom.h>" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     DefaultValue:  CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 
-    # option CYGSEM_HAL_USE_ROM_MONITOR
-    #     Requires:  CYG_HAL_STARTUP == "RAM" 
-    # option CYGSEM_HAL_INSTALL_MMU_TABLES
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" 
-    # component CYGDBG_HAL_DIAG_TO_DEBUG_CHAN
-    #     DefaultValue:  (CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  || CYG_HAL_STARTUP == "RAM") ? 1 : 0
-    # option CYGSEM_HAL_VIRTUAL_VECTOR_INIT_WHOLE_TABLE
-    #     DefaultValue:  CYG_HAL_STARTUP != "RAM" || !CYGSEM_HAL_USE_ROM_MONITOR 
-    # option CYGBLD_BUILD_REDBOOT_WITH_THREADS
-    #     ActiveIf:  CYG_HAL_STARTUP != "RAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    # option CYGPRI_REDBOOT_ROM_MONITOR
-    #     ActiveIf:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-};
-
-# Diagnostic serial port baud rate
-# This option selects the baud rate used for the console port.
-# Note: this should match the value chosen for the GDB port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# GDB serial port baud rate
-# This option selects the baud rate used for the GDB port.
-# Note: this should match the value chosen for the console port if the
-# console and GDB port are the same.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 115200
-    # value_source default
-    # Default value: 115200
-    # Legal values: 9600 19200 38400 57600 115200
-};
-
-# Number of communication channels on the TX27
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    # Calculated value: 3
-    # Flavor: data
-    # Current_value: 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     LegalValues: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-};
-
-# Debug serial port
-# The TX27 provides access to three serial ports. This option
-# chooses which port will be used to connect to a host
-# running GDB.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE == 1
-    #   --> 1
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Default console channel.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-    # Calculated value: 0
-    # Flavor: data
-    # Current_value: 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-
-    # The following properties are affected by this value
-    # option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL
-    #     DefaultValue: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-};
-
-# Console serial port
-# The TX27 provides access to three serial ports. This option
-# chooses which port will be used for console output.
-#
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    # This option is not active
-    # ActiveIf constraint: CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-    #     CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT == 0
-    #   --> 0
-    # Legal values: 0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    #     CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS == 3
-};
-
-# Ka-Ro electronics TX27 module build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_HAL_ARM_TX27_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the TX27 HAL. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_HAL_ARM_TX27_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the TX27 HAL. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_HAL_ARM_TX27_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# Memory layout
-#
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    # Calculated value:  (CYG_HAL_STARTUP == "RAM")    ? "arm_tx27_ram" :
-    #                          (CYG_HAL_STARTUP == "ROMRAM") ? "arm_tx27_romram" :
-    #                                                       "arm_tx27_rom" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    # Flavor: data
-    # Current_value: arm_tx27_romram
-};
-
-# >
-# Memory layout linker script fragment
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-    # Calculated value:  (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx27_ram.ldi>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx27_romram.ldi>" :
-    #                                                              "<pkgconf/mlt_arm_tx27_rom.ldi>" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx27_romram.ldi>
-};
-
-# Memory layout header file
-#
-cdl_option CYGHWR_MEMORY_LAYOUT_H {
-    # Calculated value:  (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx27_ram.h>" :
-    #                              (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx27_romram.h>" :
-    #                                                              "<pkgconf/mlt_arm_tx27_rom.h>" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    # Flavor: data
-    # Current_value: <pkgconf/mlt_arm_tx27_romram.h>
-};
-
-# <
-# <
-# <
-# <
-# <
-# Infrastructure
-# Common types and useful macros.
-# Tracing and assertion facilities.
-# Package startup options.
-#
-cdl_package CYGPKG_INFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_HAL
-    #     Requires: CYGPKG_INFRA
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_INFRA
-    # package CYGPKG_IO_I2C
-    #     Requires: CYGPKG_INFRA CYGPKG_HAL
-};
-
-# >
-# Asserts & Tracing
-# The eCos source code contains a significant amount of
-# internal debugging support, in the form of assertions and
-# tracing.
-# Assertions check at runtime that various conditions are as
-# expected; if not, execution is halted.
-# Tracing takes the form of text messages that are output
-# whenever certain events occur, or whenever functions are
-# called or return.
-# The most important property of these checks and messages is
-# that they are not required for the program to run.
-# It is prudent to develop software with assertions enabled,
-# but disable them when making a product release, thus
-# removing the overhead of that checking.
-# It is possible to enable assertions and tracing
-# independently.
-# There are also options controlling the exact behaviour of
-# the assertion and tracing facilities, thus giving users
-# finer control over the code and data size requirements.
-#
-cdl_component CYGPKG_INFRA_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Use asserts
-# If this option is defined, asserts in the code are tested.
-# Assert functions (CYG_ASSERT()) are defined in
-# 'include/cyg/infra/cyg_ass.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no checking of the asserted conditions.
-#
-cdl_component CYGDBG_USE_ASSERTS {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     Requires: CYGDBG_USE_ASSERTS
-    # option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG
-    #     DefaultValue:  0 != CYGDBG_USE_ASSERTS 
-};
-
-# >
-# Preconditions
-# This option allows individual control of preconditions.
-# A precondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_PRECONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Postconditions
-# This option allows individual control of postconditions.
-# A postcondition is one type of assert, which it is
-# useful to control separately from more general asserts.
-# The function is CYG_POSTCONDITION(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_POSTCONDITIONS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Loop invariants
-# This option allows individual control of loop invariants.
-# A loop invariant is one type of assert, which it is
-# useful to control separately from more general asserts,
-# particularly since a loop invariant is typically evaluated
-# a great many times when used correctly.
-# The function is CYG_LOOP_INVARIANT(condition,msg).
-#
-cdl_option CYGDBG_INFRA_DEBUG_LOOP_INVARIANTS {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use assert text
-# All assertions within eCos contain a text message
-# which should give some information about the condition
-# being tested.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information if an assertion actually gets
-# triggered.
-#
-cdl_option CYGDBG_INFRA_DEBUG_ASSERT_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_ASSERTS is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use tracing
-# If this option is defined, tracing operations
-# result in output or logging, depending on other options.
-# This may have adverse effects on performance, if the time
-# taken to output message overwhelms the available CPU
-# power or output bandwidth.
-# Trace functions (CYG_TRACE()) are defined in
-# 'include/cyg/infra/cyg_trac.h' within the 'install' tree.
-# If it is not defined, these result in no additional
-# object code and no trace information.
-#
-cdl_component CYGDBG_USE_TRACING {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    #     CYGINT_INFRA_DEBUG_TRACE_IMPL == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT
-    #     ActiveIf: CYGDBG_USE_TRACING
-    # option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT
-    #     ActiveIf: CYGDBG_USE_TRACING
-};
-
-# >
-# Trace function reports
-# This option allows individual control of
-# function entry/exit tracing, independent of
-# more general tracing output.
-# This may be useful to remove clutter from a
-# trace log.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use trace text
-# All trace calls within eCos contain a text message
-# which should give some information about the circumstances.
-# These text messages will end up being embedded in the
-# application image and hence there is a significant penalty
-# in terms of image size.
-# It is possible to suppress the use of these messages by
-# disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    # This option is not active
-    # The parent CYGDBG_USE_TRACING is not active
-    # The parent CYGDBG_USE_TRACING is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Trace output implementations
-#
-cdl_interface CYGINT_INFRA_DEBUG_TRACE_IMPL {
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY, inactive, disabled
-    # Implemented by CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER, inactive, enabled
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # component CYGDBG_USE_ASSERTS
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-    # component CYGDBG_USE_TRACING
-    #     Requires:  1 == CYGINT_INFRA_DEBUG_TRACE_IMPL 
-};
-
-# Null output
-# A null output module which is useful when
-# debugging interactively; the output routines
-# can be breakpointed rather than have them actually
-# 'print' something.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_NULL {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Simple output
-# An output module which produces simple output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Fancy output
-# An output module which produces fancy output
-# from tracing and assertion events.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_ASSERT_FANCY {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Buffered tracing
-# An output module which buffers output
-# from tracing and assertion events. The stored
-# messages are output when an assert fires, or
-# CYG_TRACE_PRINT() (defined in <cyg/infra/cyg_trac.h>)
-# is called.
-# Of course, there will only be stored messages
-# if tracing per se (CYGDBG_USE_TRACING)
-# is enabled above.
-#
-cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Trace buffer size
-# The size of the trace buffer. This counts the number
-# of trace records stored. When the buffer fills it
-# either wraps, stops recording, or generates output.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 32
-    # value_source default
-    # Default value: 32
-    # Legal values: 5 to 65535
-};
-
-# Wrap trace buffer when full
-# When the trace buffer has filled with records it
-# starts again at the beginning. Hence only the last
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_WRAP {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Halt trace buffer when full
-# When the trace buffer has filled with records it
-# stops recording. Hence only the first
-# CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE messages will
-# be recorded.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_HALT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer when full
-# When the trace buffer has filled with records it
-# prints the contents of the buffer. The buffer is then
-# emptied and the system continues.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Print trace buffer on assert fail
-# When an assertion fails the trace buffer will be 
-# printed to the default diagnostic device.
-#
-cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_PRINT_ON_ASSERT {
-    # This option is not active
-    # The parent CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER is not active
-    # ActiveIf constraint: CYGDBG_USE_TRACING
-    #     CYGDBG_USE_TRACING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Use function names
-# All trace and assert calls within eCos contain a
-# reference to the builtin macro '__PRETTY_FUNCTION__',
-# which evaluates to a string containing
-# the name of the current function.
-# This is useful when reading a trace log.
-# It is possible to suppress the use of the function name
-# by disabling this option.
-# This results in smaller code size, but there is less
-# human-readable information available in the trace output,
-# possibly only filenames and line numbers.
-#
-cdl_option CYGDBG_INFRA_DEBUG_FUNCTION_PSEUDOMACRO {
-    # This option is not active
-    # The parent CYGPKG_INFRA_DEBUG is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Startup options
-# Some packages require a startup routine to be called.
-# This can be carried out by application code, by supplying
-# a routine called cyg_package_start() which calls the
-# appropriate package startup routine(s).
-# Alternatively, this routine can be constructed automatically
-# and configured to call the startup routines of your choice.
-#
-cdl_component CYGPKG_INFRA_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# Start uITRON subsystem
-# Generate a call to initialize the
-# uITRON compatibility subsystem
-# within the system version of cyg_package_start().
-# This enables compatibility with uITRON.
-# You must configure uITRON with the correct tasks before
-# starting the uItron subsystem.
-# If this is disabled, and you want to use uITRON,
-# you must call cyg_uitron_start() from your own
-# cyg_package_start() or cyg_userstart().
-#
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGPKG_UITRON
-    #     CYGPKG_UITRON (unknown) == 0
-    #   --> 0
-};
-
-# <
-# Smaller slower memcpy()
-# Enabling this option causes the implementation of
-# the standard memcpy() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memcpy() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Smaller slower memset()
-# Enabling this option causes the implementation of
-# the standard memset() routine to reduce code
-# size at the expense of execution speed. This
-# option is automatically enabled with the use of
-# the -Os option to the compiler. Also note that
-# the compiler will try to use its own builtin
-# version of memset() if possible, ignoring the
-# implementation in this package, unless given
-# the -fno-builtin compiler option.
-#
-cdl_option CYGIMP_INFRA_PREFER_SMALL_TO_FAST_MEMSET {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide empty C++ delete functions
-# To deal with virtual destructors, where the correct delete()
-# function must be called for the derived class in question, the
-# underlying delete is called when needed, from destructors.  This
-# is regardless of whether the destructor is called by delete itself.
-# So there is a reference to delete() from all destructors.  The
-# default builtin delete() attempts to call free() if there is
-# one defined.  So, if you have destructors, and you have free(),
-# as in malloc() and free(), any destructor counts as a reference
-# to free().  So the dynamic memory allocation code is linked
-# in regardless of whether it gets explicitly called. This
-# increases code and data size needlessly.
-# To defeat this undesirable behaviour, we define empty versions
-# of delete and delete.  But doing this prevents proper use
-# of dynamic memory in C++ programs via C++'s new and delete
-# operators.
-# Therefore, this option is provided
-# for explicitly disabling the provision of these empty functions,
-# so that new and delete can be used, if that is what is required.
-#
-cdl_option CYGFUN_INFRA_EMPTY_DELETE_FUNCTIONS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Provide dummy abort() function
-# This option controls the inclusion of a dummy abort() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to abort(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. It is not expected that this function
-# will ever be called, so its current behaviour is to simply loop.
-#
-cdl_option CYGFUN_INFRA_DUMMY_ABORT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  CYGINT_ISO_EXIT == 0 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-    # Requires: !CYGINT_ISO_EXIT
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-};
-
-# Reset platform at end of test case execution
-# If this option is set then test case programs will reset the platform
-# when they terminate, as opposed to the default which is to just hang
-# in a loop.
-#
-cdl_option CYGSEM_INFRA_RESET_ON_TEST_EXIT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Provide dummy strlen() function
-# This option controls the inclusion of a dummy strlen() function.
-# Parts of the C and C++ compiler runtime systems contain references
-# to strlen(), particulary in the C++ exception handling code. It is
-# not possible to eliminate these references, so this dummy function
-# in included to satisfy them. While it is not expected that this function
-# will ever be called, it is functional but uses the simplest, smallest
-# algorithm. There is a faster version of strlen() in the C library.
-#
-cdl_option CYGFUN_INFRA_DUMMY_STRLEN {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-    # Requires: !CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 0
-};
-
-# Make all compiler warnings show as errors
-# Enabling this option will cause all compiler warnings to show
-# as errors and bring the library build to a halt. This is used
-# to ensure that the code base is warning free, and thus ensure
-# that newly introduced warnings stand out and get fixed before
-# they show up as weird run-time behavior.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_WARNINGS_AS_ERRORS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -Werror") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-    #   --> 0
-};
-
-# Make compiler and assembler communicate by pipe
-# Enabling this option will cause the compiler to feed the
-# assembly output the the assembler via a pipe instead of
-# via a temporary file. This normally reduces the build
-# time.
-#
-cdl_option CYGBLD_INFRA_CFLAGS_PIPE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  is_substr(CYGBLD_GLOBAL_CFLAGS, " -pipe") 
-    #     CYGBLD_GLOBAL_CFLAGS == "-mcpu=arm9 -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority"
-    #   --> 0
-};
-
-# Infra build options
-# Package specific build options including control over
-# compiler flags used only in building this package.
-#
-cdl_component CYGPKG_INFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are used
-# in addition to the set of global flags.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the eCos infra package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--gc-sections
-    # value_source default
-    # Default value: -Wl,--gc-sections
-};
-
-# Additional linker flags
-# This option modifies the set of linker flags for
-# building the eCos infra package tests. These flags are added to
-# the set of global flags if present.
-#
-cdl_option CYGPKG_INFRA_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wl,--fatal-warnings
-    # value_source default
-    # Default value: -Wl,--fatal-warnings
-};
-
-# Infra package tests
-#
-cdl_component CYGPKG_INFRA_TESTS {
-    # Calculated value:  "tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2" 
-    # Flavor: data
-    # Current_value: tests/cxxsupp tests/diag_sprintf1 tests/diag_sprintf2
-};
-
-# >
-# Number of times a test runs
-# This option controls the number of times tests will execute their
-# basic function.  Not all tests will honor this setting, but those
-# that do will execute the test N times before terminating.  A value
-# less than 0 indicates to run forever.
-#
-cdl_option CYGNUM_TESTS_RUN_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# <
-# Redboot ROM monitor
-# doc: ref/redboot.html
-# This package supports the Redboot [stand-alone debug monitor]
-# using eCos as the underlying board support mechanism.
-#
-cdl_package CYGPKG_REDBOOT {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0 
-    #     CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # component CYGPKG_REDBOOT_HAL_TX27_OPTIONS
-    #     ActiveIf: CYGPKG_REDBOOT
-    # option CYGSEM_IO_ETH_DRIVERS_WARN
-    #     ActiveIf: CYGPKG_REDBOOT
-};
-
-# >
-# Include support for ELF file format
-#
-cdl_component CYGSEM_REDBOOT_ELF {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-};
-
-# >
-# Use the virtual address in the ELF headers
-# The ELF headers contain both a virtual and a physical address
-# for where code/data should be loaded. By default the physical
-# address is used but sometimes it is necassary to use the
-# virtual address because of bugy toolchains
-#
-cdl_option CYGOPT_REDBOOT_ELF_VIRTUAL_ADDRESS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Methods of loading images using redboot
-#
-cdl_interface CYGINT_REDBOOT_LOAD_METHOD {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM, active, enabled
-    # Implemented by CYGPKG_REDBOOT_NETWORKING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 2
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_REDBOOT_LOAD_METHOD
-};
-
-# Build Redboot ROM ELF image
-# This option enables the building of the Redboot ELF image.
-# The image may require further relocation or symbol
-# stripping before being converted to a binary image.
-# This is handled by a rule in the target CDL.
-#
-cdl_component CYGBLD_BUILD_REDBOOT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires: CYGPKG_INFRA
-    #     CYGPKG_INFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    #     CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT == 0
-    #   --> 1
-    # Requires: ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    #     CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM == 0
-    #   --> 1
-    # Requires: CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT
-    #     CYGSEM_HAL_VIRTUAL_VECTOR_SUPPORT == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_MEMFUNCS
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-    # Requires: CYGINT_REDBOOT_LOAD_METHOD
-    #     CYGINT_REDBOOT_LOAD_METHOD == 2
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGBLD_BUILD_REDBOOT_BIN
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT
-};
-
-# >
-# Include GDB support in RedBoot
-# RedBoot normally includes support for the GDB debugging
-# protocols. This option allows this to be disabled which
-# may yield a substantial savings in terms of code and memory 
-# usage by RedBoot.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
-    # ActiveIf constraint: CYGINT_HAL_DEBUG_GDB_STUBS
-    #     CYGINT_HAL_DEBUG_GDB_STUBS == 1
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    #     CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS == 1
-    #   --> 1
-    # Requires: CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT == 1
-    #   --> 1
-};
-
-# Threads debugging support
-# Enabling this option will include special code in the
-# GDB stubs to support debugging of threaded programs.  In
-# the case of eCos programs, this support allows GDB to
-# have complete access to the eCos threads in the
-# program.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_THREADS {
-    # ActiveIf constraint:  CYG_HAL_STARTUP != "RAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires: CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    #     CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT == 1
-    #   --> 1
-};
-
-# Customized version string
-# Use this option to define a customized version "string" for
-# RedBoot.  Note: this value is only cosmetic, displayed by the
-# "version" command, but is useful for providing site specific
-# information about the RedBoot configuration.
-#
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    # Flavor: booldata
-    user_value 1 "Ka-Ro 2008-02-05"
-    # value_source user
-    # Default value: 0 0
-};
-
-# Enable command line editing
-# If this option is non-zero, RedBoot will remember the
-# last N command lines.  These lines may be reused.
-# Enabling this history will also enable rudimentary
-# editting of the lines themselves.
-#
-cdl_option CYGNUM_REDBOOT_CMD_LINE_EDITING {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16
-    # value_source default
-    # Default value: 16
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES
-    #     ActiveIf: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    # option CYGBLD_REDBOOT_CMD_LINE_HISTORY
-    #     Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-};
-
-# Enable command line editing using ANSI arrows, etc
-# If this option is enabled, RedBoot will accept standard ANSI key
-# sequences for cursor movement (along with the emacs style keys).
-#
-cdl_option CYGSEM_REDBOOT_CMD_LINE_ANSI_SEQUENCES {
-    # ActiveIf constraint: CYGNUM_REDBOOT_CMD_LINE_EDITING != 0
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Enable history command and expansion
-# Enabling this option will allow RedBoot to provide a
-# history command to list previous commands. Also enables
-# history expansion via '!'  character similar to bash
-# shell.
-#
-cdl_option CYGBLD_REDBOOT_CMD_LINE_HISTORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGNUM_REDBOOT_CMD_LINE_EDITING > 0 
-    #     CYGNUM_REDBOOT_CMD_LINE_EDITING == 16
-    #   --> 1
-};
-
-# Number of unique RAM segments on platform
-# Change this option to be the number of memory segments which are
-# supported by the platform.  If the value is greater than 1, then
-# a platform specific function must provide information about the
-# additional segments.
-#
-cdl_option CYGBLD_REDBOOT_MAX_MEM_SEGMENTS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include support gzip/zlib decompression
-#
-cdl_component CYGBLD_BUILD_REDBOOT_WITH_ZLIB {
-    # ActiveIf constraint: CYGPKG_COMPRESS_ZLIB
-    #     CYGPKG_COMPRESS_ZLIB == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# >
-# Size of zlib decompression buffer
-# This is the size of the buffer filled with incoming data
-# during load before calls are made to the decompressor
-# function. For ethernet downloads this can be made bigger
-# (at the cost of memory), but for serial downloads on slow
-# processors it may be necessary to reduce the size to
-# avoid serial overruns. zlib appears to bail out if less 
-# than five bytes are available initially so this is the 
-# minimum.
-#
-cdl_option CYGNUM_REDBOOT_LOAD_ZLIB_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 64
-    # value_source default
-    # Default value: 64
-    # Legal values: 5 to 256
-};
-
-# Support compression of Flash images
-# This CDL indicates whether flash images can
-# be decompressed from gzip/zlib format into RAM.
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH {
-    # ActiveIf constraint: CYGPKG_REDBOOT_FLASH
-    #     CYGPKG_REDBOOT_FLASH == 1
-    #   --> 1
-    # ActiveIf constraint:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #     CYGPRI_REDBOOT_ZLIB_FLASH_FORCE == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Include GZIP uncompress command
-# Enable this option to include a 'gunzip' command 
-# to uncompress GZIP compressed data.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GUNZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Turn on CYGPRI_REDBOOT_ZLIB_FLASH
-# Force CYGPRI_REDBOOT_ZLIB_FLASH to be chosen
-#
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-};
-
-# <
-# Include support for xyzModem downloads
-# doc: ref/download-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_XYZMODEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include MS Windows CE support
-# doc: ref/wince.html
-# This option enables MS Windows CE EShell support
-# and Windows CE .BIN images support
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-};
-
-# Include support for MXC USB downloads
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 0
-};
-
-# Include POSIX checksum command
-# doc: ref/cksum-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CKSUM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory fill command
-# doc: ref/mfill-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MFILL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory compare command
-# doc: ref/mcmp-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory copy command
-# doc: ref/mcopy-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MCOPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include memory dump command
-# doc: ref/dump-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_DUMP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include cache command
-# doc: ref/cache-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_CACHES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Include exec command
-# doc: ref/exec-command.html
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_ARM_LINUX_EXEC
-    #     ActiveIf: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-};
-
-# Include I/O Memory commands 'iopeek' and 'iopoke'
-#
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_IOMEM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Granularity of timer/ticks
-# This option controls the granularity of the timers.
-# Faster CPUs can afford higher granularity (lower values)
-# which should give higher network performance since the stack
-# is purely polled.
-#
-cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
-    # Flavor: data
-    user_value 50
-    # value_source user
-    # Default value: 250
-    # Legal values:  10 25 50 100 250 500 1000 
-};
-
-# Redboot Networking
-# This option includes networking support in RedBoot.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING {
-    # ActiveIf constraint: CYGPKG_IO_ETH_DRIVERS
-    #     CYGPKG_IO_ETH_DRIVERS == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_ETH_DRIVERS_PASS_PACKETS
-    #     DefaultValue:  0 != CYGPKG_REDBOOT_NETWORKING 
-};
-
-# >
-# Print net debug information
-# This option is overriden by the configuration stored 
-# in flash.
-#
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Support TFTP for download
-# This option enables the use of the TFTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_TFTP_DOWNLOAD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support HTTP for download
-# This option enables the use of the HTTP protocol for 
-# download
-#
-cdl_option CYGSEM_REDBOOT_NET_HTTP_DOWNLOAD {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Default IP address
-# This IP address is the default used by RedBoot if
-# a BOOTP/DHCP server does not respond. The numbers
-# should be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# >
-# Do not try to use BOOTP
-# By default Redboot tries to use BOOTP to get an IP
-# address. If there's no BOOTP server on your network
-# use this option to avoid to wait until the
-# timeout. This option is overriden by the
-# configuration stored in flash.
-#
-cdl_option CYGSEM_REDBOOT_DEFAULT_NO_BOOTP {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Default bootp server
-# This IP address is the default server
-# address used by RedBoot if a BOOTP/DHCP
-# server does not respond. The numbers should
-# be separated by *commas*, and not dots. If
-# an IP address is configured into the Flash
-# configuration, that will be used in
-# preference.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR {
-    # This option is not active
-    # The parent CYGDAT_REDBOOT_DEFAULT_IP_ADDR is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# Use DHCP to get IP information
-# Use DHCP protocol to obtain pertinent IP addresses, such 
-# as the client, server, gateway, etc.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_DHCP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    #     Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-};
-
-# Use a gateway for non-local IP traffic
-# Enabling this option will allow the RedBoot networking
-# stack to use a [single] gateway to reach a non-local
-# IP address.  If disabled, RedBoot will only be able to
-# reach nodes on the same subnet.
-#
-cdl_component CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGSEM_REDBOOT_NETWORKING_DHCP
-    #     CYGSEM_REDBOOT_NETWORKING_DHCP == 1
-    #   --> 1
-};
-
-# >
-# Default gateway IP address
-# This IP address is the default used by RedBoot
-# if a BOOTP/DHCP server does not respond. The
-# numbers should be separated by *commas*, and
-# not dots. If an IP address is configured into
-# the Flash configuration, that will be used in
-# preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# Default IP address mask
-# This IP address mask is the default used by
-# RedBoot if a BOOTP/DHCP server does not
-# respond. The numbers should be separated by
-# *commas*, and not dots. If an IP address is
-# configured into the Flash configuration, that
-# will be used in preference.
-#
-cdl_component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0 0
-};
-
-# <
-# TCP port to listen for incoming connections
-# RedBoot will 'listen' on this port for incoming TCP 
-# connections. This allows outside connections to be made 
-# to the platform, either for GDB or RedBoot commands.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_TCP_PORT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 9000
-    # value_source default
-    # Default value: 9000
-};
-
-# Number of [network] packet buffers
-# RedBoot may need to buffer network data to support
-# various connections.  This option allows control
-# over the number of such buffered packets, and in
-# turn, controls the amount of memory used by RedBoot
-# (which is not available to user applications).
-# Each packet buffer takes up about 1514 bytes.
-# Note: there is little need to make this larger than
-# the default.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_MAX_PKTBUF {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-    # Legal values: 3 to 8
-};
-
-# DNS support
-# When this option is enabled, RedBoot will be built with
-# support for DNS, allowing use of hostnames on the command
-# line.
-#
-cdl_component CYGPKG_REDBOOT_NETWORKING_DNS {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_NS_DNS
-    #     CYGPKG_NS_DNS (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: !CYGPKG_NS_DNS_BUILD
-    #     CYGPKG_NS_DNS_BUILD (unknown) == 0
-    #   --> 1
-};
-
-# >
-# Default DNS IP
-# This option sets the IP of the default DNS. The IP can be
-# changed at runtime as well.
-#
-cdl_option CYGPKG_REDBOOT_NETWORKING_DNS_IP {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-    # ActiveIf constraint: !CYGSEM_REDBOOT_FLASH_CONFIG
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0.0.0.0
-    # value_source default
-    # Default value: 0.0.0.0
-};
-
-# Timeout in DNS lookup
-# This option sets the timeout used when looking up an
-# address via the DNS. Default is 10 seconds.
-#
-cdl_option CYGNUM_REDBOOT_NETWORKING_DNS_TIMEOUT {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_NETWORKING_DNS is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# <
-# Default network device driver
-# This is the name of the default network device to use.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGSEM_REDBOOT_FLASH_CONFIG && CYGHWR_NET_DRIVERS > 1 
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #     CYGHWR_NET_DRIVERS == 1
-    #   --> 0
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"\""
-    # value_source default
-    # Default value: "\"\""
-};
-
-# Initialize only one net device
-# This option tells RedBoot to stop initializing network
-# devices when it finds the first device which is
-# successfully initialized. The default behavior causes
-# all network devices to be initialized.
-#
-cdl_option CYGSEM_REDBOOT_NETWORK_INIT_ONE_DEVICE {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_NET_DRIVERS > 1 
-    #     CYGHWR_NET_DRIVERS == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Let RedBoot use any I/O channel for its console.
-# If this option is enabled then RedBoot will attempt to use all
-# defined serial I/O channels for its console device.  Once input
-# arrives at one of these channels then the console will use only
-# that port.
-#
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 1
-};
-
-# Let RedBoot adjust the baud off the serial console.
-# If this option is enabled then RedBoot will support commands 
-# to set and query the baud rate on the selected console.
-#
-cdl_option CYGSEM_REDBOOT_VARIABLE_BAUD_RATE {
-    # ActiveIf constraint: CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    #     CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Run a platform specific startup function.
-# If this option is enabled then RedBoot will execute a platform
-# specific startup function before entering into its command line
-# processing.  This allows the platform to perform any special
-# setups before RedBoot actually starts running.  Note: the entire
-# RedBoot environment will already be initialized at this point.
-#
-cdl_option CYGSEM_REDBOOT_PLF_STARTUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Run a platform specific ESA validation function.
-# If this option is enabled then RedBoot will execute a platform
-# specific function to validate an ethernet ESA.  This would be
-# useful if the address must conform to standards set by the
-# hardware manufacturer, etc.
-#
-cdl_option CYGSEM_REDBOOT_PLF_ESA_VALIDATE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Maximum command line length
-# This option allows control over how long the CLI command line
-# should be.  This space will be allocated statically
-# rather than from RedBoot's stack.
-#
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    # Flavor: data
-    user_value 1024
-    # value_source user
-    # Default value: 256
-};
-
-# Command processing idle timeout (ms)
-# This option controls the timeout period before the
-# command processing is considered 'idle'.  Making this
-# number smaller will cause idle processing to take place
-# more often, etc.  The default value of 10ms is a reasonable
-# tradeoff between responsiveness and overhead.
-#
-cdl_option CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 10
-    # value_source default
-    # Default value: 10
-};
-
-# Validate RAM addresses during load
-# This option controls whether or not RedBoot will make
-# sure that memory being used by the "load" command is
-# in fact in user RAM.  Leaving the option enabled makes
-# for a safer environment, but this check may not be valid
-# on all platforms, thus the ability to disable it.  
-# ** Disable this only with great care **
-#
-cdl_option CYGSEM_REDBOOT_VALIDATE_USER_RAM_LOADS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Allow RedBoot to support FLASH programming
-# If this option is enabled then RedBoot will provide commands
-# to manage images in FLASH memory.  These images can be loaded
-# into memory for execution or executed in place.
-#
-cdl_component CYGPKG_REDBOOT_FLASH {
-    # ActiveIf constraint: CYGHWR_IO_FLASH_DEVICE
-    #     CYGHWR_IO_FLASH_DEVICE == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf: CYGPKG_REDBOOT_FLASH
-};
-
-# >
-# Byte order used to store info in flash.
-# This option controls the byte ordering used to store
-# the FIS directory info and flash config info.
-#
-cdl_option CYGOPT_REDBOOT_FLASH_BYTEORDER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value NATURAL
-    # value_source default
-    # Default value: NATURAL
-    # Legal values: "NATURAL" "MSBFIRST" "LSBFIRST" 
-};
-
-# RedBoot Flash Image System support
-# doc: ref/flash-image-system.html
-# This option enables the Flash Image System commands
-# and support within RedBoot.  If disabled, simple Flash
-# access commands such as "fis write" will still exist.
-# This option would be disabled for targets that need simple
-# FLASH manipulation, but do not have the need or space for
-# complete image management.
-#
-cdl_option CYGOPT_REDBOOT_FIS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FIS_CONTENTS
-    #     ActiveIf: CYGOPT_REDBOOT_FIS
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER
-    #     ActiveIf:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-};
-
-# Max number of chunks of free space to manage
-# If this option is defined then "fis free" will
-# rely on the FIS directory to determine what space is
-# free within the FLASH.  This option controls the
-# maximum number of free segment which can be handled
-# (typically this number is small).  If this option is
-# not enabled, the the archaic behaviour of actually
-# scanning the FLASH for erased sectors (unreliable)
-# will be used to determine what's free and what's
-# not.
-#
-cdl_option CYGDAT_REDBOOT_FIS_MAX_FREE_CHUNKS {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 32
-    # value_source default
-    # Default value: 1 32
-};
-
-# Flash Image System default directory contents
-#
-cdl_component CYGPKG_REDBOOT_FIS_CONTENTS {
-    # ActiveIf constraint: CYGOPT_REDBOOT_FIS
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# >
-# Flash block containing the Directory
-# Which block of flash should hold the directory
-# information. Positive numbers are absolute block
-# numbers.  Negative block numbers count backwards
-# from the last block.  eg 2 means block 2, -2
-# means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -1
-    # value_source default
-    # Default value: -1
-};
-
-# Pseudo-file to describe reserved area
-# If an area of FLASH is reserved, it is informative to
-# have a fis entry describing it.  This option controls
-# creation of such an entry by default in the fis init
-# command.
-#
-cdl_option CYGOPT_REDBOOT_FIS_RESERVED_BASE {
-    # This option is not active
-    # ActiveIf constraint:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# File to describe RedBoot boot image
-# Normally a ROM-startup RedBoot image is first in the
-# FLASH, and the system boots using that image.  This
-# option controls creation of an entry describing it in
-# the fis init command.  It might be disabled if a
-# platform has an immutable boot image of its own, where
-# we use a POST-startup RedBoot instead, which performs
-# less board initialization.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # component CYGOPT_REDBOOT_FIS_REDBOOT_POST
-    #     DefaultValue: !CYGOPT_REDBOOT_FIS_REDBOOT
-    # option CYGBLD_REDBOOT_MIN_IMAGE_SIZE
-    #     DefaultValue:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-};
-
-# File to describe RedBoot POST-compatible image
-# This option controls creation of an entry describing a
-# POST-startup RedBoot image in the fis init command.
-# Not all platforms support POST-startup.  A platform
-# might have both for testing purposes, where the
-# eventual user would substitute their own POST code for
-# the initial ROM-startup RedBoot, and then jump to the
-# POST-compatible RedBoot immediately following.
-#
-cdl_component CYGOPT_REDBOOT_FIS_REDBOOT_POST {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: !CYGOPT_REDBOOT_FIS_REDBOOT
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0
-};
-
-# >
-# Offset of POST image from FLASH start
-# This option specifies the offset for a POST image from
-# the start of FLASH.  If unset, then the fis entry
-# describing the POST image will be placed where
-# convenient.
-#
-cdl_option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_REDBOOT_POST is disabled
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-    # Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# File to describe RedBoot backup image
-# This option controls creation of an entry describing a
-# backup RedBoot image in the fis init command.
-# Conventionally a RAM-startup RedBoot image is kept
-# under this name for use in updating the ROM-based
-# RedBoot that boots the board.
-#
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Include ARM SIB ID in FIS
-# If set, this option will cause the last 5 words of
-# the FIS to include the special ID needed for the
-# flash to be recognized as a reserved area for RedBoot
-# by an ARM BootRom monitor.
-#
-cdl_option CYGOPT_REDBOOT_FIS_DIRECTORY_ARM_SIB_ID {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Size of FIS directory entry
-# The FIS directory is limited to one single flash
-# sector. If your flash has tiny sectors, you may wish
-# to reduce this value in order to get more slots in
-# the FIS directory.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value: 256
-};
-
-# Number of FIS directory entries
-# The FIS directory normally occupies a single flash
-# sector. Adjusting this value can allow for more than
-# one flash sector to be used, which is useful if your
-# sectors are very small.
-#
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_ENTRY_COUNT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Maximum RedBoot image size
-# This option controls the maximum length reserved
-# for the RedBoot boot image in the FIS table.
-# This should be a multiple of the flash's erase
-# block size.
-#
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00020000
-    # The inferred value should not be edited directly.
-    inferred_value 0x00040000
-    # value_source inferred
-    # Default value:  CYGOPT_REDBOOT_FIS_REDBOOT ? 0x20000 : 0 
-    #     CYGOPT_REDBOOT_FIS_REDBOOT == 1
-    #   --> 0x00020000
-};
-
-# Offset from start of FLASH to RedBoot boot image
-# This option controls where the RedBoot boot image is 
-# located relative to the start of FLASH.
-#
-cdl_option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #   --> 0
-    # Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    #     CYGNUM_REDBOOT_FLASH_RESERVED_BASE == 0
-    #     CYGBLD_REDBOOT_FLASH_BOOT_OFFSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FIS_REDBOOT_POST_OFFSET >=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# Size of reserved area at start of FLASH
-# This option reserves an area at the start of
-# FLASH where RedBoot will never interfere; it is
-# expected that this area contains
-# (non-RedBoot-based) POST code or some other boot
-# monitor that executes before RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_RESERVED_BASE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_REDBOOT_FIS_RESERVED_BASE
-    #     ActiveIf:  0 != CYGNUM_REDBOOT_FLASH_RESERVED_BASE 
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     DefaultValue: CYGNUM_REDBOOT_FLASH_RESERVED_BASE
-    # option CYGBLD_REDBOOT_FLASH_BOOT_OFFSET
-    #     Requires:  CYGNUM_REDBOOT_FLASH_RESERVED_BASE <=  CYGBLD_REDBOOT_FLASH_BOOT_OFFSET 
-};
-
-# <
-# Keep all RedBoot FLASH data blocks locked.
-# When this option is enabled, RedBoot will keep configuration
-# data and the FIS directory blocks implicitly locked.  While
-# this is somewhat safer, it does add overhead during updates.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL {
-    # This option is not active
-    # ActiveIf constraint:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-    #     CYGHWR_IO_FLASH_BLOCK_LOCKING == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use CRC checksums on FIS images.
-# When this option is enabled, RedBoot will use CRC checksums
-# when reading and writing flash images.
-#
-cdl_option CYGSEM_REDBOOT_FIS_CRC_CHECK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# ARM FLASH drivers support SIB flash block structure
-# This interface is implemented by a flash driver
-# to indicate that it supports the ARM SIB flash
-# block structure
-#
-cdl_interface CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGPKG_HAL_ARM
-    #     CYGPKG_HAL_ARM == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_FLASH_SIB
-    #     ActiveIf: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-};
-
-# Use ARM SIB flash block structure
-# This option is used to interpret ARM Flash System 
-# information blocks.
-#
-cdl_option CYGHWR_REDBOOT_ARM_FLASH_SIB {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED
-    #     CYGINT_REDBOOT_ARM_FLASH_SIB_SUPPORTED == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Keep RedBoot configuration data in FLASH
-# When this option is enabled, RedBoot will keep configuration
-# data in a separate block of FLASH memory.  This data will
-# include such items as the node IP address or startup scripts.
-#
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value:  CYGPKG_IO_FLASH != 0 
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # option CYGDAT_REDBOOT_DEFAULT_BOOTP_SERVER_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_GATEWAY_IP_ADDR
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "0, 0, 0, 0" 
-    # component CYGDAT_REDBOOT_DEFAULT_IP_ADDR_MASK
-    #     DefaultValue: CYGSEM_REDBOOT_FLASH_CONFIG ? 0 :  "255, 255, 255, 0" 
-    # option CYGPKG_REDBOOT_NETWORKING_DNS_IP
-    #     ActiveIf: !CYGSEM_REDBOOT_FLASH_CONFIG
-    # option CYGDAT_REDBOOT_DEFAULT_NETWORK_DEVICE
-    #     ActiveIf:  CYGSEM_REDBOOT_FLASH_CONFIG && CYGHWR_NET_DRIVERS > 1 
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# >
-# Length of configuration data in FLASH
-# This option is used to control the amount of memory and FLASH
-# to be used for configuration options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4096
-    # value_source default
-    # Default value: 4096
-};
-
-# Style of media used for persistent data storage
-# Persistent data storage can either be held in 'norma' FLASH
-# or some other device (represented by the 'EEPROM' choice).
-# The different styles utilize different access methods.
-#
-cdl_option CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value FLASH
-    # value_source default
-    # Default value: FLASH
-    # Legal values:  "FLASH" "EEPROM" 
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG
-    #     ActiveIf:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    # option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK
-    #     DefaultValue:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-};
-
-# Merged config data and FIS directory
-# If this option is set, then the FIS directory and FLASH 
-# configuration database will be stored in the same physical
-# FLASH block.
-#
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    # ActiveIf constraint:  CYGOPT_REDBOOT_FIS &&  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGOPT_REDBOOT_FIS == 1
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-};
-
-# Which block of flash to use
-# Which block of flash should hold the configuration 
-# information. Positive numbers are absolute block numbers. 
-# Negative block numbers count backwards from the last block.
-# eg 2 means block 2, -2 means the last but one block.
-#
-cdl_option CYGNUM_REDBOOT_FLASH_CONFIG_BLOCK {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -2
-    # value_source default
-    # Default value: -2
-};
-
-# Support simple macros/aliases in FLASH
-# This option is used to allow support for simple text-based
-# macros (aliases).  These aliases are kept in the FLASH
-# configuration data (persistent storage).
-#
-cdl_option CYGSEM_REDBOOT_FLASH_ALIASES {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Length of strings in FLASH configuration data
-# This option is used to control the amount of memory
-# and FLASH to be used for string configuration
-# options (persistent storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_STRING_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 128
-    # value_source default
-    # Default value: 128
-};
-
-# Length of configuration script(s) in FLASH
-# This option is used to control the amount of memory and 
-# FLASH to be used for configuration options (persistent 
-# storage).
-#
-cdl_option CYGNUM_REDBOOT_FLASH_SCRIPT_SIZE {
-    # Flavor: data
-    user_value 2048
-    # value_source user
-    # Default value: 512
-};
-
-# Fallback to read-only FLASH configuration
-# This option will cause the configuration information to
-# revert to the readonly information stored in the FLASH.
-# The option only takes effect after 
-# 1) the config_ok flag has been set to be true,
-# indicating that at one time the copy in RAM was valid;
-# and
-# 2) the information in RAM has been verified to be invalid
-#
-cdl_option CYGSEM_REDBOOT_FLASH_CONFIG_READONLY_FALLBACK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  (CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == "FLASH") 
-    #     CYGHWR_REDBOOT_FLASH_CONFIG_MEDIA == FLASH
-    #   --> 1
-};
-
-# <
-# Allow RedBoot to support fileio
-# If this option is enabled then RedBoot will provide commands
-# to load files from fileio file systems such as JFFS2.
-#
-cdl_component CYGPKG_REDBOOT_FILEIO {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO_FILEIO
-    #     CYGPKG_IO_FILEIO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGNUM_REDBOOT_GETC_BUFFER
-    #     DefaultValue:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-};
-
-# >
-# Include an ls command
-# If this option is enabled a simple ls command will be
-# included in redboot so the contents of a directory
-# can be listed
-#
-cdl_option CYGBLD_REDBOOT_FILEIO_WITH_LS {
-    # This option is not active
-    # The parent CYGPKG_REDBOOT_FILEIO is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Allow RedBoot to support disks
-# If this option is enabled then RedBoot will provide commands
-# to load disk files.
-#
-cdl_component CYGPKG_REDBOOT_DISK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Include Redboot commands for disk access
-#
-cdl_option CYGSEM_REDBOOT_DISK {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-    #     CYGINT_REDBOOT_DISK_DRIVERS == 0
-    #   --> 0
-};
-
-# Hardware drivers for disk-type devices
-#
-cdl_interface CYGINT_REDBOOT_DISK_DRIVERS {
-    # Implemented by CYGSEM_REDBOOT_DISK_IDE, inactive, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_DISK
-    #     DefaultValue:  CYGINT_REDBOOT_DISK_DRIVERS != 0 
-};
-
-# Maximum number of supported disks
-# This option controls the number of disks supported by 
-# RedBoot.
-#
-cdl_option CYGNUM_REDBOOT_MAX_DISKS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 4
-    # value_source default
-    # Default value: 4
-};
-
-# Maximum number of partitions per disk
-# This option controls the maximum number of supported 
-# partitions per disk.
-#
-cdl_option CYGNUM_REDBOOT_MAX_PARTITIONS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 8
-    # value_source default
-    # Default value: 8
-};
-
-# Support IDE disks.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_IDE {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_HAL_PLF_IF_IDE != 0 
-    #     CYGINT_HAL_PLF_IF_IDE == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Work with VMware virtual disks
-# This option controls the disk driver behavior at 
-# ide-init
-#
-cdl_option CYGSEM_REDBOOT_DISK_IDE_VMWARE {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_DISK_IDE is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Support Linux second extended filesystems.
-# When this option is enabled, RedBoot will support IDE disks.
-#
-cdl_component CYGSEM_REDBOOT_DISK_EXT2FS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Support ISO9660 filesystems.
-# When this option is enabled, RedBoot will support ISO9660 
-# filesystems.
-#
-cdl_component CYGSEM_REDBOOT_DISK_ISO9660 {
-    # Calculated value: 0
-    # Flavor: bool
-    # Current value: 0
-};
-
-# <
-# Boot scripting
-# doc: ref/persistent-state-flash.html
-# This contains options related to RedBoot's boot script
-# functionality.
-#
-cdl_component CYGPKG_REDBOOT_BOOT_SCRIPT {
-    # There is no associated value.
-};
-
-# >
-# Boot scripting enabled
-# This option controls whether RedBoot boot script
-# functionality is enabled.
-#
-cdl_option CYGFUN_REDBOOT_BOOT_SCRIPT {
-    # ActiveIf constraint:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-    #     CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT == 0
-    #     CYGSEM_REDBOOT_FLASH_CONFIG == 1
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-};
-
-# Use default RedBoot boot script
-# If enabled, this option will tell RedBoot to use the 
-# value of this option as a default boot script.
-#
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_REDBOOT_BOOT_SCRIPT
-    #     ActiveIf:  CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT ||  CYGSEM_REDBOOT_FLASH_CONFIG 
-};
-
-# Resolution (in ms) for script timeout value.
-# This option controls the resolution of the script
-# timeout.  The value is specified in milliseconds
-# (ms), thus to have the script timeout be defined in
-# terms of tenths of seconds, use 100.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    # Flavor: data
-    user_value 10
-    # value_source user
-    # Default value: 1000
-};
-
-# Script default timeout value
-# This option is used to set the default timeout for startup
-# scripts, when they are enabled.
-#
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    # Flavor: data
-    user_value 100
-    # value_source user
-    # Default value: 10
-};
-
-# <
-# Support RTC for time & date functions
-# When this option is enabled, RedBoot will support commands to
-# query and set the real time clock (time and date)
-#
-cdl_option CYGSEM_REDBOOT_RTC {
-    # This option is not active
-    # ActiveIf constraint:  CYGPKG_IO_WALLCLOCK 
-    #     CYGPKG_IO_WALLCLOCK (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Behave like a ROM monitor
-# Enabling this option will allow RedBoot to provide ROM 
-# monitor-style services to programs which it executes.
-#
-cdl_option CYGPRI_REDBOOT_ROM_MONITOR {
-    # ActiveIf constraint:  CYG_HAL_STARTUP == "ROM" ||  CYG_HAL_STARTUP == "ROMRAM" 
-    #     CYG_HAL_STARTUP == ROMRAM
-    #     CYG_HAL_STARTUP == ROMRAM
-    #   --> 1
-
-    # Calculated value: 1
-    # Flavor: bool
-    # Current value: 1
-    # Requires: CYGSEM_HAL_ROM_MONITOR
-    #     CYGSEM_HAL_ROM_MONITOR == 1
-    #   --> 1
-};
-
-# Allow RedBoot to handle GNUPro application 'syscalls'.
-# If this option is enabled then RedBoot will install a
-# syscall handler to support debugging of applications
-# based on GNUPro newlib/bsp.
-#
-cdl_component CYGSEM_REDBOOT_BSP_SYSCALLS {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-    # option CYGPKG_HAL_GDB_FILEIO
-    #     ActiveIf: CYGSEM_REDBOOT_BSP_SYSCALLS
-};
-
-# >
-# Support additional syscalls for 'gprof' profiling
-# Support additional syscalls to support a periodic callback
-# function for histogram-style profiling, and an enquire/set
-# of the tick rate.
-# The application must use the GNUPro newlib facilities
-# to set this up.
-#
-cdl_option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-    # ActiveIf constraint:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-    #     CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does the HAL support 'gprof' profiling?
-#
-cdl_interface CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT {
-    # Implemented by CYGOPT_HAL_ARM_SYSCALL_GPROF_SUPPORT, inactive, enabled
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_BSP_SYSCALLS_GPROF
-    #     ActiveIf:  0 < CYGINT_REDBOOT_BSP_SYSCALLS_GPROF_SUPPORT 
-};
-
-# Do not raise SIGTRAP when program exits
-# For some (single shot) newlib based programs,
-# exiting and returning a termination status may be
-# the normal expected behavior.
-#
-cdl_option CYGOPT_REDBOOT_BSP_SYSCALLS_EXIT_WITHOUT_TRAP {
-    # This option is not active
-    # The parent CYGSEM_REDBOOT_BSP_SYSCALLS is disabled
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# <
-# Use a common buffer for Zlib and FIS
-# Use a common memory buffer for both the zlib workspace
-# and FIS directory operations. This can save a substantial
-# amount of RAM, especially when flash sectors are large.
-#
-cdl_component CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER {
-    # ActiveIf constraint:  CYGBLD_BUILD_REDBOOT_WITH_ZLIB &&  CYGOPT_REDBOOT_FIS 
-    #     CYGBLD_BUILD_REDBOOT_WITH_ZLIB == 1
-    #     CYGOPT_REDBOOT_FIS == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Size of Zlib/FIS common buffer
-# Size of common buffer to allocate. Must be at least the
-# size of one flash sector.
-#
-cdl_option CYGNUM_REDBOOT_FIS_ZLIB_COMMON_BUFFER_SIZE {
-    # This option is not active
-    # The parent CYGOPT_REDBOOT_FIS_ZLIB_COMMON_BUFFER is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x0000C000
-    # value_source default
-    # Default value: 0x0000C000
-    # Legal values: 0x4000 to 0x80000000
-};
-
-# <
-# Buffer size in getc when loading images
-# When loading images a buffer is used between redboot and the
-# underlying storage medium, eg a filesystem, or a socket etc.
-# The size of this buffer can have a big impart on load speed.
-#
-cdl_option CYGNUM_REDBOOT_GETC_BUFFER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 256
-    # value_source default
-    # Default value:  CYGPKG_REDBOOT_FILEIO ? 4096 : 256 
-    #     CYGPKG_REDBOOT_FILEIO == 0
-    #   --> 256
-};
-
-# <
-# Redboot for ARM options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_ARM_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-
-    # The following properties are affected by this value
-};
-
-# >
-# Provide the exec command in RedBoot
-# This option contains requirements for booting linux
-# from RedBoot. The component is enabled/disabled from
-# RedBoots CDL.
-#
-cdl_component CYGPKG_REDBOOT_ARM_LINUX_EXEC {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT_WITH_EXEC
-    #     CYGBLD_BUILD_REDBOOT_WITH_EXEC == 1
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Enable -x switch for exec command.
-# This option allows bi-endian platforms to launch kernels
-# built for an endianess different than the RedBoot endianess
-#
-cdl_option CYGHWR_REDBOOT_LINUX_EXEC_X_SWITCH {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0xA0108000
-    # The inferred value should not be edited directly.
-    inferred_value 0xA0108000
-    # value_source inferred
-    # Default value: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0108000
-    #   --> 0xA0108000
-};
-
-# Default physical base address of linux kernel
-# This is the physical address of the base of the 
-# Linux kernel image. This option gets set by the 
-# platform CDL.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    # Flavor: data
-    user_value 0xA0108000
-    # The inferred value should not be edited directly.
-    inferred_value 0xA0108000
-    # value_source user
-    # Default value: 0x00008000
-
-    # The following properties are affected by this value
-    # option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS
-    #     DefaultValue: CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT
-    # component CYGPKG_REDBOOT_HAL_TX27_OPTIONS
-    #     Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0108000 
-};
-
-# Base address of linux kernel parameter tags
-# This is the base address of the area of memory used to
-# pass parameters to the Linux kernel. This should be chosen
-# to avoid overlap with the kernel and any ramdisk image.
-#
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    # Flavor: data
-    user_value 0xA0001000
-    # value_source user
-    # Default value: 0x00000100
-};
-
-# <
-# <
-# Redboot HAL options
-# This option lists the target's requirements for a valid Redboot
-# configuration.
-#
-cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-};
-
-# >
-# Build Redboot ROM binary image
-# This option enables the conversion of the Redboot ELF
-# image to a binary image suitable for ROM programming.
-#
-cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-    # ActiveIf constraint: CYGBLD_BUILD_REDBOOT
-    #     CYGBLD_BUILD_REDBOOT == 1
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Redboot HAL variant options
-#
-cdl_component CYGPKG_REDBOOT_HAL_TX27_OPTIONS {
-    # ActiveIf constraint: CYGPKG_REDBOOT
-    #     CYGPKG_REDBOOT == current
-    #   --> 1
-
-    # There is no associated value.
-    # Requires:  CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0108000 
-    #     CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0108000
-    #   --> 1
-};
-
-# <
-# ISO C and POSIX infrastructure
-# eCos supports implementations of ISO C libraries and POSIX
-# implementations. This package provides infrastructure used by
-# all such implementations.
-#
-cdl_package CYGPKG_ISOINFRA {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STRING
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     Requires: CYGPKG_ISOINFRA
-    # option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY
-    #     DefaultValue:  0 != CYGPKG_ISOINFRA 
-    # component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS
-    #     ActiveIf: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_I18N
-    #     Requires: CYGPKG_ISOINFRA
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGPKG_ISOINFRA
-};
-
-# >
-# Startup and termination
-#
-cdl_component CYGPKG_ISO_STARTUP {
-    # There is no associated value.
-};
-
-# >
-# main() startup implementations
-# Implementations of this interface arrange for a user-supplied
-# main() to be called in an ISO compatible environment.
-#
-cdl_interface CYGINT_ISO_MAIN_STARTUP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-    #     CYGINT_ISO_MAIN_STARTUP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MAIN_STARTUP
-    #     Requires:  1 >= CYGINT_ISO_MAIN_STARTUP 
-};
-
-# environ implementations
-# Implementations of this interface provide the environ
-# variable required by POSIX.
-#
-cdl_interface CYGINT_ISO_ENVIRON {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_ENVIRON 
-    #     CYGINT_ISO_ENVIRON == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_ENVIRON 
-};
-
-# <
-# ctype.h functions
-#
-cdl_component CYGPKG_ISO_CTYPE_H {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of ctype functions
-#
-cdl_interface CYGINT_ISO_CTYPE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_CTYPE 
-    #     CYGINT_ISO_CTYPE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_CTYPE
-    #     Requires:  1 >= CYGINT_ISO_CTYPE 
-    # package CYGPKG_HAL_ARM_TX27KARO
-    #     Requires: CYGINT_ISO_CTYPE
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires: CYGINT_ISO_CTYPE
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGINT_ISO_CTYPE
-};
-
-# Ctype implementation header
-#
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/libc/i18n/ctype.inl>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_LIBC_I18N_NEWLIB_CTYPE
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/newlibctype.h>" 
-    # option CYGIMP_LIBC_I18N_CTYPE_INLINES
-    #     Requires:  CYGBLD_ISO_CTYPE_HEADER ==  "<cyg/libc/i18n/ctype.inl>" 
-};
-
-# <
-# Error handling
-#
-cdl_component CYGPKG_ISO_ERRNO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of error codes
-#
-cdl_interface CYGINT_ISO_ERRNO_CODES {
-    # Implemented by CYGPKG_ERROR, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-    #     CYGINT_ISO_ERRNO_CODES == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO_CODES
-    #     Requires:  1 >= CYGINT_ISO_ERRNO_CODES 
-};
-
-# Error codes implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/error/codes.h>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_ERROR
-    #     Requires:  CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" 
-};
-
-# Number of implementations of errno variable
-#
-cdl_interface CYGINT_ISO_ERRNO {
-    # Implemented by CYGPKG_ERROR_ERRNO, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_ERRNO 
-    #     CYGINT_ISO_ERRNO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_ERRNO
-    #     Requires:  1 >= CYGINT_ISO_ERRNO 
-};
-
-# errno variable implementation header
-#
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/error/errno.h>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # component CYGPKG_ERROR_ERRNO
-    #     Requires:  CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" 
-};
-
-# <
-# Locale-related functions
-#
-cdl_component CYGPKG_ISO_LOCALE {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of locale functions
-#
-cdl_interface CYGINT_ISO_LOCALE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_LOCALE 
-    #     CYGINT_ISO_LOCALE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_LOCALE
-    #     Requires:  1 >= CYGINT_ISO_LOCALE 
-};
-
-# Locale implementation header
-#
-cdl_option CYGBLD_ISO_LOCALE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard I/O-related functionality
-#
-cdl_component CYGPKG_ISO_STDIO {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of stdio file types
-#
-cdl_interface CYGINT_ISO_STDIO_FILETYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-    #     CYGINT_ISO_STDIO_FILETYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILETYPES
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILETYPES 
-};
-
-# Stdio file types implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Stdio standard streams implementations
-#
-cdl_interface CYGINT_ISO_STDIO_STREAMS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-    #     CYGINT_ISO_STDIO_STREAMS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_STREAMS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_STREAMS 
-};
-
-# Stdio standard streams implementation header
-# This header file must define stdin, stdout
-# and stderr.
-#
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file operations
-#
-cdl_interface CYGINT_ISO_STDIO_FILEOPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-    #     CYGINT_ISO_STDIO_FILEOPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEOPS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEOPS 
-};
-
-# Stdio file operations implementation header
-# This header controls the file system operations on a file
-# such as remove(), rename(), tmpfile(), tmpnam() and associated
-# constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEOPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file access  functionals
-#
-cdl_interface CYGINT_ISO_STDIO_FILEACCESS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-    #     CYGINT_ISO_STDIO_FILEACCESS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEACCESS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEACCESS 
-};
-
-# Stdio file access implementation header
-# This header controls the file access operations
-# such as fclose(), fflush(), fopen(), freopen(), setbuf(),
-# setvbuf(), and associated constants.
-#
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio formatted I/O
-#
-cdl_interface CYGINT_ISO_STDIO_FORMATTED_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-    #     CYGINT_ISO_STDIO_FORMATTED_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FORMATTED_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FORMATTED_IO 
-};
-
-# Stdio formatted I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio character I/O
-#
-cdl_interface CYGINT_ISO_STDIO_CHAR_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-    #     CYGINT_ISO_STDIO_CHAR_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_CHAR_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_CHAR_IO 
-};
-
-# Stdio character I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio direct I/O
-#
-cdl_interface CYGINT_ISO_STDIO_DIRECT_IO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-    #     CYGINT_ISO_STDIO_DIRECT_IO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_DIRECT_IO
-    #     Requires:  1 >= CYGINT_ISO_STDIO_DIRECT_IO 
-};
-
-# Stdio direct I/O implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio file positioning
-#
-cdl_interface CYGINT_ISO_STDIO_FILEPOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-    #     CYGINT_ISO_STDIO_FILEPOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_FILEPOS
-    #     Requires:  1 >= CYGINT_ISO_STDIO_FILEPOS 
-};
-
-# Stdio file positioning implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_FILEPOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of stdio error handling
-#
-cdl_interface CYGINT_ISO_STDIO_ERROR {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-    #     CYGINT_ISO_STDIO_ERROR == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_ERROR
-    #     Requires:  1 >= CYGINT_ISO_STDIO_ERROR 
-};
-
-# Stdio error handling implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fd-related function implementations
-#
-cdl_interface CYGINT_ISO_STDIO_POSIX_FDFUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-    #     CYGINT_ISO_STDIO_POSIX_FDFUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDIO_POSIX_FDFUNCS
-    #     Requires:  1 >=  CYGINT_ISO_STDIO_POSIX_FDFUNCS 
-};
-
-# POSIX fd-related function implementation header
-#
-cdl_option CYGBLD_ISO_STDIO_POSIX_FDFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Standard general utility functions
-#
-cdl_component CYGPKG_ISO_STDLIB {
-    # There is no associated value.
-};
-
-# >
-# String conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-    #     CYGINT_ISO_STDLIB_STRCONV == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV 
-};
-
-# String conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    # Flavor: booldata
-    user_value 0 <cyg/libc/stdlib/atox.inl>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_ATOX
-    #     Requires:  CYGBLD_ISO_STDLIB_STRCONV_HEADER ==  "<cyg/libc/stdlib/atox.inl>" 
-};
-
-# String to FP conversion function implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_STRCONV_FLOAT {
-    # Implemented by CYGFUN_LIBC_strtod, active, disabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-    #     CYGINT_ISO_STDLIB_STRCONV_FLOAT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_STRCONV_FLOAT
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_STRCONV_FLOAT 
-};
-
-# String to FP conversion function implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_FLOAT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Random number generator implementations
-#
-cdl_interface CYGINT_ISO_RAND {
-    # Implemented by CYGIMP_LIBC_RAND_SIMPLEST, active, disabled
-    # Implemented by CYGIMP_LIBC_RAND_SIMPLE1, active, disabled
-    # Implemented by CYGIMP_LIBC_RAND_KNUTH1, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_RAND 
-    #     CYGINT_ISO_RAND == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_RAND
-    #     Requires:  1 >= CYGINT_ISO_RAND 
-};
-
-# Random number generator implementation header
-#
-cdl_option CYGBLD_ISO_RAND_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Malloc implementations
-#
-cdl_interface CYGINT_ISO_MALLOC {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLOC 
-    #     CYGINT_ISO_MALLOC == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLOC
-    #     Requires:  1 >= CYGINT_ISO_MALLOC 
-    # option CYGFUN_LIBC_STRING_STRDUP
-    #     ActiveIf: CYGINT_ISO_MALLOC
-};
-
-# Malloc implementation header
-#
-cdl_option CYGBLD_ISO_MALLOC_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Mallinfo() implementations
-#
-cdl_interface CYGINT_ISO_MALLINFO {
-    # Implemented by CYGPKG_MEMALLOC_MALLOC_ALLOCATORS, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_MALLINFO 
-    #     CYGINT_ISO_MALLINFO == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MALLINFO
-    #     Requires:  1 >= CYGINT_ISO_MALLINFO 
-};
-
-# Mallinfo() implementation header
-#
-cdl_option CYGBLD_ISO_MALLINFO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program exit functionality implementations
-#
-cdl_interface CYGINT_ISO_EXIT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_EXIT 
-    #     CYGINT_ISO_EXIT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_EXIT
-    #     Requires:  1 >= CYGINT_ISO_EXIT 
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     Requires: !CYGINT_ISO_EXIT
-    # option CYGFUN_INFRA_DUMMY_ABORT
-    #     DefaultValue:  CYGINT_ISO_EXIT == 0 
-};
-
-# Program exit functionality implementation header
-#
-cdl_option CYGBLD_ISO_EXIT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Program environment implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_ENVIRON {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-    #     CYGINT_ISO_STDLIB_ENVIRON == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_ENVIRON
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_ENVIRON 
-};
-
-# Program environment implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ENVIRON_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# system() implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_SYSTEM {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-    #     CYGINT_ISO_STDLIB_SYSTEM == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_SYSTEM
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_SYSTEM 
-};
-
-# system() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_SYSTEM_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# bsearch() implementations
-#
-cdl_interface CYGINT_ISO_BSEARCH {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_BSEARCH 
-    #     CYGINT_ISO_BSEARCH == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSEARCH
-    #     Requires:  1 >= CYGINT_ISO_BSEARCH 
-};
-
-# bsearch() implementation header
-#
-cdl_option CYGBLD_ISO_BSEARCH_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# qsort() implementations
-#
-cdl_interface CYGINT_ISO_QSORT {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_QSORT 
-    #     CYGINT_ISO_STDLIB_QSORT (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# qsort() implementation header
-#
-cdl_option CYGBLD_ISO_QSORT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# abs()/labs() implementations
-#
-cdl_interface CYGINT_ISO_ABS {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_ABS 
-    #     CYGINT_ISO_STDLIB_ABS (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# abs()/labs() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    # Flavor: booldata
-    user_value 0 <cyg/libc/stdlib/abs.inl>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_ABS
-    #     Requires:  CYGBLD_ISO_STDLIB_ABS_HEADER ==  "<cyg/libc/stdlib/abs.inl>" 
-};
-
-# div()/ldiv() implementations
-#
-cdl_interface CYGINT_ISO_DIV {
-    # Implemented by CYGPKG_LIBC_STDLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_DIV 
-    #     CYGINT_ISO_STDLIB_DIV (unknown) == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-};
-
-# div()/ldiv() implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    # Flavor: booldata
-    user_value 0 <cyg/libc/stdlib/div.inl>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGIMP_LIBC_STDLIB_INLINE_DIV
-    #     Requires:  CYGBLD_ISO_STDLIB_DIV_HEADER ==  "<cyg/libc/stdlib/div.inl>" 
-};
-
-# Header defining the implementation's MB_CUR_MAX
-#
-cdl_option CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_LIBC_I18N_MB_REQUIRED
-    #     Requires:  CYGBLD_ISO_STDLIB_MB_CUR_MAX_HEADER ==  "<cyg/libc/i18n/mb.h>" 
-};
-
-# Multibyte character implementations
-#
-cdl_interface CYGINT_ISO_STDLIB_MULTIBYTE {
-    # Implemented by CYGPKG_LIBC_I18N, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-    #     CYGINT_ISO_STDLIB_MULTIBYTE == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STDLIB_MULTIBYTE
-    #     Requires:  1 >= CYGINT_ISO_STDLIB_MULTIBYTE 
-};
-
-# Multibyte character implementation header
-#
-cdl_option CYGBLD_ISO_STDLIB_MULTIBYTE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# String functions
-#
-cdl_component CYGPKG_ISO_STRING {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of strerror() function
-#
-cdl_interface CYGINT_ISO_STRERROR {
-    # Implemented by CYGPKG_ERROR_STRERROR, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRERROR 
-    #     CYGINT_ISO_STRERROR == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRERROR
-    #     Requires:  1 >= CYGINT_ISO_STRERROR 
-};
-
-# strerror() implementation header
-#
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/error/strerror.h>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGPKG_ERROR_STRERROR
-    #     Requires:  CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" 
-};
-
-# memcpy() implementation header
-#
-cdl_option CYGBLD_ISO_MEMCPY_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# memset() implementation header
-#
-cdl_option CYGBLD_ISO_MEMSET_HEADER {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value: 0 0
-};
-
-# Number of implementations of strtok_r() function
-#
-cdl_interface CYGINT_ISO_STRTOK_R {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRTOK_R 
-    #     CYGINT_ISO_STRTOK_R == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRTOK_R
-    #     Requires:  1 >= CYGINT_ISO_STRTOK_R 
-};
-
-# strtok_r() implementation header
-#
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/libc/string/string.h>
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRTOK_R_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of locale-specific string  functions
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_interface CYGINT_ISO_STRING_LOCALE_FUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-    #     CYGINT_ISO_STRING_LOCALE_FUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_LOCALE_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_LOCALE_FUNCS 
-};
-
-# Locale-specific string functions' implementation  header
-# This covers locale-dependent string functions such as strcoll()
-# and strxfrm().
-#
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/libc/string/string.h>
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of BSD string functions
-#
-cdl_interface CYGINT_ISO_STRING_BSD_FUNCS {
-    # Implemented by CYGFUN_LIBC_STRING_BSD_FUNCS, active, disabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-    #     CYGINT_ISO_STRING_BSD_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_BSD_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_BSD_FUNCS 
-};
-
-# BSD string functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    # Flavor: booldata
-    user_value 0 <cyg/libc/string/bsdstring.h>
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-    # value_source user
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGFUN_LIBC_STRING_BSD_FUNCS
-    #     Requires:  CYGBLD_ISO_STRING_BSD_FUNCS_HEADER ==  "<cyg/libc/string/bsdstring.h>" 
-};
-
-# Number of implementations of other mem*() functions
-#
-cdl_interface CYGINT_ISO_STRING_MEMFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    #     CYGINT_ISO_STRING_MEMFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_MEMFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_MEMFUNCS 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE
-    #     Requires: CYGINT_ISO_STRING_MEMFUNCS
-};
-
-# Other mem*() functions' implementation header
-#
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_MEMFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# Number of implementations of other ISO C str*()  functions
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_interface CYGINT_ISO_STRING_STRFUNCS {
-    # Implemented by CYGPKG_LIBC_STRING, active, enabled
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 1
-    # Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_STRING_STRFUNCS
-    #     Requires:  1 >= CYGINT_ISO_STRING_STRFUNCS 
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     Requires: !CYGINT_ISO_STRING_STRFUNCS
-    # option CYGFUN_INFRA_DUMMY_STRLEN
-    #     DefaultValue:  CYGINT_ISO_STRING_STRFUNCS == 0 
-    # component CYGBLD_BUILD_REDBOOT
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # component CYGPKG_IO_ETH_DRIVERS_NET
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_IO_FLASH
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-    # package CYGPKG_LIBC_STDLIB
-    #     Requires: CYGINT_ISO_STRING_STRFUNCS
-};
-
-# Other ISO C str*() functions' implementation  header
-# This covers the other str*() functions defined by ISO C.
-#
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # The inferred value should not be edited directly.
-    inferred_value 1 <cyg/libc/string/string.h>
-    # value_source inferred
-    # Default value: 0 0
-
-    # The following properties are affected by this value
-    # package CYGPKG_LIBC_STRING
-    #     Requires:  CYGBLD_ISO_STRING_STRFUNCS_HEADER ==  "<cyg/libc/string/string.h>" 
-};
-
-# <
-# Clock and time functionality
-#
-cdl_component CYGPKG_ISO_TIME {
-    # There is no associated value.
-};
-
-# >
-# time_t implementation header
-#
-cdl_option CYGBLD_ISO_TIME_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# clock_t implementation header
-#
-cdl_option CYGBLD_ISO_CLOCK_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# struct timeval implementation header
-#
-cdl_option CYGBLD_ISO_STRUCTTIMEVAL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timer types
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-    #     CYGINT_ISO_POSIX_TIMER_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_TYPES 
-};
-
-# POSIX timer types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clock types
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCK_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-    #     CYGINT_ISO_POSIX_CLOCK_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCK_TYPES
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCK_TYPES 
-};
-
-# POSIX clock types implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C types
-#
-cdl_interface CYGINT_ISO_C_TIME_TYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-    #     CYGINT_ISO_C_TIME_TYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_TIME_TYPES
-    #     Requires:  1 >= CYGINT_ISO_C_TIME_TYPES 
-};
-
-# ISO C time types implementation header
-#
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    # Flavor: booldata
-    user_value 0 <cyg/libc/time/time.h>
-    # value_source user
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX timers
-#
-cdl_interface CYGINT_ISO_POSIX_TIMERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-    #     CYGINT_ISO_POSIX_TIMERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMERS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMERS 
-};
-
-# POSIX timer implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of POSIX clocks
-#
-cdl_interface CYGINT_ISO_POSIX_CLOCKS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-    #     CYGINT_ISO_POSIX_CLOCKS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_CLOCKS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_CLOCKS 
-};
-
-# POSIX clocks implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of implementations of ISO C clock functions
-#
-cdl_interface CYGINT_ISO_C_CLOCK_FUNCS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-    #     CYGINT_ISO_C_CLOCK_FUNCS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_C_CLOCK_FUNCS
-    #     Requires:  1 >= CYGINT_ISO_C_CLOCK_FUNCS 
-};
-
-# ISO C clock functions' implementation header
-#
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    # Flavor: booldata
-    user_value 0 <cyg/libc/time/time.h>
-    # value_source user
-    # Default value: 0 0
-};
-
-# Number of implementations of tzset() function
-#
-cdl_interface CYGINT_ISO_TZSET {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_TZSET 
-    #     CYGINT_ISO_TZSET == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TZSET
-    #     Requires:  1 >= CYGINT_ISO_TZSET 
-};
-
-# tzset() implementation header
-#
-cdl_option CYGBLD_ISO_TZSET_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Signal functionality
-#
-cdl_component CYGPKG_ISO_SIGNAL {
-    # There is no associated value.
-};
-
-# >
-# Number of implementations of signal numbers
-#
-cdl_interface CYGINT_ISO_SIGNAL_NUMBERS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-    #     CYGINT_ISO_SIGNAL_NUMBERS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_NUMBERS
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_NUMBERS 
-};
-
-# Signal numbering implementation header
-# This header provides the mapping of signal
-# names (e.g. SIGBUS) to numbers.
-#
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Number of signal implementations
-#
-cdl_interface CYGINT_ISO_SIGNAL_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-    #     CYGINT_ISO_SIGNAL_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGNAL_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SIGNAL_IMPL 
-};
-
-# Signals implementation header
-#
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX real time signals feature test macro
-# This defines the POSIX feature test macro
-# that indicates that the POSIX real time signals
-# are present.
-#
-cdl_interface CYGINT_POSIX_REALTIME_SIGNALS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-    #     CYGINT_POSIX_REALTIME_SIGNALS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_POSIX_REALTIME_SIGNALS
-    #     Requires:  1 >= CYGINT_POSIX_REALTIME_SIGNALS 
-};
-
-# <
-# Non-local jumps functionality
-#
-cdl_component CYGPKG_ISO_SETJMP {
-    # There is no associated value.
-};
-
-# >
-# setjmp() / longjmp() implementations
-#
-cdl_interface CYGINT_ISO_SETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SETJMP 
-    #     CYGINT_ISO_SETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SETJMP
-    #     Requires:  1 >= CYGINT_ISO_SETJMP 
-};
-
-# setjmp() / longjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# sigsetjmp() / siglongjmp() implementations
-#
-cdl_interface CYGINT_ISO_SIGSETJMP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-    #     CYGINT_ISO_SIGSETJMP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SIGSETJMP
-    #     Requires:  1 >= CYGINT_ISO_SIGSETJMP 
-};
-
-# sigsetjmp() / siglongjmp() implementation header
-#
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Assertions implementation header
-#
-cdl_option CYGBLD_ISO_ASSERT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file control
-# This covers the POSIX file control definitions,
-# normally found in <fcntl.h>
-#
-cdl_component CYGPKG_ISO_POSIX_FCNTL {
-    # There is no associated value.
-};
-
-# >
-# POSIX open flags implementation header
-#
-cdl_option CYGBLD_ISO_OFLAG_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX fcntl() implementations
-#
-cdl_interface CYGINT_ISO_FCNTL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_FCNTL 
-    #     CYGINT_ISO_FCNTL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_FCNTL
-    #     Requires:  1 >= CYGINT_ISO_FCNTL 
-};
-
-# POSIX fcntl() implementation header
-#
-cdl_option CYGBLD_ISO_FCNTL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX file open implementations
-#
-cdl_interface CYGINT_ISO_OPEN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_OPEN 
-    #     CYGINT_ISO_OPEN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_OPEN
-    #     Requires:  1 >= CYGINT_ISO_OPEN 
-};
-
-# POSIX file open implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# <sys/stat.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_STAT_DEFS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX directory reading implementation
-#
-cdl_interface CYGINT_ISO_DIRENT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DIRENT 
-    #     CYGINT_ISO_DIRENT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DIRENT
-    #     Requires:  1 >= CYGINT_ISO_DIRENT 
-};
-
-# <dirent.h> definitions implementation header
-#
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX <sys/types.h> contents
-# This covers the types required by POSIX to be in
-# <sys/types.h>
-#
-cdl_component CYGPKG_ISO_POSIX_TYPES {
-    # There is no associated value.
-};
-
-# >
-# POSIX thread types implementations
-#
-cdl_interface CYGINT_ISO_PTHREADTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREADTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    # interface CYGINT_ISO_PMUTEXTYPES
-    #     Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-};
-
-# POSIX thread types implementation header
-#
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex types implementations
-#
-cdl_interface CYGINT_ISO_PMUTEXTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_PTHREADTYPES 
-    #     CYGINT_ISO_PTHREADTYPES == 0
-    #   --> 1
-};
-
-# POSIX mutex types implementation header
-#
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# ssize_t implementation header
-#
-cdl_option CYGBLD_ISO_SSIZE_T_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Filesystem types implementation header
-#
-cdl_option CYGBLD_ISO_FSTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# gid_t, pid_t, uid_t implementation header
-#
-cdl_option CYGBLD_ISO_SCHEDTYPES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Non-POSIX <sys/types.h> contents
-# This covers the extra types required by non-POSIX
-# packages to be in <sys/types.h>. These would normally
-# only be visible if _POSIX_SOURCE is not defined.
-#
-cdl_component CYGPKG_ISO_EXTRA_TYPES {
-    # There is no associated value.
-};
-
-# >
-# BSD compatible types
-#
-cdl_interface CYGINT_ISO_BSDTYPES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_BSDTYPES 
-    #     CYGINT_ISO_BSDTYPES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_BSDTYPES
-    #     Requires:  1 >= CYGINT_ISO_BSDTYPES 
-};
-
-# BSD types header
-#
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    # Flavor: booldata
-    user_value 0 0
-    # value_source user
-    # Default value: 0 0
-};
-
-# <
-# Utsname structure
-#
-cdl_component CYGPKG_ISO_UTSNAME {
-    # There is no associated value.
-};
-
-# >
-# Utsname header
-#
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX scheduler
-#
-cdl_component CYGPKG_ISO_SCHED {
-    # There is no associated value.
-};
-
-# >
-# POSIX scheduler implementations
-#
-cdl_interface CYGINT_ISO_SCHED_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-    #     CYGINT_ISO_SCHED_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SCHED_IMPL
-    #     Requires:  1 >= CYGINT_ISO_SCHED_IMPL 
-};
-
-# POSIX scheduler implementation header
-#
-cdl_option CYGBLD_ISO_SCHED_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX semaphores
-#
-cdl_component CYGPKG_ISO_SEMAPHORES {
-    # There is no associated value.
-};
-
-# >
-# POSIX semaphore implementations
-#
-cdl_interface CYGINT_ISO_SEMAPHORES {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-    #     CYGINT_ISO_SEMAPHORES == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SEMAPHORES
-    #     Requires:  1 >= CYGINT_ISO_SEMAPHORES 
-};
-
-# POSIX semaphore implementation header
-#
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX message queues
-#
-cdl_component CYGPKG_ISO_MQUEUE {
-    # There is no associated value.
-};
-
-# >
-# Implementations
-#
-cdl_interface CYGINT_ISO_MQUEUE {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_MQUEUE 
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_MQUEUE
-    #     Requires:  1 >= CYGINT_ISO_MQUEUE 
-    # option CYGNUM_ISO_MQUEUE_OPEN_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-    # option CYGNUM_ISO_MQUEUE_PRIO_MAX
-    #     ActiveIf: CYGINT_ISO_MQUEUE
-};
-
-# Implementation header
-#
-cdl_option CYGBLD_ISO_MQUEUE_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Maximum number of open message queues
-#
-cdl_option CYGNUM_ISO_MQUEUE_OPEN_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value:  CYGNUM_POSIX_MQUEUE_OPEN_MAX > 0 ? CYGNUM_POSIX_MQUEUE_OPEN_MAX : 0 
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #     CYGNUM_POSIX_MQUEUE_OPEN_MAX (unknown) == 0
-    #   --> 0 0
-};
-
-# Maximum number of message priorities
-#
-cdl_option CYGNUM_ISO_MQUEUE_PRIO_MAX {
-    # This option is not active
-    # ActiveIf constraint: CYGINT_ISO_MQUEUE
-    #     CYGINT_ISO_MQUEUE == 0
-    #   --> 0
-
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 1 65535
-    # value_source default
-    # Default value: 1 65535
-};
-
-# <
-# POSIX threads
-#
-cdl_component CYGPKG_ISO_PTHREAD {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_IMPL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-    #     CYGINT_ISO_PTHREAD_IMPL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_IMPL
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_IMPL 
-};
-
-# POSIX pthread implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX mutex/cond var implementations
-#
-cdl_interface CYGINT_ISO_PTHREAD_MUTEX {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-    #     CYGINT_ISO_PTHREAD_MUTEX == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_PTHREAD_MUTEX
-    #     Requires:  1 >= CYGINT_ISO_PTHREAD_MUTEX 
-};
-
-# POSIX mutex/cond var implementation header
-#
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Limits
-#
-cdl_component CYGPKG_ISO_LIMITS {
-    # There is no associated value.
-};
-
-# >
-# POSIX pthread limits implementations
-#
-cdl_interface CYGINT_ISO_POSIX_LIMITS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-    #     CYGINT_ISO_POSIX_LIMITS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_LIMITS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_LIMITS 
-};
-
-# POSIX pthread limits implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# OPEN_MAX implementation header
-#
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# LINK_MAX implementation header
-#
-cdl_option CYGBLD_ISO_LINK_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# NAME_MAX implementation header
-#
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# PATH_MAX implementation header
-#
-cdl_option CYGBLD_ISO_PATH_MAX_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# POSIX termios
-#
-cdl_component CYGPKG_ISO_TERMIOS {
-    # There is no associated value.
-};
-
-# >
-# POSIX termios implementations
-#
-cdl_interface CYGINT_ISO_TERMIOS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_TERMIOS 
-    #     CYGINT_ISO_TERMIOS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_TERMIOS
-    #     Requires:  1 >= CYGINT_ISO_TERMIOS 
-};
-
-# POSIX termios implementation header
-#
-cdl_option CYGBLD_ISO_TERMIOS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Dynamic load API
-#
-cdl_component CYGPKG_ISO_DLFCN {
-    # There is no associated value.
-};
-
-# >
-# Dynamic load implementations
-#
-cdl_interface CYGINT_ISO_DLFCN {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires:  1 >= CYGINT_ISO_DLFCN 
-    #     CYGINT_ISO_DLFCN == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DLFCN
-    #     Requires:  1 >= CYGINT_ISO_DLFCN 
-};
-
-# Dynamic load implementation header
-#
-cdl_option CYGBLD_ISO_DLFCN_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# UNIX standard functions
-#
-cdl_component CYGPKG_ISO_UNISTD {
-    # There is no associated value.
-};
-
-# >
-# POSIX timer operations implementations
-#
-cdl_interface CYGINT_ISO_POSIX_TIMER_OPS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-    #     CYGINT_ISO_POSIX_TIMER_OPS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_TIMER_OPS
-    #     Requires:  1 >= CYGINT_ISO_POSIX_TIMER_OPS 
-};
-
-# POSIX timer operations implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_TIMER_OPS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# POSIX sleep() implementations
-#
-cdl_interface CYGINT_ISO_POSIX_SLEEP {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-    #     CYGINT_ISO_POSIX_SLEEP == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POSIX_SLEEP
-    #     Requires:  1 >= CYGINT_ISO_POSIX_SLEEP 
-};
-
-# POSIX sleep() implementation header
-#
-cdl_option CYGBLD_ISO_POSIX_SLEEP_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# select()/poll() functions
-#
-cdl_component CYGPKG_ISO_SELECT {
-    # There is no associated value.
-};
-
-# >
-# select() implementations
-#
-cdl_interface CYGINT_ISO_SELECT {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_SELECT 
-    #     CYGINT_ISO_SELECT == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_SELECT
-    #     Requires:  1 >= CYGINT_ISO_SELECT 
-};
-
-# select() implementation header
-#
-cdl_option CYGBLD_ISO_SELECT_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# poll() implementations
-#
-cdl_interface CYGINT_ISO_POLL {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires:  1 >= CYGINT_ISO_POLL 
-    #     CYGINT_ISO_POLL == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_POLL
-    #     Requires:  1 >= CYGINT_ISO_POLL 
-};
-
-# poll() implementation header
-#
-cdl_option CYGBLD_ISO_POLL_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# NetDB utility functions
-#
-cdl_component CYGPKG_ISO_NETDB {
-    # There is no associated value.
-};
-
-# >
-# DNS implementations
-#
-cdl_interface CYGINT_ISO_DNS {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_DNS 
-    #     CYGINT_ISO_DNS == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_DNS
-    #     Requires:  1 >= CYGINT_ISO_DNS 
-};
-
-# DNS implementation header
-#
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Protocol network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_PROTO {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-    #     CYGINT_ISO_NETDB_PROTO == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_PROTO
-    #     Requires:  1 >= CYGINT_ISO_NETDB_PROTO 
-};
-
-# Protocol network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# Services network database implementations
-#
-cdl_interface CYGINT_ISO_NETDB_SERV {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: bool
-    # Current value: 0
-    # Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-    #     CYGINT_ISO_NETDB_SERV == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_ISO_NETDB_SERV
-    #     Requires:  1 >= CYGINT_ISO_NETDB_SERV 
-};
-
-# Services network database implementation header
-#
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# <
-# Build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ISOINFRA_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are used in addition to the set of global flags.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the ISO C and POSIX infrastructure package.
-# These flags are removed from the set of global flags
-# if present.
-#
-cdl_option CYGPKG_ISOINFRA_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# Compute CRCs
-# doc: ref/services-crc.html
-# This package provides support for CRC calculation. Currently 
-# this is the POSIX 1003 defined CRC algorithm, a 32 CRC by 
-# Gary S. Brown, and a 16 bit CRC.
-#
-cdl_package CYGPKG_CRC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # package CYGPKG_COMPRESS_ZLIB
-    #     Requires: CYGPKG_CRC
-};
-
-# >
-# POSIX CRC tests
-#
-cdl_option CYGPKG_CRC_TESTS {
-    # Calculated value:  "tests/crc_test" 
-    # Flavor: data
-    # Current_value: tests/crc_test
-};
-
-# <
-# Zlib compress and decompress package
-# This package provides support for compression and
-# decompression.
-#
-cdl_package CYGPKG_COMPRESS_ZLIB {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_CRC
-    #     CYGPKG_CRC == current
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGBLD_BUILD_REDBOOT_WITH_ZLIB
-    #     ActiveIf: CYGPKG_COMPRESS_ZLIB
-};
-
-# >
-# Override memory allocation routines.
-#
-cdl_interface CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC {
-    # Implemented by CYGBLD_BUILD_REDBOOT_WITH_ZLIB, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     ActiveIf:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-};
-
-# Should deflate() produce 'gzip' compatible output?
-# If this option is set then the output of calling deflate()
-# will be wrapped up as a 'gzip' compatible file.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_DEFLATE_MAKES_GZIP {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Does this library need malloc?
-# This pseudo-option will force the memalloc library to be
-# required iff the application does not provide it's own
-# infrastructure.
-#
-cdl_option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC {
-    # This option is not active
-    # ActiveIf constraint:  CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 0 
-    #     CYGINT_COMPRESS_ZLIB_LOCAL_ALLOC == 1
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_MEMALLOC
-    #     CYGPKG_MEMALLOC == current
-    #   --> 1
-};
-
-# Zlib compress and decompress package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_COMPRESS_ZLIB_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "-D__ECOS__ -DNO_ERRNO_H"
-    # value_source default
-    # Default value: "-D__ECOS__ -DNO_ERRNO_H"
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value -Wstrict-prototypes
-    # value_source default
-    # Default value: -Wstrict-prototypes
-};
-
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_LDFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# zlib tests
-#
-cdl_option CYGPKG_COMPRESS_ZLIB_TESTS {
-    # Calculated value:  "tests/zlib1.c tests/zlib2.c" 
-    # Flavor: data
-    # Current_value: tests/zlib1.c tests/zlib2.c
-};
-
-# <
-# FLASH device drivers
-# doc: ref/flash.html
-# This option enables drivers for basic I/O services on
-# flash devices.
-#
-cdl_package CYGPKG_IO_FLASH {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGINT_ISO_STRING_STRFUNCS
-    #     CYGINT_ISO_STRING_STRFUNCS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # component CYGSEM_REDBOOT_FLASH_CONFIG
-    #     DefaultValue:  CYGPKG_IO_FLASH != 0 
-    # package CYGPKG_DEVS_FLASH_ONMXC
-    #     ActiveIf: CYGPKG_IO_FLASH
-};
-
-# >
-# Hardware FLASH device drivers
-# This option enables the hardware device drivers
-# for the current platform.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE {
-    # Implemented by CYGPKG_DEVS_FLASH_ONMXC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-
-    # The following properties are affected by this value
-    # component CYGPKG_REDBOOT_FLASH
-    #     ActiveIf: CYGHWR_IO_FLASH_DEVICE
-};
-
-# Hardware FLASH device drivers are not in RAM
-# Use of this interface is deprecated.
-# Drivers should make sure that the functions are
-# linked to RAM by putting them in .2ram sections.
-#
-cdl_interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-    # Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-    #     Requires: !CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-};
-
-# Hardware can support block locking
-# This option will be enabled by devices which can support
-# locking (write-protection) of individual blocks.
-#
-cdl_interface CYGHWR_IO_FLASH_BLOCK_LOCKING {
-    # No options implement this inferface
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 0 0
-
-    # The following properties are affected by this value
-    # option CYGSEM_REDBOOT_FLASH_LOCK_SPECIAL
-    #     ActiveIf:  CYGHWR_IO_FLASH_BLOCK_LOCKING != 0 
-};
-
-# Hardware cannot support direct access to FLASH memory
-# This option will be asserted by devices which cannot support
-# direct access to the FLASH memory contents (e.g. EEPROM or NAND
-# devices).  In these cases, the driver must provide an appropriate
-# hardware access function.
-#
-cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-    #     CYGSEM_IO_FLASH_VERIFY_PROGRAM == 0
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGPRI_REDBOOT_ZLIB_FLASH
-    #     ActiveIf:  (!CYGSEM_IO_FLASH_READ_INDIRECT) || CYGPRI_REDBOOT_ZLIB_FLASH_FORCE 
-    # option CYGHWR_DEVS_FLASH_MXC_NAND
-    #     Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-};
-
-# Display status messages during flash operations
-# Selecting this option will cause the drivers to print status
-# messages as various flash operations are undertaken.
-#
-cdl_option CYGSEM_IO_FLASH_CHATTER {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Verify data programmed to flash
-# Selecting this option will cause verification of data
-# programmed to flash.
-#
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGSEM_IO_FLASH_READ_INDIRECT
-    #     Requires:  !CYGSEM_IO_FLASH_VERIFY_PROGRAM 
-};
-
-# Platform has flash soft DIP switch write-protect
-# Selecting this option will cause the state of a hardware jumper or
-# dipswitch to be read by software to determine whether the flash is
-# write-protected or not.
-#
-cdl_option CYGSEM_IO_FLASH_SOFT_WRITE_PROTECT {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Instantiate in I/O block device API
-# Provides a block device accessible using the standard I/O
-# API ( cyg_io_read() etc. )
-#
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_IO
-    #     CYGPKG_IO (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of flash device 1 block device
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 {
-    # This option is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is not active
-    # The parent CYGPKG_IO_FLASH_BLOCK_DEVICE is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"/dev/flash1\""
-    # value_source default
-    # Default value: "\"/dev/flash1\""
-};
-
-# >
-#
-cdl_interface CYGINT_IO_FLASH_BLOCK_CFG_1 {
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1, inactive, enabled
-    # Implemented by CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1, inactive, disabled
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-    # Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     CYGINT_IO_FLASH_BLOCK_CFG_1 == 0
-    #   --> 0
-
-    # The following properties are affected by this value
-    # interface CYGINT_IO_FLASH_BLOCK_CFG_1
-    #     Requires: 1 == CYGINT_IO_FLASH_BLOCK_CFG_1
-};
-
-# Static configuration
-# This configures the flash device 1 block device
-# with static base and length
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash which this
-# block device corresponds to.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_OFFSET_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash given over
-# to this block device.
-#
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_STATIC_1 is not active
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# Configuration from FIS
-# This configures the flash device 1 block device
-# from Redboot FIS
-#
-cdl_component CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 {
-    # This option is not active
-    # The parent CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1 is not active
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# >
-# Name of FIS entry
-#
-cdl_component CYGDAT_IO_FLASH_BLOCK_FIS_NAME_1 {
-    # This option is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is not active
-    # The parent CYGNUM_IO_FLASH_BLOCK_CFG_FIS_1 is disabled
-
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value "\"jffs2\""
-    # value_source default
-    # Default value: "\"jffs2\""
-};
-
-# <
-# <
-# <
-# Flash device driver build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_IO_FLASH_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the flash device drivers. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_IO_FLASH_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Flash device driver tests
-# This option specifies the set of tests for the flash device drivers.
-#
-cdl_component CYGPKG_IO_FLASH_TESTS {
-    # Calculated value:  "tests/flash1" 
-    # Flavor: data
-    # Current_value: tests/flash1
-};
-
-# >
-# Start offset from flash base
-# This gives the offset from the base of flash where tests
-# can be run.  It is important to set this correctly, as an
-# incorrect value could allow the tests to write over critical
-# portions of the FLASH device and possibly render the target
-# board totally non-functional.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_OFFSET {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# Length
-# This gives the length of the region of flash used for testing.
-#
-cdl_option CYGNUM_IO_FLASH_TEST_LENGTH {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0x00100000
-    # value_source default
-    # Default value: 0x00100000
-};
-
-# <
-# <
-# Support FLASH memory on Freescale MXC platforms
-#
-cdl_package CYGPKG_DEVS_FLASH_ONMXC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # ActiveIf constraint: CYGPKG_IO_FLASH
-    #     CYGPKG_IO_FLASH == current
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-};
-
-# >
-# MXC platform NOR flash memory support
-# When this option is enabled, it indicates NOR flash is 
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NOR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 0
-    # value_source inferred
-    # Default value: 0
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR
-};
-
-# MXC platform NAND flash memory support
-# When this option is enabled, it indicates NAND flash is 
-# supported on the MXC platforms
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # The inferred value should not be edited directly.
-    inferred_value 1
-    # value_source inferred
-    # Default value: 0
-    # Requires:  CYGSEM_IO_FLASH_READ_INDIRECT == 1 
-    #     CYGSEM_IO_FLASH_READ_INDIRECT == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH
-    #     Requires:  CYGHWR_DEVS_FLASH_MXC_NAND == 1 
-    # component CYGHWR_FLASH_NAND_BBT_HEADER
-    #     Requires:  CYGHWR_DEVS_FLASH_MXC_NAND == 1 
-    # option CYGHWR_DEVS_FLASH_MXC_MULTI
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR
-    # interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND
-    #     ActiveIf: CYGHWR_DEVS_FLASH_MXC_NAND
-};
-
-# Use a flash based Bad Block Table
-#
-cdl_component CYGPKG_DEVS_FLASH_NAND_BBT_IN_FLASH {
-    # There is no associated value.
-};
-
-# >
-# When this option is enabled, the driver will search for a flash
-# based bad block table
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_BBT_IN_FLASH {
-    # Flavor: bool
-    user_value 1
-    # value_source user
-    # Default value: 0
-    # Requires:  CYGHWR_DEVS_FLASH_MXC_NAND == 1 
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-};
-
-# header file defining the NAND BBT descriptor
-# defines the name of the header file that describes the BBT layout
-#
-cdl_component CYGHWR_FLASH_NAND_BBT_HEADER {
-    # Flavor: booldata
-    user_value 1 <cyg/io/tx27_nand_bbt.h>
-    # value_source user
-    # Default value: 0 0
-    # Requires:  CYGHWR_DEVS_FLASH_MXC_NAND == 1 
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-};
-
-# <
-# MXC platform multi flash memory support
-# When this option is enabled, it indicates multi flashes are 
-# supported on the MXC platforms (like NAND and NOR)
-#
-cdl_option CYGHWR_DEVS_FLASH_MXC_MULTI {
-    # This option is not active
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND && CYGHWR_DEVS_FLASH_MXC_NOR
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #     CYGHWR_DEVS_FLASH_MXC_NOR == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# MXC platform NAND flash reset workaround support
-# When this option is enabled, it indicates 0xFFFF is used for
-# the NAND reset command instead of 0xFF.
-#
-cdl_interface CYGHWR_DEVS_FLASH_MXC_NAND_RESET_WORKAROUND {
-    # No options implement this inferface
-    # ActiveIf constraint: CYGHWR_DEVS_FLASH_MXC_NAND
-    #     CYGHWR_DEVS_FLASH_MXC_NAND == 1
-    #   --> 1
-
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 0
-};
-
-# <
-# <
-# I2C support
-# The generic I2C package provides an API for accessing devices
-# attached to an I2C bus. It specifies how I2C bus drivers should
-# be written and how I2C devices should be defined. There is also
-# support for bit-banged I2C buses.
-#
-cdl_package CYGPKG_IO_I2C {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires: CYGPKG_INFRA CYGPKG_HAL
-    #     CYGPKG_INFRA == current
-    #     CYGPKG_HAL == current
-    #   --> 1
-};
-
-# >
-# I2C initialization priority
-# The generic I2C package will initialize each I2C bus during
-# system startup, using a prioritized static constructor. This
-# option controls the priority that is used. The default value,
-# CYG_INIT_DRIVERS, means that I2C buses get initialized early
-# on.
-#
-cdl_option CYGNUM_I2C_INIT_PRIORITY {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value CYG_INIT_DRIVERS
-    # value_source default
-    # Default value: CYG_INIT_DRIVERS
-};
-
-# I2C build options
-# Package specific build options including control over
-# compiler flags used only in building the generic I2C
-# package, and details of which tests are built.
-#
-cdl_component CYGPKG_IO_I2C_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the generic I2C package. These flags are
-# used in addition to the set of global flags.
-#
-cdl_option CYGPKG_IO_I2C_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the generic I2C package. These flags are
-# removed from the set of global flags if present.
-#
-cdl_option CYGPKG_IO_I2C_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# Dynamic memory allocation
-# doc: ref/memalloc.html
-# This package provides memory allocator infrastructure required for
-# dynamic memory allocators, including the ISO standard malloc
-# interface. It also contains some sample implementations.
-#
-cdl_package CYGPKG_MEMALLOC {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-
-    # The following properties are affected by this value
-    # option CYGSEM_COMPRESS_ZLIB_NEEDS_MALLOC
-    #     Requires: CYGPKG_MEMALLOC
-};
-
-# >
-# Memory allocator implementations
-# This component contains configuration options related to the 
-# various memory allocators available.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATORS {
-    # There is no associated value.
-};
-
-# >
-# Fixed block allocator
-# This component contains configuration options related to the 
-# fixed block memory allocator.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_FIXED {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_FIXED_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# Simple variable block allocator
-# This component contains configuration options related to the 
-# simple variable block memory allocator. This allocator is not
-# very fast, and in particular does not scale well with large
-# numbers of allocations. It is however very compact in terms of
-# code size and does not have very much overhead per allocation.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_VARIABLE {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are added that allow a thread to wait until memory
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Coalesce memory
-# The variable-block memory allocator can perform coalescing
-# of memory whenever the application code releases memory back
-# to the pool. This coalescing reduces the possibility of
-# memory fragmentation problems, but involves extra code and
-# processor cycles.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-};
-
-# <
-# Doug Lea's malloc
-# This component contains configuration options related to the 
-# port of Doug Lea's memory allocator, normally known as
-# dlmalloc. dlmalloc has a reputation for being both fast
-# and space-conserving, as well as resisting fragmentation well.
-# It is a common choice for a general purpose allocator and
-# has been used in both newlib and Linux glibc.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_DLMALLOC {
-    # There is no associated value.
-};
-
-# >
-# Debug build
-# Doug Lea's malloc implementation has substantial amounts
-# of internal checking in order to verify the operation
-# and consistency of the allocator. However this imposes
-# substantial overhead on each operation. Therefore this
-# checking may be individually disabled.
-#
-cdl_option CYGDBG_MEMALLOC_ALLOCATOR_DLMALLOC_DEBUG {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value:  0 != CYGDBG_USE_ASSERTS 
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-    # Requires: CYGDBG_USE_ASSERTS
-    #     CYGDBG_USE_ASSERTS == 0
-    #   --> 0
-};
-
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-};
-
-# Support more than one instance
-# Having this option disabled allows important
-# implementation structures to be declared as a single
-# static instance, allowing faster access. However this
-# would fail if there is more than one instance of
-# the dlmalloc allocator class. Therefore this option can
-# be enabled if multiple instances are required. Note: as
-# a special case, if this allocator is used as the
-# implementation of malloc, and it can be determined there
-# is more than one malloc pool, then this option will be
-# silently enabled.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_SAFE_MULTIPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# Use system memcpy() and memset()
-# This may be used to control whether memset() and memcpy()
-# are used within the implementation. The alternative is
-# to use some macro equivalents, which some people report
-# are faster in some circumstances.
-#
-cdl_option CYGIMP_MEMALLOC_ALLOCATOR_DLMALLOC_USE_MEMCPY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value:  0 != CYGPKG_ISOINFRA 
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-    # Requires: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-};
-
-# Minimum alignment of allocated blocks
-# This option controls the minimum alignment that the
-# allocated memory blocks are aligned on, specified as
-# 2^N. Note that using large mininum alignments can lead
-# to excessive memory wastage.
-#
-cdl_option CYGNUM_MEMALLOC_ALLOCATOR_DLMALLOC_ALIGNMENT {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 3
-    # value_source default
-    # Default value: 3
-    # Legal values: 3 to 10
-};
-
-# <
-# Variable block allocator with separate metadata
-# This component contains configuration options related to the 
-# variable block memory allocator with separate metadata.
-#
-cdl_component CYGPKG_MEMALLOC_ALLOCATOR_SEPMETA {
-    # There is no associated value.
-};
-
-# >
-# Make thread safe
-# With this option enabled, this allocator will be
-# made thread-safe. Additionally allocation functions
-# are made available that allow a thread to wait
-# until memory is available.
-#
-cdl_option CYGSEM_MEMALLOC_ALLOCATOR_SEPMETA_THREADAWARE {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# <
-# <
-# Kernel C API support for memory allocation
-# This option must be enabled to provide the extensions required
-# to support integration into the kernel C API.
-#
-cdl_option CYGFUN_MEMALLOC_KAPI {
-    # This option is not active
-    # ActiveIf constraint: CYGPKG_KERNEL
-    #     CYGPKG_KERNEL (unknown) == 0
-    #   --> 0
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: CYGFUN_KERNEL_API_C
-    #     CYGFUN_KERNEL_API_C (unknown) == 0
-    #   --> 0
-};
-
-# malloc(0) returns NULL
-# This option controls the behavior of malloc(0) ( or calloc with
-# either argument 0 ). It is permitted by the standard to return
-# either a NULL pointer or a unique pointer. Enabling this option
-# forces a NULL pointer to be returned.
-#
-cdl_option CYGSEM_MEMALLOC_MALLOC_ZERO_RETURNS_NULL {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# Breakpoint site when running out of memory
-# Whenever the system runs out of memory, it invokes this function
-# before either going to sleep waiting for memory to become 
-# available or returning failure.
-#
-cdl_option CYGSEM_MEMALLOC_INVOKE_OUT_OF_MEMORY {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-};
-
-# malloc() and supporting allocators
-# This component enables support for dynamic memory
-# allocation as supplied by the functions malloc(),
-# free(), calloc() and realloc(). As these
-# functions are often used, but can have quite an
-# overhead, disabling them here can ensure they
-# cannot even be used accidentally when static
-# allocation is preferred. Within this component are
-# various allocators that can be selected for use
-# as the underlying implementation of the dynamic
-# allocation functions.
-#
-cdl_component CYGPKG_MEMALLOC_MALLOC_ALLOCATORS {
-    # ActiveIf constraint: CYGPKG_ISOINFRA
-    #     CYGPKG_ISOINFRA == current
-    #   --> 1
-
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-};
-
-# >
-# Use external heap definition
-# This option allows other components in the
-# system to override the default system
-# provision of heap memory pools. This should
-# be set to a header which provides the equivalent
-# definitions to <pkgconf/heaps.hxx>.
-#
-cdl_component CYGBLD_MEMALLOC_MALLOC_EXTERNAL_HEAP_H {
-    # Flavor: booldata
-    # No user value, uncomment the following line to provide one.
-    # user_value 0 0
-    # value_source default
-    # Default value: 0 0
-};
-
-# malloc() allocator implementations
-#
-cdl_interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS {
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE, active, disabled
-    # Implemented by CYGIMP_MEMALLOC_MALLOC_DLMALLOC, active, enabled
-    # This value cannot be modified here.
-    # Flavor: data
-    # Current_value: 1
-    # Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-    #     CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1
-    #   --> 1
-
-    # The following properties are affected by this value
-    # interface CYGINT_MEMALLOC_MALLOC_ALLOCATORS
-    #     Requires:  CYGINT_MEMALLOC_MALLOC_ALLOCATORS == 1 
-};
-
-# malloc() implementation instantiation data
-# Memory allocator implementations that are capable of being
-# used underneath malloc() must be instantiated. The code
-# to do this is set in this option. It is only intended to
-# be set by the implementation, not the user.
-#
-cdl_option CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value <cyg/memalloc/dlmalloc.hxx>
-    # value_source default
-    # Default value: <cyg/memalloc/dlmalloc.hxx>
-
-    # The following properties are affected by this value
-    # option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    # option CYGIMP_MEMALLOC_MALLOC_DLMALLOC
-    #     Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-};
-
-# Simple variable block implementation
-# This causes malloc() to use the simple
-# variable block allocator.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_VARIABLE_SIMPLE {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/memvar.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 0
-    # Requires: CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE
-    #     CYGSEM_MEMALLOC_ALLOCATOR_VARIABLE_COALESCE == 1
-    #   --> 1
-};
-
-# Doug Lea's malloc implementation
-# This causes malloc() to use a version of Doug Lea's
-# malloc (dlmalloc) as the underlying implementation.
-#
-cdl_option CYGIMP_MEMALLOC_MALLOC_DLMALLOC {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER ==  "<cyg/memalloc/dlmalloc.hxx>" 
-    #     CYGBLD_MEMALLOC_MALLOC_IMPLEMENTATION_HEADER == <cyg/memalloc/dlmalloc.hxx>
-    #   --> 1
-};
-
-# <
-# Size of the fallback dynamic memory pool in bytes
-# If *no* heaps are configured in your memory layout,
-# dynamic memory allocation by
-# malloc() and calloc() must be from a fixed-size,
-# contiguous memory pool (note here that it is the
-# pool that is of a fixed size, but malloc() is still
-# able to allocate variable sized chunks of memory
-# from it). This option is the size
-# of that pool, in bytes. Note that not all of
-# this is available for programs to
-# use - some is needed for internal information
-# about memory regions, and some may be lost to
-# ensure that memory allocation only returns
-# memory aligned on word (or double word)
-# boundaries - a very common architecture
-# constraint.
-#
-cdl_option CYGNUM_MEMALLOC_FALLBACK_MALLOC_POOL_SIZE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 16384
-    # value_source default
-    # Default value: 16384
-    # Legal values: 32 to 0x7fffffff
-};
-
-# Common memory allocator package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_MEMALLOC_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building this package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_MEMALLOC_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Tests
-# This option specifies the set of tests for this package.
-#
-cdl_option CYGPKG_MEMALLOC_TESTS {
-    # Calculated value:  "tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2" 
-    # Flavor: data
-    # Current_value: tests/dlmalloc1 tests/dlmalloc2 tests/heaptest tests/kmemfix1 tests/kmemvar1 tests/malloc1 tests/malloc2 tests/malloc3 tests/malloc4 tests/memfix1 tests/memfix2 tests/memvar1 tests/memvar2 tests/realloc tests/sepmeta1 tests/sepmeta2
-};
-
-# <
-# <
-# Common error code support
-# This package contains the common list of error and
-# status codes. It is held centrally to allow
-# packages to interchange error codes and status
-# codes in a common way, rather than each package
-# having its own conventions for error/status
-# reporting. The error codes are modelled on the
-# POSIX style naming e.g. EINVAL etc. This package
-# also provides the standard strerror() function to
-# convert error codes to textual representation, as
-# well as an implementation of the errno idiom.
-#
-cdl_package CYGPKG_ERROR {
-    # Packages cannot be added or removed, nor can their version be changed,
-    # simply by editing their value. Instead the appropriate configuration
-    # should be used to perform these actions.
-
-    # This value cannot be modified here.
-    # Flavor: booldata
-    # Current value: 1 current
-    # Requires:  CYGBLD_ISO_ERRNO_CODES_HEADER == "<cyg/error/codes.h>" 
-    #     CYGBLD_ISO_ERRNO_CODES_HEADER == <cyg/error/codes.h>
-    #   --> 1
-};
-
-# >
-# errno variable
-# This package controls the behaviour of the
-# errno variable (or more strictly, expression)
-# from <errno.h>.
-#
-cdl_component CYGPKG_ERROR_ERRNO {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_ERRNO_HEADER == "<cyg/error/errno.h>" 
-    #     CYGBLD_ISO_ERRNO_HEADER == <cyg/error/errno.h>
-    #   --> 1
-};
-
-# >
-# Per-thread errno
-# This option controls whether the standard error
-# code reporting variable errno is a per-thread
-# variable, rather than global.
-#
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
-    # Flavor: bool
-    user_value 0
-    # value_source user
-    # Default value: 1
-    # Requires: CYGVAR_KERNEL_THREADS_DATA
-    #     CYGVAR_KERNEL_THREADS_DATA (unknown) == 0
-    #   --> 0
-};
-
-# Tracing level
-# Trace verbosity level for debugging the errno
-# retrieval mechanism in errno.cxx. Increase this
-# value to get additional trace output.
-#
-cdl_option CYGNUM_ERROR_ERRNO_TRACE_LEVEL {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value 0
-    # value_source default
-    # Default value: 0
-    # Legal values: 0 to 1
-};
-
-# <
-# strerror function
-# This package controls the presence and behaviour of the
-# strerror() function from <string.h>
-#
-cdl_option CYGPKG_ERROR_STRERROR {
-    # Flavor: bool
-    # No user value, uncomment the following line to provide one.
-    # user_value 1
-    # value_source default
-    # Default value: 1
-    # Requires:  CYGBLD_ISO_STRERROR_HEADER == "<cyg/error/strerror.h>" 
-    #     CYGBLD_ISO_STRERROR_HEADER == <cyg/error/strerror.h>
-    #   --> 1
-};
-
-# Error package build options
-# Package specific build options including control over
-# compiler flags used only in building this package,
-# and details of which tests are built.
-#
-cdl_component CYGPKG_ERROR_OPTIONS {
-    # There is no associated value.
-};
-
-# >
-# Additional compiler flags
-# This option modifies the set of compiler flags for
-# building the error package. These flags are used in addition
-# to the set of global flags.
-#
-cdl_option CYGPKG_ERROR_CFLAGS_ADD {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# Suppressed compiler flags
-# This option modifies the set of compiler flags for
-# building the error package. These flags are removed from
-# the set of global flags if present.
-#
-cdl_option CYGPKG_ERROR_CFLAGS_REMOVE {
-    # Flavor: data
-    # No user value, uncomment the following line to provide one.
-    # user_value ""
-    # value_source default
-    # Default value: ""
-};
-
-# <
-# <
-# <
-
diff --git a/doc/html/cdl-guide/advanced.html b/doc/html/cdl-guide/advanced.html
deleted file mode 100644 (file)
index 5b0a101..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Templates, Targets and Other Topics</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="script"
-HREF="ref.script.html"><LINK
-REL="NEXT"
-TITLE="Targets"
-HREF="advanced.targets.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.script.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="advanced.targets.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="ADVANCED">Chapter 6. Templates, Targets and Other Topics</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="advanced.html#ADVANCED.TEMPLATES"
->Templates</A
-></DT
-><DT
-><A
-HREF="advanced.targets.html"
->Targets</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ADVANCED.TEMPLATES">Templates</H1
-><P
->This section is still under construction.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.script.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="advanced.targets.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Targets</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/advanced.targets.html b/doc/html/cdl-guide/advanced.targets.html
deleted file mode 100644 (file)
index 38d1126..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Targets</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Templates, Targets and Other Topics"
-HREF="advanced.html"><LINK
-REL="PREVIOUS"
-TITLE="Templates, Targets and Other Topics"
-HREF="advanced.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="advanced.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 6. Templates, Targets and Other Topics</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
->&nbsp;</TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ADVANCED.TARGETS">Targets</H1
-><P
->This section is still under construction.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="advanced.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Templates, Targets and Other Topics</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="advanced.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/build.headers.html b/doc/html/cdl-guide/build.headers.html
deleted file mode 100644 (file)
index 372e064..0000000
+++ /dev/null
@@ -1,1452 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuration Header File Generation</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The Build Process"
-HREF="build.html"><LINK
-REL="PREVIOUS"
-TITLE="The Build Process"
-HREF="build.html"><LINK
-REL="NEXT"
-TITLE="Building eCos"
-HREF="build.make.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="build.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 4. The Build Process</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="build.make.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BUILD.HEADERS">Configuration Header File Generation</H1
-><P
->Configuration options can affect a build in two main ways. First,
-enabling a configuration option or other <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity can result in
-various files being built and added to a library, thus providing
-functionality to the application code. However this mechanism can only
-operate at a rather coarse grain, at the level of entire source files.
-Hence the component framework also generates configuration header
-files containing mainly C preprocessor <TT
-CLASS="LITERAL"
->#define</TT
->
-directives. Package source code can then <TT
-CLASS="LITERAL"
->#include</TT
->
-the appropriate header files and use <TT
-CLASS="LITERAL"
->#if</TT
->,
-<TT
-CLASS="LITERAL"
->#ifdef</TT
-> and <TT
-CLASS="LITERAL"
->#ifndef</TT
-> directives to
-adapt accordingly. In this way configuration options can be used to
-enable or disable entire functions within a source file or just a
-single line, whichever is appropriate.</P
-><P
->The configuration header files end up in the <TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> subdirectory of the
-install tree. There will be one header file for the system as a whole,
-<TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->, and there will
-be additional header files for each package, for example
-<TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->. The header files
-are generated when creating or updating the build and install trees,
-which needs to happen after every change to the configuration.</P
-><P
->The component framework processes each package in the configuration
-one at a time. The exact order in which the packages are processed is
-not defined, so the order in which <TT
-CLASS="LITERAL"
->#define's</TT
-> will
-end up in the global <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
-> header may vary. However
-for any given configuration the order should remain consistent until
-packages are added to or removed from the system. This avoids
-unnecessary changes to the global header file and hence unnecessary
-rebuilds of the packages and of application code because of header
-file dependency handling.</P
-><P
->Within a given package the various components, options and interfaces
-will be processed in the order in which they were defined in the
-corresponding <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts. Typically the data in the configuration
-headers consists only of a sequence of <TT
-CLASS="LITERAL"
->#define's</TT
-> so
-the order in which these are generated is irrelevant, but some
-properties such as <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> can be used to add arbitrary data to
-a configuration header and hence there may be dependencies on the
-order. It should be noted that re-parenting an option below some other
-package has no effect on which header file will contain the
-corresponding <TT
-CLASS="LITERAL"
->#define</TT
->: the preprocessor directives
-will always end up in the header file for the package that defines the
-option, or in the global configuration header.</P
-><P
->There are six properties which affect the process of generating header
-files:
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->,
-<A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
->, and
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property can only occur in the body of a
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> command and specifies the name of the header file which
-should contain the package's configuration data, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;some_package&gt; {
-    &#8230;
-    define_header xyzzy.h
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Given such a <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property the component framework will
-use the file <TT
-CLASS="FILENAME"
->pkgconf/xyzzy.h</TT
-> for
-the package's configuration data. If a package does not have
-a <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property then a suitable file name is constructed
-from the package's name. This involves:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->All characters in the package name up to and including the first
-underscore are removed. For example <TT
-CLASS="VARNAME"
->CYGPKG_KERNEL</TT
->
-is converted to <TT
-CLASS="LITERAL"
->KERNEL</TT
->, and
-<TT
-CLASS="VARNAME"
->CYGPKG_HAL_ARM</TT
-> is converted to
-<TT
-CLASS="LITERAL"
->HAL_ARM</TT
->.</P
-></LI
-><LI
-><P
->Any upper case letters in the resulting string will be converted to
-lower case, yielding e.g. <TT
-CLASS="LITERAL"
->kernel</TT
-> and
-<TT
-CLASS="LITERAL"
->hal_arm</TT
->.</P
-></LI
-><LI
-><P
->A <TT
-CLASS="LITERAL"
->.h</TT
-> suffix is appended, yielding e.g.
-<TT
-CLASS="LITERAL"
->kernel.h</TT
-> and <TT
-CLASS="LITERAL"
->hal_arm.h</TT
->.</P
-></LI
-></OL
-><P
->Because of the naming restrictions on configuration options, this
-should result in a valid filename. There is a small possibility of a
-file name class, for example <TT
-CLASS="VARNAME"
->CYGPKG_PLUGH</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGPKG_plugh</TT
-> would both end up trying to use the
-same header file <TT
-CLASS="FILENAME"
->pkgconf/plugh.h</TT
->,
-but the use of lower case letters for package names violates the
-naming conventions. It is not legal to use the <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
->
-property to put the configuration data for several packages in a
-single header file. The resulting behaviour is undefined.</P
-><P
->Once the name of the package's header file has been determined and the
-file has been opened, the various components, options and interfaces
-in the package will be processed starting with the package itself. The
-following steps are involved:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->If the current option or other <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity is inactive or disabled,
-the option is ignored for the purposes of header file generation.
-<TT
-CLASS="LITERAL"
->#define's</TT
-> are only generated for options that are
-both active and enabled.</P
-></LI
-><LI
-><P
->The next step is to generate a default <TT
-CLASS="LITERAL"
->#define</TT
-> for
-the current option. If this option has a <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property then the
-default <TT
-CLASS="LITERAL"
->#define</TT
-> is suppressed, and processing
-continues for <SPAN
-CLASS="PROPERTY"
->define</SPAN
->, <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> properties.</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->The header file appropriate for the default <TT
-CLASS="LITERAL"
->#define</TT
->
-is determined. For a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> this will be <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->, for any other option this
-will be the package's own header file. The intention here is that
-packages and application code can always determine which packages are
-in the configuration by <TT
-CLASS="LITERAL"
->#include'ing</TT
-> <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->. The C preprocessor lacks
-any facilities for including a header file only if it exists, and
-taking appropriate action otherwise.</P
-></LI
-><LI
-><P
->For options with the flavors <TT
-CLASS="LITERAL"
->bool</TT
-> or
-<TT
-CLASS="LITERAL"
->none</TT
->, a single <TT
-CLASS="LITERAL"
->#define</TT
-> will be
-generated. This takes the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define &lt;option&gt; 1</PRE
-></TD
-></TR
-></TABLE
-><P
->For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGFUN_LIBC_TIME_POSIX 1</PRE
-></TD
-></TR
-></TABLE
-><P
->Package source code can check whether or not an option is active and
-enabled by using the <TT
-CLASS="LITERAL"
->#ifdef</TT
->,
-<TT
-CLASS="LITERAL"
->#ifndef</TT
-> or <TT
-CLASS="LITERAL"
->#if
-defined(&#8230;)</TT
->directives.</P
-></LI
-><LI
-><P
->For options with the flavors <TT
-CLASS="LITERAL"
->data</TT
-> or
-<TT
-CLASS="LITERAL"
->booldata</TT
->, either one or two
-<TT
-CLASS="LITERAL"
->#define's</TT
-> will be generated. The first of these may
-be affected by a <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> property. If this property is not
-defined then the first <TT
-CLASS="LITERAL"
->#define</TT
-> will take the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define &lt;option&gt; &lt;value&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_LIBC_ATEXIT_HANDLERS 32</PRE
-></TD
-></TR
-></TABLE
-><P
->Package source code can examine this value using the
-<TT
-CLASS="LITERAL"
->#if</TT
-> directive, or by using the symbol in
-code such as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    for (i = 0; i &#60; CYGNUM_LIBC_ATEXIT_HANDLERS; i++) {
-        &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->It must be noted that the <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated
-only if the corresponding option is both active and enabled. Options
-with the <TT
-CLASS="LITERAL"
->data</TT
-> flavor are always enabled but may not
-be active. Code like the above should be written only if it is known
-that the symbol will always be defined, for example if the
-corresponding source file will only get built if the containing
-component is active and enabled. Otherwise the use of additional
-<TT
-CLASS="LITERAL"
->#ifdef</TT
-> or similar directives will be necessary.</P
-></LI
-><LI
-><P
->If there is a <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> property then this controls how the
-option's value will appear in the header file. Given a format string
-such as <TT
-CLASS="LITERAL"
->%08x</TT
-> and a value 42, the component
-framework will execute the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> command
-<TT
-CLASS="LITERAL"
->format&nbsp;%08x&nbsp;42</TT
-> and the result will be
-used for the <TT
-CLASS="LITERAL"
->#define's</TT
-> value. It is the
-responsibility of the component writer to make sure that this <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->
-command will be valid given the format string and the legal values for
-the option.</P
-></LI
-><LI
-><P
->In addition a second <TT
-CLASS="LITERAL"
->#define</TT
-> may or may not be
-generated. This will take the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define &lt;option&gt;_&lt;value&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_LIBC_ATEXIT_HANDLERS_32</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated only if it would
-result in a valid C preprocessor symbol. If the value is a string such
-as <TT
-CLASS="LITERAL"
->"/dev/ser0"</TT
-> then the <TT
-CLASS="LITERAL"
->#define</TT
->
-would be suppressed. This second <TT
-CLASS="LITERAL"
->#define</TT
-> is not
-particularly useful for numerical data, but can be valuable in other
-circumstances. For example if the legal values for an option
-<TT
-CLASS="LITERAL"
->XXX_COLOR</TT
-> are <TT
-CLASS="LITERAL"
->red</TT
->,
-<TT
-CLASS="LITERAL"
->green</TT
-> and <TT
-CLASS="LITERAL"
->blue</TT
-> then code like
-the following can be used:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef XXX_COLOR_red
-    &#8230;
-#endif
-#ifdef XXX_COLOR_green
-    &#8230;
-#endif
-#ifdef XXX_COLOR_blue
-    &#8230;
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->The expression syntax provided by the C preprocessor is limited to
-numerical data and cannot perform string comparisons. By generating
-two <TT
-CLASS="LITERAL"
->#define's</TT
-> in this way it is possible to work
-around this limitation of the C preprocessor. However some care has to
-be taken: if a component writer also defined a configuration option
-<TT
-CLASS="LITERAL"
->XXX_COLOR_green</TT
-> then there will be confusion. Since
-such a configuration option violates the naming conventions, the
-problem is unlikely to arise in practice.</P
-></LI
-></OL
-></LI
-><LI
-><P
->For some options it may be useful to generate one or more additional
-<TT
-CLASS="LITERAL"
->#define's</TT
-> or, in conjunction with the <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
->
-property, to define a symbol with a name different from the option's
-name. This can be achieved with the <SPAN
-CLASS="PROPERTY"
->define</SPAN
-> property, which takes the
-following form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    define [-file=&lt;filename&gt;] [-format=&lt;format&gt;] &lt;symbol&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    define FOPEN_MAX</PRE
-></TD
-></TR
-></TABLE
-><P
->This will result in something like:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define FOPEN_MAX 8
-#define FOPEN_MAX_8</PRE
-></TD
-></TR
-></TABLE
-><P
->The specified symbol must be a valid C preprocessor symbol. Normally
-the <TT
-CLASS="LITERAL"
->#define</TT
-> will end up in the same header file as
-the default one, in other words <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
-> in the case of a
-<TT
-CLASS="LITERAL"
->cdl_package</TT
->, or the package's own header file for any other option.
-The <TT
-CLASS="LITERAL"
->-file</TT
-> option can be used to change this. At
-present the only legal value is <TT
-CLASS="LITERAL"
->system.h</TT
->, for
-example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    define -file=system.h &lt;symbol&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->This will cause the <TT
-CLASS="LITERAL"
->#define</TT
-> to end up in the global
-configuration header rather than in the package's own header. Use of
-this facility should be avoided since it is very rarely necessary to
-make options globally visible.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->define</SPAN
-> property takes another option,
-<TT
-CLASS="LITERAL"
->-format</TT
->, to provide a format string.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    define -format=%08x &lt;symbol&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->This should only be used for options with the <TT
-CLASS="LITERAL"
->data</TT
->
-or <TT
-CLASS="LITERAL"
->booldata</TT
-> flavor, and has the same effect as the
-<SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> property has on the default
-<TT
-CLASS="LITERAL"
->#define</TT
->.</P
-><P
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-> properties are processed in the same way the default
-<TT
-CLASS="LITERAL"
->#define</TT
->. For options with the
-<TT
-CLASS="LITERAL"
->bool</TT
-> or <TT
-CLASS="LITERAL"
->none</TT
-> flavors a single
-<TT
-CLASS="LITERAL"
->#define</TT
-> will be generated using the value
-<TT
-CLASS="LITERAL"
->1</TT
->. For options with the <TT
-CLASS="LITERAL"
->data</TT
-> or
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavors either one or two
-<TT
-CLASS="LITERAL"
->#define's</TT
-> will be generated.</P
-></LI
-><LI
-><P
->After processing all <SPAN
-CLASS="PROPERTY"
->define</SPAN
-> properties, the component framework will
-look for any <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> properties. These take the following form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    if_define [-file=&lt;filename&gt;] &lt;symbol1&gt; &lt;symbol2&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    if_define CYGSRC_KERNEL CYGDBG_USE_ASSERTS</PRE
-></TD
-></TR
-></TABLE
-><P
->The following will be generated in the configuration header file:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef CYGSRC_KERNEL
-# define CYGDBG_USE_ASSERTS
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->Typical kernel source code would begin with the following construct:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGSRC_KERNEL 1
-#include &lt;pkgconf/kernel.h&gt;
-#include &lt;cyg/infra/cyg_ass.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->The infrastructure header file <TT
-CLASS="FILENAME"
->cyg/infra/cyg_ass.h</TT
-> only checks for symbols
-such as <TT
-CLASS="LITERAL"
->CYGDBG_USE_ASSERTS</TT
->, and has no special
-knowledge of the kernel or any other package. The <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property
-will only affect code that defines the symbol
-<TT
-CLASS="LITERAL"
->CYGSRC_KERNEL</TT
->, so typically only kernel source
-code. If the option is enabled then assertion support will be enabled
-for the kernel source code only. If the option is inactive or disabled
-then kernel assertions will be disabled. Assertions in other packages
-are not affected. Thus the <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property allows control over
-assertions, tracing, and similar facilities at the level of individual
-packages, or at finer levels such as components or even single source
-files if desired.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Current <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages do not yet make use of this facility. Instead
-there is a single global configuration option
-<TT
-CLASS="VARNAME"
->CYGDBG_USE_ASSERTS</TT
-> which is used to enable or
-disable assertions for all packages. This issue should be addressed in
-a future release of the system.</P
-></BLOCKQUOTE
-></DIV
-><P
->As with the <SPAN
-CLASS="PROPERTY"
->define</SPAN
-> property, the <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property takes an
-option <TT
-CLASS="LITERAL"
->-file</TT
-> with a single legal value
-<TT
-CLASS="LITERAL"
->system.h</TT
->. This allows the output to be redirected
-to <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
-> if and when
-necessary. </P
-></LI
-><LI
-><P
->The final property that is relevant to configuration header file
-generation is <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
->. This takes a single argument, a <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->
-fragment that can add arbitrary data to the global header <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
-> and to the package's own
-header. When the <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> script is invoked two variables will be
-set up to allow access to these headers: <TT
-CLASS="LITERAL"
->cdl_header</TT
->
-will be a channel to the package's own header file, for example
-<TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->;
-<TT
-CLASS="LITERAL"
->cdl_system_header</TT
-> will be a channel to <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->. A typical <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
->
-script will use the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> <TT
-CLASS="LITERAL"
->puts</TT
-> command to output
-data to one of these channels, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option &lt;name&gt; {
-    &#8230;
-    define_proc {
-        puts $::cdl_header "#define XXX 1"
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In the current implementation the use of <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> is limited
-because the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> script cannot access any of the configuration data.
-Therefore the script is limited to writing constant data to the
-configuration headers. This is a major limitation which will be
-addressed in a future release of the component framework.</P
-></BLOCKQUOTE
-></DIV
-></LI
-></OL
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Generating C header files with <TT
-CLASS="LITERAL"
->#define's</TT
-> for the
-configuration data suffices for existing packages written in some
-combination of C, C++ and assembler. It can also be used in
-conjunction with some other languages, for example by first passing
-the source code through the C preprocessor and feeding the result into
-the appropriate compiler. In future versions of the component
-framework additional programming languages such as Java may be
-supported, and the configuration data may also be written to files in
-some format other than C preprocessor directives. </P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At present there is no way for application or package source code to
-get hold of all the configuration details related to the current
-hardware. Instead that information is spread over various different
-configuration headers for the HAL and device driver packages, with
-some of the information going into <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->. It is possible that in
-some future release of the system there will be another global
-configuration header file <TT
-CLASS="FILENAME"
->pkgconf/hardware.h</TT
-> which either contains the
-configuration details for the various hardware-specific packages or
-which <TT
-CLASS="LITERAL"
->#include's</TT
-> all the hardware-specific
-configuration headers. The desirability and feasibility of such a
-scheme are still to be determined. To avoid future incompatibility
-problems as a result of any such changes, it is recommended that all
-hardware packages (in other packages containing the <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
->
-property) use the <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property to specify explicitly which
-configuration header should be generated.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.HEADERS.SYSTEM.H">The <TT
-CLASS="FILENAME"
->system.h</TT
-> Header</H2
-><P
->Typically configuration header files are <TT
-CLASS="LITERAL"
->#include'd</TT
->
-only by the package's source code at build time, or by a package's
-exported header files if the interface provided by the package may be
-affected by a configuration option. There should be no need for
-application code to know the details of individual configuration
-options, instead the configuration should specifically meet the needs
-of the application.</P
-><P
->There are always exceptions. Application code may want to adapt to
-configuration options, for example to do different things for ROM and
-RAM booting systems, or when it is necessary to support several
-different target boards. This is especially true if the code in question
-is really re-usable library code which has not been converted to an
-eCos package, and hence cannot use any CDL facilities.</P
-><P
->A major problem here is determining which packages are in the
-configuration: attempting to <TT
-CLASS="LITERAL"
->#include</TT
-> a header file
-such as <TT
-CLASS="FILENAME"
->pkgconf/net.h</TT
->
-when it is not known for certain that that particular package is part
-of the configuration will result in compilation errors. The global
-header file <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->
-serves to provide such information, so application code can use
-techniques like the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;pkgconf/system.h&gt;
-#ifdef CYGPKG_NET
-# include &lt;pkgconf/net.h&gt;
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->This will compile correctly irrespective of the eCos configuration,
-and subsequent code can use <TT
-CLASS="LITERAL"
->#ifdef</TT
-> or similar
-directives on <TT
-CLASS="LITERAL"
->CYGPKG_NET</TT
-> or any of the
-configuration options in that package. </P
-><P
->In addition to determining whether or not a package is present, the
-global configuration header file can also be used to find out the
-specific version of a package that is being used. This can be useful
-if a more recent version exports additional functionality. It may also
-be necessary to adapt to incompatible changes in the exported
-interface or to changes in behaviour. For each package the
-configuration system will typically <TT
-CLASS="LITERAL"
->#define</TT
-> three
-symbols, for example for a V1.3.1 release:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_NET_VERSION_MAJOR 1
-#define CYGNUM_NET_VERSION_MINOR 3
-#define CYGNUM_NET_VERSION_RELEASE 1</PRE
-></TD
-></TR
-></TABLE
-><P
->There are a number of problems associated with such version
-<TT
-CLASS="LITERAL"
->#define's</TT
->. The first restriction is that the
-package must follow the standard naming conventions, so the package
-name must be of the form <TT
-CLASS="LITERAL"
->xxxPKG_yyy</TT
->. The three
-characters immediately preceding the first underscore must be
-<TT
-CLASS="LITERAL"
->PKG</TT
->, and will be replaced with
-<TT
-CLASS="LITERAL"
->NUM</TT
-> when generating the version
-<TT
-CLASS="LITERAL"
->#define's</TT
->. If a package does not follow the naming
-convention then no version <TT
-CLASS="LITERAL"
->#define's</TT
-> will be
-generated. </P
-><P
->Assuming the package does follow the naming conventions, the
-configuration tools will always generate three version
-<TT
-CLASS="LITERAL"
->#define's</TT
-> for the major, minor, and release
-numbers. The symbol names are obtained from the package name by
-replacing <TT
-CLASS="LITERAL"
->PKG</TT
-> with <TT
-CLASS="LITERAL"
->NUM</TT
-> and
-appending <TT
-CLASS="LITERAL"
->_VERSION_MAJOR</TT
->,
-<TT
-CLASS="LITERAL"
->_VERSION_MINOR</TT
-> and
-<TT
-CLASS="LITERAL"
->_VERSION_RELEASE</TT
->. It is assumed that the resulting
-symbols will not clash with any configuration option names. The values
-for the <TT
-CLASS="LITERAL"
->#define's</TT
-> are determined by searching the
-version string for sequences of digits, optionally preceded by a minus
-sign. It is possible that some or all of the numbers are absent in any
-given version string, in which case <TT
-CLASS="LITERAL"
->-1</TT
-> will be used
-in the <TT
-CLASS="LITERAL"
->#define</TT
->. For example, given a version string
-of <TT
-CLASS="LITERAL"
->V1.12beta</TT
->, the major version number is
-<TT
-CLASS="LITERAL"
->1</TT
->, the minor number is <TT
-CLASS="LITERAL"
->12</TT
->, and
-the release number is <TT
-CLASS="LITERAL"
->-1</TT
->. Given a version string of
-<TT
-CLASS="LITERAL"
->beta</TT
-> all three numbers would be set to
-<TT
-CLASS="LITERAL"
->-1</TT
->.</P
-><P
->There is special case code for the version <TT
-CLASS="LITERAL"
->current</TT
->,
-which typically corresponds to a development version obtained via
-anonymous CVS or similar means. The configuration system has special
-built-in knowledge of this version, and will assume it is more recent
-than any specific release number. The global configuration header
-defines a special symbol <TT
-CLASS="LITERAL"
->CYGNUM_VERSION_CURRENT</TT
->,
-and this will be used as the major version number when version
-<TT
-CLASS="LITERAL"
->current</TT
-> of a package is used:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_VERSION_CURRENT 0x7fffff00
-...
-#define CYGNUM_INFRA_VERSION_MAJOR CYGNUM_VERSION_CURRENT
-#define CYGNUM_INFRA_VERSION_MINOR -1
-#define CYGNUM_INFRA_VERSION_RELEASE -1</PRE
-></TD
-></TR
-></TABLE
-><P
->The large number used for <TT
-CLASS="LITERAL"
->CYGNUM_VERSION_CURRENT</TT
->
-should ensure that major version comparisons work as expected, while
-still allowing for a small amount of arithmetic in case that proves
-useful. </P
-><P
->It should be noted that this implementation of version
-<TT
-CLASS="LITERAL"
->#define's</TT
-> will not cope with all version number
-schemes. However for many cases it should suffice.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="build.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="build.make.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The Build Process</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="build.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building eCos</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/build.html b/doc/html/cdl-guide/build.html
deleted file mode 100644 (file)
index 7f70250..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The Build Process</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Updating the ecos.db database"
-HREF="language.database.html"><LINK
-REL="NEXT"
-TITLE="Configuration Header File Generation"
-HREF="build.headers.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.database.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="build.headers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="BUILD">Chapter 4. The Build Process</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="build.html#BUILD.OUTLINE"
->Build Tree Generation</A
-></DT
-><DT
-><A
-HREF="build.headers.html"
->Configuration Header File Generation</A
-></DT
-><DT
-><A
-HREF="build.make.html"
->Building eCos</A
-></DT
-><DT
-><A
-HREF="build.tests.html"
->Building Test Cases</A
-></DT
-></DL
-></DIV
-><P
->Some <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> properties describe the consequences of manipulating
-configuration options. There are two main types of consequences.
-Typically enabling a configuration option results in one or more
-<TT
-CLASS="LITERAL"
->#define's</TT
-> in a configuration header file, and
-properties that affect this include <SPAN
-CLASS="PROPERTY"
->define</SPAN
->, <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->no_define</SPAN
->. Enabling a configuration option can also affect the build
-process, primarily determining which files get built and added to the
-appropriate library. Properties related to the build process include
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->make</SPAN
->. This chapter describes the whole build process,
-including details such as compiler flags and custom build steps.</P
-><P
->Part of the overall design of the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component framework is that
-it can interact with a number of different build systems. The most
-obvious of these is <SPAN
-CLASS="APPLICATION"
->GNU
-make</SPAN
->:the component framework can generate one or more
-makefiles, and the user can then build the various packages simply by
-invoking <SPAN
-CLASS="APPLICATION"
->make</SPAN
->. However it
-should also be possible to build <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> by other means: the
-component framework can be queried about what is involved in building
-a given configuration, and this information can then be fed into the
-desired build system. Component writers should be aware of this
-possibility. Most packages will not be affected because the <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-property can be used to provide all the required information, but care
-has to be taken when writing custom build steps.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BUILD.OUTLINE">Build Tree Generation</H1
-><P
->It is necessary to create an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> configuration before anything can
-be built. With some tools such as the graphical configuration tool
-this configuration will be created in memory, and it is not essential
-to produce an <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> savefile first (although
-it is still very desirable to generate such a savefile at some point,
-to allow the configuration to be re-loaded later on). With other tools
-the savefile is generated first, for example using
-<TT
-CLASS="LITERAL"
->ecosconfig&nbsp;new</TT
->, and then a build tree is
-generated using <TT
-CLASS="LITERAL"
->ecosconfig&nbsp;tree</TT
->. The savefile
-contains all the information needed to recreate a configuration.</P
-><P
->An <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> build actually involves three separate trees. The component
-repository acts as the source tree, and for application developers
-this should be considered a read-only resource. The build tree is
-where all intermediate files, especially object files, are created.
-The install tree is where the main library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
->, the exported header files, and
-similar files end up. Following a successful build it is possible to
-take just the install tree and use it for developing an application:
-none of the files in the component repository or the build tree are
-needed for that. The build tree will be needed again only if the user
-changes the configuration. However the install tree does not contain
-copies of all of the documentation for the various packages, instead
-the documentation is kept only in the component repository.</P
-><P
->By default the build tree, the install tree, and the
-<TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> savefile all reside in the same
-directory tree. This is not a requirement, both the install tree and
-the savefile can be anywhere in the file system.</P
-><P
->It is worth noting that the component framework does not separate the
-usual <TT
-CLASS="LITERAL"
->make</TT
-> and <TT
-CLASS="LITERAL"
->make&nbsp;install</TT
->
-stages. A build always populates the install tree, and any
-<TT
-CLASS="LITERAL"
->make&nbsp;install</TT
-> step would be redundant.</P
-><P
->The install tree will always begin with two directories, <TT
-CLASS="FILENAME"
->include</TT
-> for the exported header files and
-<TT
-CLASS="FILENAME"
->lib</TT
-> for the main library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
-> and other files
-such as the linker script. In addition there will be a subdirectory
-<TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> containing the
-configuration header files, which are generated or updated at the same
-time the build tree is created or updated. More details of header file
-generation are given below. Additional <TT
-CLASS="FILENAME"
->include</TT
-> subdirectories such as <TT
-CLASS="FILENAME"
->sys</TT
-> and <TT
-CLASS="FILENAME"
->cyg/kernel</TT
-> will be created during the
-first build, when each package's exported header files are copied to
-the install tree. The install tree may also end up with additional
-subdirectories during a build, for example as a result of custom build
-steps. </P
-><P
->The component framework does not define the structure of the build
-tree, and this may vary between build systems. It can be assumed that
-each package in the configuration will have its own directory in the
-build tree, and that this directory will be used for storing the
-package's object files and as the current directory for any build
-steps for that package. This avoids problems when custom build steps
-from different packages generate intermediate files which happen to
-have the same name.</P
-><P
->Some build systems may allow application developers to copy a source
-file from the component repository to the build tree and edit the
-copy. This allows users to experiment with small changes, for example
-to add a couple of lines of debugging to a package, without having to
-modify the master copy in the component repository which could be
-shared by several projects or several people. Functionality such as
-this is transparent to component writers, and it is the responsibility
-of the build system to make sure that the right thing happens.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->There are some unresolved issues related to the build tree and install
-tree. Specifically, when updating an existing build or install tree,
-what should happen to unexpected files or directories? Suppose the
-user started with a configuration that included the math library, and
-the install tree contains header files <TT
-CLASS="FILENAME"
->include/math.h</TT
-> and <TT
-CLASS="FILENAME"
->include/sys/ieeefp.h</TT
->. The user then removed
-the math library from the configuration and is updating the build
-tree. It is now desirable to remove these header files from the
-install tree, so that if any application code still attempts to use
-the math library this will fail at compile time rather than at link
-time. There will also be some object files in the existing
-<TT
-CLASS="LITERAL"
->libtarget.a</TT
-> library which are no longer
-appropriate, and there may be other files in the install tree as a
-result of custom build steps. The build tree will still contain a
-directory for the math library, which no longer serves any purpose.</P
-><P
->However, it is also possible that some of the files in the build tree
-or the install tree were placed there by the user, in which case
-removing them automatically would be a bad idea.</P
-><P
->At present the component framework does not keep track of exactly what
-should be present in the build and install trees, so it cannot readily
-determine which files or library members are obsolete and can safely
-be removed, and which ones are unexpected and need to be reported to
-the user. This will be addressed in a future release of the system.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.database.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="build.headers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuration Header File Generation</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/build.make.html b/doc/html/cdl-guide/build.make.html
deleted file mode 100644 (file)
index 3446de9..0000000
+++ /dev/null
@@ -1,2283 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The Build Process"
-HREF="build.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuration Header File Generation"
-HREF="build.headers.html"><LINK
-REL="NEXT"
-TITLE="Building Test Cases"
-HREF="build.tests.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="build.headers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 4. The Build Process</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="build.tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BUILD.MAKE">Building eCos</H1
-><P
->The primary goal of an eCos build is to produce the library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
->. A typical <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> build will also
-generate a number of other targets: <TT
-CLASS="FILENAME"
->extras.o</TT
->,
-startup code <TT
-CLASS="FILENAME"
->vectors.o</TT
->, and a linker script. Some
-packages may cause additional libraries or targets to be generated.
-The basic build process involves a number of different phases with
-corresponding priorities. There are a number of predefined priorities:</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN2457"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="50%"
-ALIGN="RIGHT"
-VALIGN="TOP"
->Priority</TH
-><TH
-WIDTH="50%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Action</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="50%"
-ALIGN="RIGHT"
-VALIGN="TOP"
->0</TD
-><TD
-WIDTH="50%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Export header files</TD
-></TR
-><TR
-><TD
-WIDTH="50%"
-ALIGN="RIGHT"
-VALIGN="TOP"
->100</TD
-><TD
-WIDTH="50%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Process <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties</TD
-></TR
-><TR
-><TD
-WIDTH="50%"
-ALIGN="RIGHT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="50%"
-ALIGN="LEFT"
-VALIGN="TOP"
->and most <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> custom build steps</TD
-></TR
-><TR
-><TD
-WIDTH="50%"
-ALIGN="RIGHT"
-VALIGN="TOP"
->200</TD
-><TD
-WIDTH="50%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Generate libraries</TD
-></TR
-><TR
-><TD
-WIDTH="50%"
-ALIGN="RIGHT"
-VALIGN="TOP"
->300</TD
-><TD
-WIDTH="50%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Process <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> custom build steps</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><P
->Generation of the <TT
-CLASS="FILENAME"
->extras.o</TT
-> file, the startup code
-and the linker script actually happens via <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> custom build steps,
-typically defined in appropriate HAL packages. The component framework
-has no special knowledge of these targets.</P
-><P
->By default custom build steps for a <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property happen
-during the same phase as most compilations, but this can be changed
-using a <TT
-CLASS="LITERAL"
->-priority</TT
-> option. Similarly custom build
-steps for a <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property happen at the end of a build, but this can
-also be changed with a <TT
-CLASS="LITERAL"
->-priority</TT
-> option. For
-example a priority of 50 can be used to run a custom build step
-between the header file export phase and the main compilation phase.
-Custom build steps are discussed in more detail below.</P
-><P
->Some build systems may run several commands of the same priority in
-parallel. For example files listed in <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties may get
-compiled in parallel, concurrently with <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> custom build
-steps with default priorities. Since most of the time for an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-build involves processing <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties, this allows builds to
-be speeded up on suitable host hardware. All build steps for a given
-phase will complete before the next phase is started.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.MAKE.UPDATE">Updating the Build Tree</H2
-><P
->Some build systems may involve a phase before the header files get
-exported, to update the build and install trees automatically when
-there has been a change to the configuration savefile
-<TT
-CLASS="FILENAME"
->ecos.ecc</TT
->. This is useful mainly for application
-developers using the command line tools: it would allow users to
-create the build tree only once, and after any subsequent
-configuration changes the tree would be updated automatically by the
-build system. The facility would be analogous to the
-<TT
-CLASS="LITERAL"
->--enable-maintainer-mode</TT
-> option provide by the
-<SPAN
-CLASS="APPLICATION"
->autoconf</SPAN
-> and <SPAN
-CLASS="APPLICATION"
->automake</SPAN
-> programs. At present no <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-build system implements this functionality, but it is likely to be
-added in a future release.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.MAKE.EXPORT">Exporting Public Header Files</H2
-><P
->The first compulsory phase involves making sure that there is an up to
-date set of header files in the install tree. Each package can contain
-some number of header files defining the exported interface.
-Applications should only use exported functionality. A package can
-also contain some number of private header files which are only of
-interest to the implementation, and which should not be visible to
-application code. The various packages that go into a particular
-configuration can be spread all over the component repository. In
-theory it might be possible to make all the exported header files
-accessible by having a lengthy <TT
-CLASS="LITERAL"
->-I</TT
-> header file
-search path, but this would be inconvenient both for building eCos and
-for building applications. Instead all the relevant header files are
-copied to a single location, the <TT
-CLASS="FILENAME"
->include</TT
-> subdirectory of the install tree.
-The process involves the following:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The install tree, for example <TT
-CLASS="FILENAME"
->/usr/local/ecos/install</TT
->, and its <TT
-CLASS="FILENAME"
->include</TT
-> subdirectory <TT
-CLASS="FILENAME"
->/usr/local/ecos/install/include</TT
-> will typically be
-created when the build tree is generated or updated. At the same time
-configuration header files will be written to the <TT
-CLASS="FILENAME"
->pkgconf</TT
-> subdirectory, for example
-<TT
-CLASS="FILENAME"
->/usr/local/ecos/include/pkgconf</TT
->, so that
-the configuration data is visible to all the packages and to
-application code that may wish to examine some of the configuration
-options.</P
-></LI
-><LI
-><P
->Each package in the configuration is examined for exported header
-files. The exact order in which the packages are processed is not
-defined, but should not matter.</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->If the package has an <A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
-> property then this
-lists all the exported header files:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;some_package&gt; {
-    &#8230;
-    include_files header1.h header2.h
-}    </PRE
-></TD
-></TR
-></TABLE
-><P
->If no arguments are given then the package does not export any header
-files.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;some_package&gt; {
-    &#8230;
-    include_files
-}    </PRE
-></TD
-></TR
-></TABLE
-><P
->The listed files may be in an <TT
-CLASS="FILENAME"
->include</TT
-> subdirectory within the package's
-hierarchy, or they may be relative to the package's toplevel
-directory. The <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property is intended mainly for very
-simple packages. It can also be useful when converting existing code
-to an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> package, to avoid rearranging the sources.</P
-></LI
-><LI
-><P
->If there is no <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property then the component framework
-will look for an <TT
-CLASS="FILENAME"
->include</TT
->
-subdirectory in the package, as per the layout conventions. All files,
-including those in subdirectories, will be treated as exported header
-files. For example, the math library package contains files <TT
-CLASS="FILENAME"
->include/math.h</TT
-> and <TT
-CLASS="FILENAME"
->include/sys/ieeefp.h</TT
->, both of which will
-be exported to the install tree.</P
-></LI
-><LI
-><P
->As a last resort, if there is neither an <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property nor
-an <TT
-CLASS="FILENAME"
->include</TT
-> subdirectory, the
-component framework will search the package's toplevel directory and
-all of its subdirectories for files with one of the following
-suffixes: <TT
-CLASS="LITERAL"
->.h</TT
->, <TT
-CLASS="LITERAL"
->.hxx</TT
->,
-<TT
-CLASS="LITERAL"
->.inl</TT
-> or <TT
-CLASS="LITERAL"
->.inc</TT
->. All such files
-will be interpreted as exported header files.</P
-><P
->This last resort rule could cause confusion for packages which have no
-exported header files but which do contain one or more private header
-files. For example a typical device driver simply implements an
-existing interface rather than define a new one, so it does not need
-to export a header file. However it may still have one or more private
-header files. Such packages should use an <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property
-with no arguments.</P
-></LI
-></OL
-></LI
-><LI
-><P
->If the package has one or more exported header files, the next step is
-to determine where the files should end up. By default all exported
-header files will just end up relative to the install tree's <TT
-CLASS="FILENAME"
->include</TT
-> subdirectory. For example the
-math library's <TT
-CLASS="FILENAME"
->math.h</TT
-> header
-would end up as <TT
-CLASS="FILENAME"
->/usr/local/ecos/include/math.h</TT
->,
-and the <TT
-CLASS="FILENAME"
->sys/ieeefp.h</TT
-> header
-would end up as
-<TT
-CLASS="FILENAME"
->/usr/local/ecos/include/sys/ieeefp.h</TT
->. This
-behaviour is correct for packages like the C library where the
-interface is defined by appropriate standards. For other packages this
-behaviour can lead to file name clashes, and the <A
-HREF="ref.include-dir.html"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></A
-> property should be used
-to avoid this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_KERNEL {
-    include_dir cyg/kernel
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This means that the kernel's exported header file
-<TT
-CLASS="FILENAME"
->include/kapi.h</TT
-> should be copied to
-<TT
-CLASS="FILENAME"
->/usr/local/ecos/include/cyg/kernel/kapi.h</TT
->, where
-it is very unlikely to clash with a header file from some other
-package.</P
-></LI
-><LI
-><P
->For typical application developers there will be little or no need for
-the installed header files to change after the first build. Changes
-will be necessary only if packages are added to or removed from the
-configuration. For component writers, the build system should detect
-changes to the master copy of the header file source code and update
-the installed copies automatically during the next build. The build
-system is expected to perform a header file dependency analysis, so
-any source files affected should get rebuilt as well.</P
-></LI
-><LI
-><P
->Some build systems may provide additional support for application
-developers who want to make minor changes to a package, especially for
-debugging purposes. A header file could be copied from the
-component repository (which for application developers is assumed to
-be a read-only resource) into the build tree and edited there. The
-build system would detect a more recent version of such a header file
-in the build tree and install it. Care would have to be taken to
-recover properly if the modified copy in the build tree is
-subsequently removed, in order to revert to the original behaviour.</P
-></LI
-><LI
-><P
->When updating the install tree's <TT
-CLASS="FILENAME"
->include</TT
-> subdirectory, the build tree may
-also perform a clean-up operation. Specifically, it may check for any
-files which do not correspond to known exported header files and
-delete them.</P
-></LI
-></OL
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At present there is no defined support in the build system for
-defining custom build steps that generate exported header files. Any
-attempt to use the existing custom build step support may fall foul of
-unexpected header files being deleted automatically by the build
-system. This limitation will be addressed in a future release of the
-component framework, and may require changing the priority for
-exporting header files so that a custom build step can happen first.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.MAKE.COMPILES">Compiling</H2
-><P
->Once there are up to date copies of all the exported header files in
-the build tree, the main build can proceed. Most of this involves
-compiling source files listed in <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties in the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-scripts for the various packages, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_ERROR {
-    display       "Common error code support"
-    compile       strerror.cxx
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties may appear in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
->,
-<TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_option</TT
-> or <TT
-CLASS="LITERAL"
->cdl_interface</TT
->. If the option or
-other <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity is active and enabled, the property takes effect.
-If the option is inactive or disabled the property is ignored. It is
-possible for a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property to list multiple source files, and
-it is also possible for a given <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity to contain multiple
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties. The following three examples are equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option &lt;some_option&gt; {
-    &#8230;
-    compile file1.c file2.c file3.c
-}
-
-cdl_option &lt;some_option&gt; {
-    &#8230;
-    compile file1.c
-    compile file2.c
-    compile file3.c
-}
-
-cdl_option &lt;some_option&gt; {
-    &#8230;
-    compile file1.c file2.c
-    compile file3.c
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Packages that follow the directory layout conventions should have a
-subdirectory <TT
-CLASS="FILENAME"
->src</TT
->, and the
-component framework will first look for the specified files there.
-Failing that it will look for the specified files relative to the
-package's root directory. For example if a package contains a source
-file <TT
-CLASS="FILENAME"
->strerror.cxx</TT
-> then the following two lines
-are equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    compile strerror.cxx
-    compile src/strerror.cxx</PRE
-></TD
-></TR
-></TABLE
-><P
->In the first case the component framework will find the file
-immediately in the packages <TT
-CLASS="FILENAME"
->src</TT
->
-subdirectory. In the second case the framework will first look for a
-file <TT
-CLASS="FILENAME"
->src/src/strerror.cxx</TT
->, and then for
-<TT
-CLASS="FILENAME"
->str/strerror.cxx</TT
-> relative to the package's root
-directory. The result is the same.</P
-><P
->The file names may be relative paths, allowing the source code to be
-split over multiple directories. For example if a package contains a
-file <TT
-CLASS="FILENAME"
->src/sync/mutex.cxx</TT
-> then the corresponding
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entry would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    compile sync/mutex.cxx</PRE
-></TD
-></TR
-></TABLE
-><P
->All the source files relevant to the current configuration will be
-identified when the build tree is generated or updated, and added to
-the appropriate makefile (or its equivalent for other build systems).
-The actual build will involve a rule of the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&lt;object file&gt; : &lt;source file&gt;
-        $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o $@ $&#60;</PRE
-></TD
-></TR
-></TABLE
-><P
->The component framework has built-in knowledge for processing source
-files written in C, C++ or assembler. These should have a
-<TT
-CLASS="LITERAL"
->.c</TT
->, <TT
-CLASS="LITERAL"
->.cxx</TT
-> and
-<TT
-CLASS="LITERAL"
->.S</TT
-> suffix respectively. The current implementation
-has no simple mechanism for extending this with support for other
-languages or for alternative suffixes, but this should be addressed in
-a future release.</P
-><P
->The compiler command that will be used is something like
-<TT
-CLASS="LITERAL"
->arm-elf-gcc</TT
->. This consists of a command prefix, in
-this case <TT
-CLASS="LITERAL"
->arm-elf</TT
->, and a specific command such as
-<TT
-CLASS="LITERAL"
->gcc</TT
->. The command prefix will depend on the target
-architecture and is controlled by a configuration option in the
-appropriate HAL package. It will have a sensible default value for the
-current architecture, but users can modify this option when necessary.
-The command prefix cannot be changed on a per-package basis, since
-it is usually essential that all packages are built with a consistent
-set of tools.</P
-><P
->The <TT
-CLASS="LITERAL"
->$(INCLUDE_PATH)</TT
-> header file search path
-consists of at least the following:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The <TT
-CLASS="FILENAME"
->include</TT
-> directory in the
-install tree. This allows source files to access the various header
-files exported by all the packages in the configuration, and also the
-configuration header files.</P
-></LI
-><LI
-><P
->The current package's root directory. This ensures that all files in
-the package are accessible at build time.</P
-></LI
-><LI
-><P
->The current package's <TT
-CLASS="FILENAME"
->src</TT
->
-subdirectory, if it is present. Generally all files to be compiled are
-located in or below this directory. Typically this is used to access
-private header files containing implementation details only.</P
-></LI
-></OL
-><P
->The compiler flags <TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
-> are determined in two
-steps. First the appropriate HAL package will provide a configuration
-option defining the global flags. Typically this includes flags that
-are needed for the target processor, for example
-<TT
-CLASS="LITERAL"
->-mcpu=arm9</TT
->, various flags related to warnings,
-debugging and optimization, and flags such as
-<TT
-CLASS="LITERAL"
->-finit-priority</TT
-> which are needed by <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> itself.
-Users can modify the global flags option as required. In addition it
-is possible for existing flags to be removed from and new flags to be
-added to the current set on a per-package basis, again by means of
-user-modifiable configuration options. More details are given below.</P
-><P
->Component writers can assume that the build system will perform full
-header file dependency analysis, including dependencies on
-configuration headers, but the exact means by which this happens is
-implementation-defined. Typical application developers are unlikely to
-modify exported or private header files, but configuration headers are
-likely to change as the configuration is changed to better meet the
-needs of the application. Full header file dependency analysis also
-makes things easier for the component writers themselves.</P
-><P
->The current directory used during a compilation is an implementation
-detail of the build system. However it can be assumed that each
-package will have its own directory somewhere in the build tree, to
-prevent file name clashes, that this will be the current directory,
-and that intermediate object files will end up here.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.MAKE.LIBRARIES">Generating the Libraries</H2
-><P
->Once all the <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties have been
-processed and the required object files have been built or rebuilt,
-these can be collected together in one or more libraries. The archiver
-will be the <SPAN
-CLASS="APPLICATION"
->ar</SPAN
-> command
-corresponding to the current architecture, for example <SPAN
-CLASS="APPLICATION"
->powerpc-eabi-ar</SPAN
->. By default al of the
-object files will end up in a single library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
->. This can be changed on a per-package
-basis using the <A
-HREF="ref.library.html"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></A
-> property
-in the body of the corresponding <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;SOME_PACKAGE&gt; {
-    &#8230;
-    library  libSomePackage.a
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->However using different libraries for each package should be avoided.
-It makes things more difficult for application developers since they
-now have to link the application code with more libraries, and
-possibly even change this set of libraries when packages are added to
-or removed from the configuration. The use of a single library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
-> avoids any complications.</P
-><P
->It is also possible to change the target library for individual files,
-using a <TT
-CLASS="LITERAL"
->-library</TT
-> option with the corresponding
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> or <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property. For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    compile -library=libSomePackage.a hello.c
-    make_object -library=libSomePackage.a {
-        &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->Again this should be avoided because it makes application development
-more difficult. There is one special library which can be used freely,
-<TT
-CLASS="FILENAME"
->libextras.a</TT
->, which is used to generate the
-<TT
-CLASS="FILENAME"
->extras.o</TT
-> file as described below.</P
-><P
->The order in which object files end up in a library is not defined.
-Typically each library will be created directly in the install tree,
-since there is little point in generating a file in the build tree and
-then immediately copying it to the install tree.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.EXTRAS">The <TT
-CLASS="FILENAME"
->extras.o</TT
-> file</H2
-><P
->Package sources files normally get compiled and then added to a
-library, by default <TT
-CLASS="FILENAME"
->libtarget.a</TT
->, which is then
-linked with the application code. Because of the usual rules for
-linking with libraries, augmented by the use of link-time garbage
-collection, this means that code will only end up in the final
-executable if there is a direct or indirect reference to it in the
-application. Usually this is the desired behaviour: if the application
-does not make any use of say kernel message boxes, directly or
-indirectly, then that code should not end up in the final executable
-taking up valuable memory space.</P
-><P
->In a few cases it is desirable for package code to end up in the final
-executable even if there are no direct or indirect references. For
-example, device driver functions are often not called directly.
-Instead the application will access the device via the string
-<TT
-CLASS="LITERAL"
->"/dev/xyzzy"</TT
-> and call the device functions
-indirectly. This will be impossible if the functions have been
-removed at link-time.</P
-><P
->Another example involves static C++ objects. It is possible to have a
-static C++ object, preferably with a suitable constructor priority,
-where all of the interesting work happens as a side effect of running
-the constructor. For example a package might include a monitoring
-thread or a garbage collection thread created from inside such a
-constructor. Without a reference by the application to the static
-object the latter will never get linked in, and the package will not
-function as expected.</P
-><P
->A third example would be copyright messages. A package vendor may want
-to insist that all products shipped using that package include a
-particular message in memory, even though many users of that package
-will object to such a restriction.</P
-><P
->To meet requirements such as these the build system provides support
-for a file <TT
-CLASS="FILENAME"
->extras.o</TT
->, which always gets linked
-with the application code via the linker script. Because it is an
-object file rather than a library everything in the file will be
-linked in. The <TT
-CLASS="FILENAME"
->extras.o</TT
-> file is generated at the
-end of a build from a library <TT
-CLASS="FILENAME"
->libextras.a</TT
->, so
-packages can put functions and variables in suitable source files and
-add them to that library explicitly:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    compile -library=libextras.a xyzzy.c
-    compile xyzzy_support.c</PRE
-></TD
-></TR
-></TABLE
-><P
->In this example <TT
-CLASS="FILENAME"
->xyzzy.o</TT
-> will end up in
-<TT
-CLASS="FILENAME"
->libextras.a</TT
->, and hence in
-<TT
-CLASS="FILENAME"
->extras.o</TT
-> and in the final executable.
-<TT
-CLASS="FILENAME"
->xyzzy_support.o</TT
-> will end up in
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
-> as usual, and is subject to linker
-garbage collection.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.FLAGS">Compilers and Flags</H2
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Some of the details of compiler selection and compiler flags described
-below are subject to change in future revisions of the component
-framework, although every reasonable attempt will be made to avoid
-breaking backwards compatibility.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The build system needs to know what compiler to use, what compiler
-flags should be used for different stages of the build and so on. Much
-of this information will vary from target to target, although users
-should be able to override this when appropriate. There may also be a
-need for some packages to modify the compiler flags. All platform HAL
-packages should define a number of options with well-known names,
-along the following lines (any existing platform HAL package can be
-consulted for a complete example):</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGBLD_GLOBAL_OPTIONS {
-    flavor  none
-    parent  CYGPKG_NONE
-    &#8230;
-
-    cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-        flavor  data
-        default_value { "arm-elf" }
-        &#8230;
-    }
-    cdl_option CYGBLD_GLOBAL_CFLAGS {
-        flavor  data
-        default_value "-Wall -g -O2 &#8230;"
-        &#8230;
-    }
-
-    cdl_option CYGBLD_GLOBAL_LDFLAGS {
-        flavor  data
-        default_value "-g -nostdlib -Wl,--gc-sections &#8230;"
-        &#8230;
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_OPTIONS</TT
-> component serves to
-collect together all global build-related options. It has the flavor
-<TT
-CLASS="LITERAL"
->none</TT
-> since disabling all of these options would
-make it impossible to build anything and hence is not useful. It is
-parented immediately below the root of the configuration hierarchy,
-thus making sure that it is readily accessible in the graphical
-configuration tool and, for command line users, in the
-<TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> save file.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Currently the <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property lists a parent of
-<TT
-CLASS="VARNAME"
->CYGPKG_NONE</TT
->, rather than an empty string. This
-could be unfortunate if there was ever a package with that name. The
-issue will be addressed in a future release of the component
-framework.</P
-></BLOCKQUOTE
-></DIV
-><P
->The option <TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_COMMAND_PREFIX</TT
-> defines
-which tools should be used for the current target. Typically this is
-determined by the processor on the target hardware. In some cases a
-given target board may be able to support several different
-processors, in which case the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expression could select
-a different toolchain depending on some other option that is used to
-control which particular processor.
-<TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_COMMAND_PREFIX</TT
-> is modifiable rather
-than calculated, so users can override this when necessary.</P
-><P
->Given a command prefix such as <TT
-CLASS="LITERAL"
->arm-elf</TT
->, all C
-source files will be compiled with <TT
-CLASS="LITERAL"
->arm-elf-gcc</TT
->, all
-C++ sources will be built using <TT
-CLASS="LITERAL"
->arm-elf-g++</TT
->,
-and <TT
-CLASS="LITERAL"
->arm-elf-ar</TT
-> will be used to generate the
-library. This is in accordance with the usual naming conventions for
-GNU cross-compilers and similar tools. For the purposes of custom
-build steps, tokens such as <TT
-CLASS="LITERAL"
->$(CC)</TT
-> will be set to
-<TT
-CLASS="LITERAL"
->arm-elf-gcc</TT
->.</P
-><P
->The next option, <TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_CFLAGS</TT
->, is used to
-provide the initial value of <TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
->. Some
-compiler flags such as <TT
-CLASS="LITERAL"
->-Wall</TT
-> and
-<TT
-CLASS="LITERAL"
->-g</TT
-> are likely to be used on all targets. Other
-flags such as <TT
-CLASS="LITERAL"
->-mcpu=arm7tdmi</TT
-> will be
-target-specific. Again this is a modifiable option, so the user can
-switch from say <TT
-CLASS="LITERAL"
->-O2</TT
-> to <TT
-CLASS="LITERAL"
->-Os</TT
-> if
-desired. The option <TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_LDFLAGS</TT
-> serves
-the same purpose for <TT
-CLASS="LITERAL"
->$(LDFLAGS)</TT
-> and linking. It is
-used primarily when building test cases or possibly for some custom
-build steps, since building eCos itself generally involves building
-one or more libraries rather than executables.</P
-><P
->Some packages may wish to add certain flags to the global set, or
-possibly remove some flags. This can be achieved by having
-appropriately named options in the package, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_KERNEL_OPTIONS {
-    display "Kernel build options"
-    flavor  none
-    &#8230;
-
-    cdl_option CYGPKG_KERNEL_CFLAGS_ADD {
-        display "Additional compiler flags"
-        flavor  data
-        default_value { "" }
-        &#8230;
-    }
-
-    cdl_option CYGPKG_KERNEL_CFLAGS_REMOVE {
-        display "Suppressed compiler flags"
-        flavor  data
-        default_value { "" }
-        &#8230;
-    }
-
-    cdl_option CYGPKG_KERNEL_LDFLAGS_ADD {
-        display "Additional linker flags"
-        flavor  data
-        default_value { "" }
-        &#8230;
-    }
-
-    cdl_option CYGPKG_KERNEL_LDFLAGS_REMOVE {
-        display "Suppressed linker flags"
-        flavor  data
-        default_value { "" }
-        &#8230;
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->In this example the kernel does not modify the global compiler flags
-by default, but it is possible for the users to modify the options if
-desired. The value of <TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
-> that is used for
-the compilations and custom build steps in a given package is
-determined as follows:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with the global settings from
-<TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_CFLAGS</TT
->, for example
-<TT
-CLASS="LITERAL"
->-g&nbsp;-O2</TT
->.</P
-></LI
-><LI
-><P
->Remove any flags specified in the per-package
-<TT
-CLASS="LITERAL"
->CFLAGS_REMOVE</TT
-> option, if any. For example
-if <TT
-CLASS="LITERAL"
->-O2</TT
-> should be removed for this package then
-<TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
-> would now have a value of just
-<TT
-CLASS="LITERAL"
->-g</TT
->.</P
-></LI
-><LI
-><P
->Then concatenate the flags specified by the per-package
-<TT
-CLASS="LITERAL"
->CFLAGS_ADD</TT
-> option, if any. For example if
-<TT
-CLASS="LITERAL"
->-Os</TT
-> should be added for the current package then
-the final value of <TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
-> will be
-<TT
-CLASS="LITERAL"
->-g&nbsp;-Os</TT
->.</P
-></LI
-></OL
-><P
-><TT
-CLASS="LITERAL"
->$(LDFLAGS)</TT
-> is determined in much the same way.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The way compiler flags are handled at present has numerous limitations
-that need to be addressed in a future release, although it should
-suffice for nearly all cases. For the time being custom build steps
-and in particular the <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property can be used to work
-around the limitations.</P
-><P
->Amongst the issues, there is a specific problem with package
-encapsulation. For example the math library imposes some stringent
-requirements on the compiler in order to guarantee exact IEEE
-behavior, and may need special flags on a per-architecture basis. One
-way of handling this is to have
-<TT
-CLASS="VARNAME"
->CYGPKG_LIBM_CFLAGS_ADD</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGPKG_LIBM_CFLAGS_REMOVE</TT
-> <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->
-expressions which depend on the target architecture, but such
-expressions may have to updated for each new architecture. An
-alternative approach would allow the architectural HAL package to
-modify the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expressions for the math library, but this
-breaks encapsulation. A third approach would allow some architectural
-HAL packages to define one or more special options with well-known
-names, and the math library could check if these options were defined
-and adjust the default values appropriately. Other packages with
-floating point requirements could do the same. This approach also has
-scalability issues, in particular how many such categories of options
-would be needed? It is not yet clear how best to resolve such issues.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When generating a build tree it would be desirable for the component
-framework to output details of the tools and compiler flags in a
-format that can be re-used for application builds, for example a
-makefile fragment. This would make it easier for application
-developers to use the same set of flags as were used for building eCos
-itself, thus avoiding some potential problems with incompatible
-compiler flags.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.CUSTOM">Custom Build Steps</H2
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Some of the details of custom build steps as described below are
-subject to change in future revisions of the component framework,
-although every reasonable attempt will be made to avoid breaking
-backwards compatibility.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->For most packages simply listing one or more source files in a
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property is sufficient. These files will get built using the
-appropriate compiler and compiler flags and added to a library, which
-then gets linked with application code. A package that can be built in
-this way is likely to be more portable to different targets and build
-environments, since it avoids build-time dependencies. However some
-packages have special needs, and the component framework supports
-custom build steps to allow for these needs. There are two properties
-related to this, <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
->, and both take the following
-form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    make {
-        &lt;target_filepath&gt; : &lt;dependency_filepath&gt; &#8230;
-            &lt;command&gt;
-            ...
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->Although this may look like makefile syntax, and although some build
-environments will indeed involve generating makefiles and running
-<SPAN
-CLASS="APPLICATION"
->make</SPAN
->, this is not
-guaranteed. It is possible for the component framework to be
-integrated with some other build system, and custom build steps should
-be written with that possibility in mind. Each custom build step
-involves a target, some number of dependency files, and some number of
-commands. If the target is not up to date with respect to one or more
-of the dependencies then the commands need to be executed.</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->Only one target can be specified. For a <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property this
-target must be an object file. For a <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property it can be any
-file. In both cases it must refer to a physical file, the use of
-phony targets is not supported. The target should not be an absolute
-path name. If the generated file needs to end up in the install tree
-then this can be achieved using a <TT
-CLASS="LITERAL"
->&lt;PREFIX&gt;</TT
->
-token, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    make {
-        &lt;PREFIX&gt;/lib/mytarget : &#8230;
-            ...
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->When the build tree is generated and the custom build step is added to
-the makefile (or whatever build system is used)
-<TT
-CLASS="LITERAL"
->&lt;PREFIX&gt;</TT
-> will be replaced with the absolute
-path to the install tree. </P
-></LI
-><LI
-><P
->All the dependencies must also refer to physical files, not to phony
-targets. These files may be in the source tree. The
-<TT
-CLASS="LITERAL"
->&lt;PACKAGE&gt;</TT
-> token can be used to indicate this:
-when the build tree is generated this token will be replaced with the
-absolute path to the package's root directory in the component
-repository, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    make_object {
-        xyzzy.o : &lt;PACKAGE&gt;/src/xyzzy.c
-            &#8230;</PRE
-></TD
-></TR
-></TABLE
-><P
->If the component repository was installed in <TT
-CLASS="FILENAME"
->/usr/local/ecos</TT
-> and this custom build
-step existed in version 1_5 of the kernel,
-<TT
-CLASS="LITERAL"
->&lt;PACKAGE&gt;</TT
-> would be replaced with
-<TT
-CLASS="FILENAME"
->/usr/local/ecos/packages/kernel/v1_5</TT
->.</P
-><P
->Alternatively the dependencies may refer to files that are generated
-during the build. These may be object files resulting from <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-properties or other <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties, or they may be other
-files resulting from a <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    compile plugh.c
-    make_object {
-        xyzzy.o : plugh.o
-            &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->No other token or makefile variables may be used in the target or
-dependency file names. Also conditionals such as
-<TT
-CLASS="LITERAL"
->ifneq</TT
-> and similar makefile functionality must not
-be used.</P
-></LI
-><LI
-><P
-> 
-Similarly the list of commands must not use any makefile conditionals
-or similar functionality. A number of tokens can be used to provide
-access to target-specific or environmental data. Note that these
-tokens look like makefile variables, unlike the 
-<TT
-CLASS="LITERAL"
->&lt;PREFIX&gt;</TT
-> and
-<TT
-CLASS="LITERAL"
->&lt;PACKAGE&gt;</TT
-> tokens mentioned earlier:</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN2778"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Token</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Purpose</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Example value</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(AR)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->the GNU archiver</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->mips-tx39-elf-ar</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(CC)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->the GNU compiler</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->sh-elf-gcc</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->compiler flags</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->-O2 -Wall</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(COMMAND_PREFIX)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->the triplet prefix</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->mn10300-elf-</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(INCLUDE_PATH&#62;</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->header file search path</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->-I. -Isrc/misc</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(LDFLAGS)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->linker flags</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->-nostdlib -Wl,-static</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(OBJCOPY)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->the objcopy utility</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->arm-elf-objcopy</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(PREFIX)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->location of the install tree</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->/home/fred/ecos-install</TT
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->$(REPOSITORY)</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->location of the component repository</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->/home/fred/ecos/packages</TT
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><P
->In addition commands in a custom build step may refer to the target
-and the dependencies using <TT
-CLASS="LITERAL"
->$@</TT
->,
-<TT
-CLASS="LITERAL"
->$&#60;</TT
->, <TT
-CLASS="LITERAL"
->$^</TT
-> and
-<TT
-CLASS="LITERAL"
->$*</TT
->, all of which behave as per GNU make syntax. The
-commands will execute in a suitable directory in the build tree.</P
-></LI
-><LI
-><P
->The current directory used during a custom build step is an
-implementation detail of the build system. However it can be assumed
-that each package will have its own directory somewhere in the build
-tree, to prevent file name clashes, and that this will be the current
-directory. In addition any object files generated as a result of
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties will be located here as well, which is useful for
-custom build steps that depend on a <TT
-CLASS="LITERAL"
->.o</TT
-> file
-previously generated.</P
-><P
->Any temporary files created by a custom build step should be generated
-in the build tree (in or under the current directory). Such files
-should be given a <TT
-CLASS="FILENAME"
->.tmp</TT
-> file extension to ensure
-that they are deleted during a <TT
-CLASS="LITERAL"
->make&nbsp;clean</TT
-> or
-equivalent operation.</P
-><P
->If a package contains multiple custom build steps with the same
-priority, it is possible that these build steps will be run
-concurrently. Therefore these custom build steps must not accidentally
-use the same file names for intermediate files.</P
-></LI
-><LI
-><P
->Care has to be taken to make sure that the commands in a custom build
-step will run on all host platforms, including Windows NT as well as
-Linux and other Unix systems. For example, all file paths should use
-forward slashes as the directory separator. It can be assumed that
-Windows users will have a full set of CygWin tools installed and
-available on the path. The <A
-HREF="http://www.gnu.org/prep/standards.html"
-TARGET="_top"
->GNU coding
-standards</A
-> provide some useful guidelines for writing portable
-build rules.</P
-></LI
-><LI
-><P
->A custom build step must not make any assumptions concerning the
-version of another package. This enforces package encapsulation,
-preventing one package from accessing the internals of another.</P
-></LI
-><LI
-><P
->No assumptions should be made about the target platform, unless the
-package is inherently specific to that platform. Even then it is
-better to use the various tokens whenever possible, rather than
-hard-coding in details such as the compiler. For example, given a
-custom build step such as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    arm-elf-gcc -c -mcpu=arm7di -o $@ $&lt;</PRE
-></TD
-></TR
-></TABLE
-><P
->Even if this build step will only be invoked on ARM targets, it could
-cause problems. For example the toolchain may have been installed
-using a prefix other than <TT
-CLASS="LITERAL"
->arm-elf</TT
->. Also, if the
-user changes the compiler flags then this would not be reflected in
-the build step. The correct way to write this rule would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    $(CC) -c $(CFLAGS) -o $@ $&lt;</PRE
-></TD
-></TR
-></TABLE
-><P
->Some commands such as the compiler, the archiver, and objcopy are
-required sufficiently often to warrant their own tokens, for example
-<TT
-CLASS="LITERAL"
->$(CC)</TT
-> and <TT
-CLASS="LITERAL"
->$(OBJCOPY)</TT
->. Other
-target-specific commands are needed only rarely and the
-<TT
-CLASS="LITERAL"
->$(COMMAND_PREFIX)</TT
-> token can be used to construct
-the appropriate command name, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;    $(COMMAND_PREFIX)size $&lt; &gt; $@</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Custom build steps should not be used to build host-side executables,
-even if those executables are needed to build parts of the target side
-code. Support for building host-side executables will be added in a
-future version of the component framework, although it will not
-necessarily involve these custom build steps.</P
-></LI
-></OL
-><P
->By default custom build steps defined in a <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property
-have a priority of 100, which means that they will be executed 
-in the same phase as compilations resulting from a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property.
-It is possible to change the priority using a property option, for
-example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    make_object -priority 50 {
-        &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->Specifying a priority smaller than a 100 means that the custom build
-step happens before the normal compilations. Priorities between 100
-and 200 happen after normal compilations but before the libraries are
-archived together. <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties should not specify a
-priority of 200 or later. </P
-><P
->Custom build steps defined in a <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property have a default
-priority of 300, and so they will happen after the libraries have been
-built. Again this can be changed using a <TT
-CLASS="LITERAL"
->-priority</TT
->
-property option.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.STARTUP">Startup Code</H2
-><P
->Linking an application requires the application code, a linker script,
-the eCos library or libraries, the <TT
-CLASS="LITERAL"
->extras.o</TT
-> file,
-and some startup code. Depending on the target hardware and how the
-application gets booted, this startup code may do little more than
-branching to <TT
-CLASS="LITERAL"
->main()</TT
->, or it may have to perform a
-considerable amount of hardware initialization. The startup code
-generally lives in a file <TT
-CLASS="LITERAL"
->vectors.o</TT
-> which is
-created by a custom build step in a HAL package. As far as application
-developers are concered the existence of this file is largely
-transparent, since the linker script ensures that the file is part of
-the final executable.</P
-><P
->This startup code is not generally of interest to component writers,
-only to HAL developers who are referred to one of the existing HAL
-packages for specific details. Other packages are not expected to
-modify the startup in any way. If a package needs some work performed
-early on during system initialization, before the application's main
-entry point gets invoked, this can be achieved using a static object
-with a suitable constructor priority.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->It is possible that the <TT
-CLASS="LITERAL"
->extras.o</TT
-> support, in
-conjunction with appropriate linker script directives, could be used
-to eliminate the need for a special startup file. The details are not
-yet clear.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="BUILD.LINKERSCRIPT">The Linker Script</H2
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->This section is not finished, and the details are subject to change in
-a future release. Arguably linker script issues should be documented
-in the HAL documentation rather than in this guide.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Generating the linker script is the responsibility of the various HAL
-packages that are applicable to a given target. Developers of
-components other than HAL packages need not be concerned about what is
-involved. Developers of new HAL packages should use an existing HAL as
-a template.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->It may be desirable for some packages to have some control over the
-linker script, for example to add extra alignment details for a
-particular section. This can be risky because it can result in subtle
-portability problems, and the current component framework has no
-support for any such operations. The issue may be addressed in a
-future release.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="build.headers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="build.tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuration Header File Generation</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="build.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building Test Cases</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/build.tests.html b/doc/html/cdl-guide/build.tests.html
deleted file mode 100644 (file)
index 06fb4c5..0000000
+++ /dev/null
@@ -1,348 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building Test Cases</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The Build Process"
-HREF="build.html"><LINK
-REL="PREVIOUS"
-TITLE="Building eCos"
-HREF="build.make.html"><LINK
-REL="NEXT"
-TITLE="CDL Language Specification"
-HREF="reference.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="build.make.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 4. The Build Process</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="reference.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BUILD.TESTS">Building Test Cases</H1
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->The support in the current implementation of the component framework
-for building and running test cases is limited, and should be enhanced
-considerably in a future version. Compatibility with the existing
-mechanisms described below will be maintained if possible, but this
-cannot be guaranteed.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Whenever possible packages should be shipped with one or more test
-cases. This allows users to check that all packages function correctly
-in their particular configuration and on their target, which may be
-custom hardware unavailable to the package developer. The component
-framework needs to provide a way of building such test cases. For
-example, if a makefile system is used then there could be a
-<TT
-CLASS="LITERAL"
->make&nbsp;tests</TT
-> target to build the test cases, or
-possibly a <TT
-CLASS="LITERAL"
->make&nbsp;check</TT
-> target to build and run
-the test cases and process all the results. Unfortunately there are
-various complications.</P
-><P
->Not every test case will be applicable to every configuration. For
-example if the user has disabled the C library's
-<TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO</TT
-> component then there is no point
-in building or running any of the test cases for that component. This
-implies that test cases need to be associated with configuration
-options somehow. It is possible for the test case to use one or more
-<TT
-CLASS="LITERAL"
->#ifdef</TT
-> statements to check whether or not it is
-applicable in the current configuration, and compile to a null program
-when not applicable. This is inefficient because the test case will
-still get built and possibly run, even though it will not provide any
-useful information.</P
-><P
->Many packages involve direct interaction with hardware, for example a
-serial line or an ethernet interface. In such cases it is only
-worthwhile building and running the test if there is suitable software
-running at the other end of the serial line or listening on the same
-ethernet segment, and that software would typically have to run on the
-host. Of course the serial line in question may be hooked up to a
-different piece of hardware which the application needs to talk to, so
-disconnecting it and then hooking it up to the host for running some
-tests may be undesirable. The decision as to whether or not to build
-the test depends not just on the eCos configuration but also on the
-hardware setup and the availability of suitable host software.</P
-><P
->There are different kinds of tests, and it is not always desirable to
-run all of them. For example a package may contain a number of stress
-tests intended to run for long periods of time, possibly days or
-longer. Such tests should certainly be distinguished somehow from
-ordinary test cases so that users will not run them accidentally and
-wonder how long they should wait for a <TT
-CLASS="LITERAL"
->pass</TT
-> message
-before giving up. Stress tests may also have dependencies on the
-hardware configuration and on host software, for example a network
-stress test may require lots of ethernet packets.</P
-><P
->In the current implementation of the component framework these issues
-are not yet addressed. Instead there is only very limited support for
-building test cases. Any package can define a calculated configuration
-option of the form
-<TT
-CLASS="LITERAL"
->CYGPKG_&lt;package-name&gt;_TESTS</TT
->, whose value is a
-list of test cases. The <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> property can involve an
-expression so it is possible to adapt to a small number of
-configuration options, but this quickly becomes unwieldy. A typical
-example would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->        cdl_option CYGPKG_UITRON_TESTS {
-            display "uITRON tests"
-            flavor  data
-            no_define
-            calculated { "tests/test1 tests/test2 tests/test3 \
-                tests/test4 tests/test5 tests/test6 tests/test7 \
-                tests/test8 tests/test9 tests/testcxx tests/testcx2 \
-                tests/testcx3 tests/testcx4 tests/testcx5 \
-                tests/testcx6 tests/testcx7 tests/testcx8 \
-                tests/testcx9 tests/testintr" }
-            description   "
-This option specifies the set of tests for the uITRON compatibility layer."
-        }</PRE
-></TD
-></TR
-></TABLE
-><P
->This implies that there is a file <TT
-CLASS="FILENAME"
->tests/test1.c</TT
->
-or <TT
-CLASS="FILENAME"
->tests/test1.cxx</TT
-> in the package's directory.
-The commands that will be used to build the test case will take the
-form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    $(CC) -c $(INCLUDE_PATH) $(CFLAGS) -o &lt;build path&gt;/test1.o \
-         &lt;source path&gt;/tests/test1.c
-    $(CC) $(LDFLAGS) -o &lt;install path&gt;/tests/test1 &lt;build_path&gt;/test1.o</PRE
-></TD
-></TR
-></TABLE
-><P
->The variables <TT
-CLASS="LITERAL"
->$(CC)</TT
-> and so on are determined in the
-same way as for custom build steps. The various paths and the current
-directory will depend on the exact build system being used, and are
-subject to change. As usual the sources in the component repository
-are treated as a read-only resources, intermediate files live in the
-build tree, and the desired executables should end up in the install
-tree. </P
-><P
->Each test source file must be self-contained. It is not possible at
-present to build a little per-package library that can be used by the
-test cases, or to link together several object files to produce a
-single test executable. In some cases it may be possible to
-<TT
-CLASS="LITERAL"
->#include</TT
-> source code from a shared file in order to
-avoid unnecessary code replication. There is no support for
-manipulating compiler or linker flags for individual test cases: the
-flags that will be used for all files are <TT
-CLASS="LITERAL"
->$(CFLAGS)</TT
->
-and <TT
-CLASS="LITERAL"
->$(LDFLAGS)</TT
->, as per custom build steps. Note
-that it is possible for a package to define options of the form
-<TT
-CLASS="VARNAME"
->CYGPKG_&lt;PACKAGE-NAME&gt;_LDFLAGS_ADD</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGPKG_&lt;PACKAGE-NAME&gt;_LDFLAGS_REMOVE</TT
->. These
-will affect test cases, but in the absence of custom build steps they
-will have no other effect on the build.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="build.make.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building eCos</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="build.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CDL Language Specification</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/cdl-guide.html b/doc/html/cdl-guide/cdl-guide.html
deleted file mode 100644 (file)
index c9cd4a8..0000000
+++ /dev/null
@@ -1,788 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The eCos Component Writer's Guide</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="NEXT"
-TITLE="Overview"
-HREF="overview.html"></HEAD
-><BODY
-CLASS="BOOK"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="BOOK"
-><A
-NAME="CDL-GUIDE"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN4">The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</H1
-><H3
-CLASS="AUTHOR"
-><A
-NAME="AEN8">Bart Veer</H3
-><H3
-CLASS="AUTHOR"
-><A
-NAME="AEN11">John Dallaway</H3
-><P
-CLASS="COPYRIGHT"
->Copyright &copy; 2000, 2001 by Red Hat Inc.</P
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->1. <A
-HREF="overview.html"
->Overview</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="overview.html#OVERVIEW.TERMINOLOGY"
->Terminology</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.FRAMEWORK"
->Component Framework</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.OPTION"
->Configuration Option</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.COMPONENT"
->Component</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.PACKAGE"
->Package</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.CONFIGURATION"
->Configuration</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.TARGET"
->Target</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.TEMPLATE"
->Template</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.PROPERTIES"
->Properties</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.CONSEQUENCES"
->Consequences</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.CONSTRAINTS"
->Constraints</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.CONFLICTS"
->Conflicts</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.CDL"
->CDL</A
-></DT
-><DT
-><A
-HREF="overview.html#CONCEPTS.TERMINOLOGY.REPO"
->Component Repository</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="overview.configurability.html"
->Why Configurability?</A
-></DT
-><DT
-><A
-HREF="overview.approaches.html"
->Approaches to Configurability</A
-></DT
-><DT
-><A
-HREF="overview.degress.html"
->Degrees of Configurability</A
-></DT
-><DT
-><A
-HREF="overview.warning.html"
->Warnings</A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="package.html"
->Package Organization</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="package.html#PACKAGE.HIERARCHY"
->Packages and the Component Repository</A
-></DT
-><DT
-><A
-HREF="package.versions.html"
->Package Versioning</A
-></DT
-><DT
-><A
-HREF="package.contents.html"
->Package Contents and Layout</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="package.contents.html#PACKAGE.BUILD"
->Outline of the Build Process</A
-></DT
-><DT
-><A
-HREF="package.contents.html#PACKAGE.SOURCE"
->Configurable Source Code</A
-></DT
-><DT
-><A
-HREF="package.contents.html#PACKAGE.HEADERS"
->Exported Header Files</A
-></DT
-><DT
-><A
-HREF="package.contents.html#PACKAGE.DOCUMENTATION"
->Package Documentation</A
-></DT
-><DT
-><A
-HREF="package.contents.html#PACKAGE.TESTS"
->Test Cases</A
-></DT
-><DT
-><A
-HREF="package.contents.html#PACKAGE.HOST"
->Host-side Support</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="package.distrib.html"
->Making a Package Distribution</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="package.distrib.html#PACKAGE.DISTRIB.FORMAT"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> package distribution file format</A
-></DT
-><DT
-><A
-HREF="package.distrib.html#PACKAGE.DISTRIB.PREPARE"
->Preparing eCos packages for distribution</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->3. <A
-HREF="language.html"
->The CDL Language</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="language.html#LANGUAGE.OVERVIEW"
->Language Overview</A
-></DT
-><DT
-><A
-HREF="language.commands.html"
->CDL Commands</A
-></DT
-><DT
-><A
-HREF="language.properties.html"
->CDL Properties</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="language.properties.html#LANGUAGE.PROPERTIES.USER"
->Information-providing Properties</A
-></DT
-><DT
-><A
-HREF="language.properties.html#LANGUAGE.PROPERTIES.HIERARCHY"
->The Configuration Hierarchy</A
-></DT
-><DT
-><A
-HREF="language.properties.html#LANGUAGE.PROPERTIES.VALUE"
->Value-related Properties</A
-></DT
-><DT
-><A
-HREF="language.properties.html#LANGUAGE.PROPERTIES.DEFINE"
->Generating the Configuration Header Files</A
-></DT
-><DT
-><A
-HREF="language.properties.html#LANGUAGE.PROPERTIES.BUILD"
->Controlling what gets Built</A
-></DT
-><DT
-><A
-HREF="language.properties.html#LANGUAGE.PROPERTIES.MISCELLANEOUS"
->Miscellaneous Properties</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="language.naming.html"
->Option Naming Convention</A
-></DT
-><DT
-><A
-HREF="language.tcl.html"
->An Introduction to Tcl</A
-></DT
-><DT
-><A
-HREF="language.values.html"
->Values and Expressions</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="language.values.html#LANGUAGE.VALUES.VALUE"
->Option Values</A
-></DT
-><DT
-><A
-HREF="language.values.html#LANGUAGE.EXPRESSION"
->Ordinary Expressions</A
-></DT
-><DT
-><A
-HREF="language.values.html#LANGUAGE.FUNCTIONS"
->Functions</A
-></DT
-><DT
-><A
-HREF="language.values.html#LANGUAGE.GOAL-EXPRESSION"
->Goal Expressions</A
-></DT
-><DT
-><A
-HREF="language.values.html#LANGUAGE.LIST-EXPRESSION"
->List Expressions</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="language.interface.html"
->Interfaces</A
-></DT
-><DT
-><A
-HREF="language.database.html"
->Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</A
-></DT
-></DL
-></DD
-><DT
->4. <A
-HREF="build.html"
->The Build Process</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="build.html#BUILD.OUTLINE"
->Build Tree Generation</A
-></DT
-><DT
-><A
-HREF="build.headers.html"
->Configuration Header File Generation</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="build.headers.html#BUILD.HEADERS.SYSTEM.H"
->The <TT
-CLASS="FILENAME"
->system.h</TT
-> Header</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="build.make.html"
->Building eCos</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="build.make.html#BUILD.MAKE.UPDATE"
->Updating the Build Tree</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.MAKE.EXPORT"
->Exporting Public Header Files</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.MAKE.COMPILES"
->Compiling</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.MAKE.LIBRARIES"
->Generating the Libraries</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.EXTRAS"
->The <TT
-CLASS="FILENAME"
->extras.o</TT
-> file</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.FLAGS"
->Compilers and Flags</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.CUSTOM"
->Custom Build Steps</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.STARTUP"
->Startup Code</A
-></DT
-><DT
-><A
-HREF="build.make.html#BUILD.LINKERSCRIPT"
->The Linker Script</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="build.tests.html"
->Building Test Cases</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="reference.html"
->CDL Language Specification</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
->&nbsp;--&nbsp;Define a single configuration option</DT
-><DT
-><A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
->&nbsp;--&nbsp;Define a component, a collection of configuration options</DT
-><DT
-><A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->&nbsp;--&nbsp;Define a package, a component that can be distributed</DT
-><DT
-><A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
->&nbsp;--&nbsp;Define an interface, functionality that can be provided by
-a number of different implementations.</DT
-><DT
-><A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
->&nbsp;--&nbsp;Allow additional control over the active state of an
-option or other CDL entity.</DT
-><DT
-><A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
->&nbsp;--&nbsp;Used if the current option's value is not user-modifiable,
-but is calculated using a suitable CDL expression.</DT
-><DT
-><A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
->&nbsp;--&nbsp;List the source files that should be built if this option
-is active and enabled.</DT
-><DT
-><A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
->&nbsp;--&nbsp;Provide a default value for this option using a CDL expression.</DT
-><DT
-><A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->&nbsp;--&nbsp;Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that
-should go into the owning package's configuration header file.</DT
-><DT
-><A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->&nbsp;--&nbsp;Control how an option's value will appear in the
-configuration header file.</DT
-><DT
-><A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->&nbsp;--&nbsp;Specify the  configuration header file that
-will be generated for a given package.</DT
-><DT
-><A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->&nbsp;--&nbsp;Use a fragment of Tcl code to output additional data to
-configuration header files.</DT
-><DT
-><A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
->&nbsp;--&nbsp;Provide a textual description for an option.</DT
-><DT
-><A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
->&nbsp;--&nbsp;Provide a short string describing this option.</DT
-><DT
-><A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
->&nbsp;--&nbsp;The location of online-documentation for a configuration option.</DT
-><DT
-><A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
->&nbsp;--&nbsp;Specify the nature of a configuration option.</DT
-><DT
-><A
-HREF="ref.hardware.html"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></A
->&nbsp;--&nbsp;Specify that a package is tied to specific hardware.</DT
-><DT
-><A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
->&nbsp;--&nbsp;Output a common preprocessor construct to a configuration
-header file.</DT
-><DT
-><A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
->&nbsp;--&nbsp;Enabling this option provides one instance of a more
-general interface.</DT
-><DT
-><A
-HREF="ref.include-dir.html"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></A
->&nbsp;--&nbsp;Specify the desired location of a package's exported
-header files in the install tree.</DT
-><DT
-><A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
->&nbsp;--&nbsp;List the header files that are exported by a package.</DT
-><DT
-><A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
->&nbsp;--&nbsp;Impose constraints on the possible values for an option.</DT
-><DT
-><A
-HREF="ref.library.html"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></A
->&nbsp;--&nbsp;Specify which library should contain the object files
-generated by building this package.</DT
-><DT
-><A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
->&nbsp;--&nbsp;Define an additional custom build step associated with an
-option, resulting in a target that should not go directly into a library.</DT
-><DT
-><A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
->&nbsp;--&nbsp;Define a custom build step, resulting in an object file
-that should go into a library.</DT
-><DT
-><A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->&nbsp;--&nbsp;Suppress the normal generation of a preprocessor
-<TT
-CLASS="LITERAL"
->#define</TT
-> symbol in a configuration header file.</DT
-><DT
-><A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
->&nbsp;--&nbsp;Control the location of an option in the configuration hierarchy.</DT
-><DT
-><A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
->&nbsp;--&nbsp;List constraints that the configuration should satisfy if
-a given option is active and enabled..</DT
-><DT
-><A
-HREF="ref.script.html"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></A
->&nbsp;--&nbsp;Include additional configuration information from another
-CDL script.</DT
-></DL
-></DD
-><DT
->6. <A
-HREF="advanced.html"
->Templates, Targets and Other Topics</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="advanced.html#ADVANCED.TEMPLATES"
->Templates</A
-></DT
-><DT
-><A
-HREF="advanced.targets.html"
->Targets</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Overview</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.commands.html b/doc/html/cdl-guide/language.commands.html
deleted file mode 100644 (file)
index ef4e110..0000000
+++ /dev/null
@@ -1,514 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CDL Commands</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="NEXT"
-TITLE="CDL Properties"
-HREF="language.properties.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.properties.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.COMMANDS">CDL Commands</H1
-><P
->There are four <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->-related commands which can occur at the top-level
-of a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script: <TT
-CLASS="LITERAL"
->cdl_package</TT
->, <TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_option</TT
-> and
-<TT
-CLASS="LITERAL"
->cdl_interface</TT
->. These correspond to the basic building blocks of the
-language (CDL interfaces are described in <A
-HREF="language.interface.html"
->the Section called <I
->Interfaces</I
-></A
->). All of these take the same basic form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;name&gt; {
-    &#8230;
-}
-
-cdl_component &lt;name&gt; {
-    &#8230;
-}
-
-cdl_option &lt;name&gt; {
-    &#8230;
-}
-
-cdl_interface &lt;name&gt; {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The command is followed by a name and by a body of properties, the
-latter enclosed in braces. Packages and components can contain other
-entities, so the <TT
-CLASS="LITERAL"
->cdl_package</TT
-> and <TT
-CLASS="LITERAL"
->cdl_component</TT
-> can also have
-nested commands in their bodies. All names must be unique within a
-given configuration. If say the C library package and a TCP/IP stack
-both defined an option with the same name then it would not be
-possible to load both of them into a single configuration. There is a
-<A
-HREF="language.naming.html"
->naming convention</A
-> which should
-make accidental name clashes very unlikely.</P
-><P
->It is possible for two packages to use the same name if there are no
-reasonable circumstances under which both packages could be loaded at
-the same time. One example would be architectural HAL packages: a
-given <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> configuration can be used on only one processor, so the
-architectural HAL packages <TT
-CLASS="VARNAME"
->CYGPKG_HAL_ARM</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGPKG_HAL_I386</TT
-> can re-use option names; in fact
-in some cases they are expected to.</P
-><P
->Each package has one top-level <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script, which is specified in the
-packages <A
-HREF="language.database.html"
-><SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database
-entry</A
->. Typically the name of this top-level script is related to
-the package, so the kernel package uses
-<TT
-CLASS="FILENAME"
->kernel.cdl</TT
->, but this is just a convention. The
-first command in the top-level script should be <TT
-CLASS="LITERAL"
->cdl_package</TT
->, and the
-name used should be the same as in the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
->
-database. There should be only one <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command per package.</P
-><P
->The various <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entities live in a hierarchy. For example the kernel
-package contains a scheduling component, a synchronization primitives
-component, and a number of others. The synchronization component
-contains various options such as whether or not mutex priority
-inheritance is enabled. There is no upper bound on how far components
-can be nested, but it is rarely necessary to go more than three or
-four levels deeper than the package level. Since the naming convention
-incorporates bits of the hierarchy, this has the added advantage of
-keeping the names down to a more manageable size.</P
-><P
->The hierarchy serves two purposes. It allows options to be controlled
-en masse, so disabling a component automatically disables all the
-options below it in the hierarchy. It also permits a much simpler
-representation of the configuration in the graphical configuration
-tool, facilitating navigation and modification.</P
-><P
->By default a package is placed at the top-level of the hierarchy, but
-it is possible to override this using a <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property. For example
-an architectural HAL package such as <TT
-CLASS="VARNAME"
->CYGPKG_HAL_SH</TT
->
-typically re-parents itself below <TT
-CLASS="VARNAME"
->CYGPKG_HAL</TT
->, and a
-platform HAL package would then re-parent itself below the
-architectural HAL. This makes it a little bit easier for users to
-navigate around the hierarchy. Components, options and interfaces can
-also be re-parented, but this is less common.</P
-><P
->All components, options and interfaces that are defined directly in
-the top-level script will be placed below the package in the hierarchy.
-Alternatively they can be nested in the body of the <TT
-CLASS="LITERAL"
->cdl_package</TT
->
-command. The following two script fragments are equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_LIBC {
-    &#8230;
-}
-
-cdl_component CYGPKG_LIBC_STRING {
-    &#8230;
-}
-
-cdl_option CYGPKG_LIBC_CTYPE_INLINES {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->and:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_LIBC {
-    &#8230;
-
-    cdl_component CYGPKG_LIBC_STRING {
-        &#8230;
-    }
-
-    cdl_option CYGPKG_LIBC_CTYPE_INLINES {
-        &#8230;
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If a script defines options both inside and outside the body of the
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> then the ones inside will be processed first. Language
-purists may argue that it would have been better if all contained
-options and components had to go into the body, but in practice it is
-often convenient to be able to skip this level of nesting and the
-resulting behavior is still well-defined.</P
-><P
->Components can also contain options and other <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entities, in fact
-that is what distinguishes them from options. These can be defined in
-the body of the <TT
-CLASS="LITERAL"
->cdl_component</TT
-> command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_LIBC_STDIO {
-
-    cdl_component CYGPKG_LIBC_STDIO_FLOATING_POINT {
-        &#8230;
-    }
-
-    cdl_option CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS {
-        &#8230;
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Nesting options inside the bodies of components like this is fine for
-simple packages with only a limited number of configuration options,
-but it becomes unsatisfactory as the number of options increases.
-Instead it is possible to split the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> data into multiple <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-scripts, on a per-component basis. The <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property should be
-used for this. For example, in the case of the C library all
-stdio-related configuration options could be put into
-<TT
-CLASS="FILENAME"
->stdio.cdl</TT
->, and the top-level CDL script
-<TT
-CLASS="FILENAME"
->libc.cdl</TT
-> would contain the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_LIBC {
-    &#8230;
-
-    cdl_component CYGPKG_LIBC_STDIO {
-        &#8230;
-        script stdio.cdl
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO_FLOATING_POINT</TT
-> component and
-the <TT
-CLASS="VARNAME"
->CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS</TT
-> option
-can then be placed at the top-level of <TT
-CLASS="FILENAME"
->stdio.cdl</TT
->.
-It is possible to have some options nested in the body of a
-<TT
-CLASS="LITERAL"
->cdl_component</TT
-> command and other options in a separate file accessed
-by the <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property. In such a case the nested options would be
-processed first, and then the other script would be read in. A script
-specified by a <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property should only define new options,
-components or interfaces: it should not contain any additional
-properties for the current component.</P
-><P
->It is possible for a component's <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script to have a sub-component
-which also has a <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property, and so on. In practice excessive
-nesting like this is rarely useful. It is also possible to ignore the
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> language support for constructing hierarchies automatically and
-use the <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property explicitly for every single option and
-component. Again this is not generally useful.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At the time of writing interfaces cannot act as containers. This may
-change in a future version of the component framework. If the change
-is made then interfaces would support the <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property, just like
-components.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.properties.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The CDL Language</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CDL Properties</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.database.html b/doc/html/cdl-guide/language.database.html
deleted file mode 100644 (file)
index b03e0d7..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Updating the ecos.db database</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="Interfaces"
-HREF="language.interface.html"><LINK
-REL="NEXT"
-TITLE="The Build Process"
-HREF="build.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.interface.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="build.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.DATABASE">Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</H1
-><P
->The current implementation of the component framework requires that
-all packages be present in a single component repository and listed in
-that repository's <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database. This is not
-generally a problem for application developers who can consider the
-component repository a read-only resource, except when adding or
-removing packages via the administration tool. However it means that
-component writers need to do their development work inside a
-component repository as well, and update the database with details of
-their new package or packages. Future enhancements to the component
-framework may allow new components to be developed outside a
-repository. </P
-><P
->Like most files related to the component framework, the
-<SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database is actually a <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> script.
-Typical package entries would look like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->package CYGPKG_LIBC {
-       alias           { "C library" libc clib clibrary }
-       directory       language/c/libc
-       script          libc.cdl
-        description  "
-This package enables compatibility with the ISO C standard - ISO/IEC
-9899:1990. This allows the user application to use well known standard
-C library functions, and in eCos starts a thread to invoke the user
-function main()"
-}
-
-package CYGPKG_IO_PCI  {
-       alias           { "PCI configuration library" io_pci }
-       directory       io/pci
-       script          io_pci.cdl
-       hardware
-        description "
-           This package contains the PCI configuration library."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="LITERAL"
->package</TT
-> command takes two arguments, a name and
-a body. The name must be the same as in the <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command in
-the package's top-level <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script. The body can contain the
-following five commands: <TT
-CLASS="LITERAL"
->alias</TT
->,
-<TT
-CLASS="LITERAL"
->directory</TT
->, <TT
-CLASS="LITERAL"
->script</TT
->,
-<TT
-CLASS="LITERAL"
->hardware</TT
-> and <TT
-CLASS="LITERAL"
->description</TT
->.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->alias</TT
-></DT
-><DD
-><P
->Each package should have one or more aliases. The first alias is
-typically used when listing the known packages, because a string like
-<TT
-CLASS="LITERAL"
->C&nbsp;library</TT
-> is a bit easier to read and
-understand than <TT
-CLASS="VARNAME"
->CYGPKG_LIBC</TT
->. The other aliases are
-not used for output, but are accepted on input. For example the
-<SPAN
-CLASS="APPLICATION"
->ecosconfig</SPAN
-> command-line
-tool will accept <TT
-CLASS="LITERAL"
->add&nbsp;libc</TT
-> as an option, as well
-as <TT
-CLASS="LITERAL"
->add&nbsp;CYGPKG_LIBC</TT
->.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->directory</TT
-></DT
-><DD
-><P
->This is used to specify the location of the package relative to the
-root of the component repository. It should be noted that in the
-current component framework this location cannot be changed in
-subsequent releases of the package: if for some reason it is desirable
-to install a new release elsewhere in the repository, all the old
-versions must first be uninstalled; the database cannot hold two
-separate locations for one package.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->script</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->script</TT
-> command specifies the location of the
-package's top-level <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script, in other words the one containing the
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> definition. If the package follows the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory layout conventions</A
-> then
-this script will be in the <TT
-CLASS="FILENAME"
->cdl</TT
->
-sub-directory, otherwise it will be relative to the package's top-level
-directory. Again once a release has been made this file should not
-change in later releases. In practice the top-level script is generally
-named after the package itself, so changing its name is unlikely to be
-useful. </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->hardware</TT
-></DT
-><DD
-><P
->Packages which are tied to specific hardware, for example device
-drivers and HAL packages, should indicate this in both the
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> command of the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script and in the database entry.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->description</TT
-></DT
-><DD
-><P
->This should give a brief description of the package. Typically the
-text for the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> property in the <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command will
-be re-used.</P
-></DD
-></DL
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Most of the information in the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> file could
-be obtained by a relatively simple utility. This would be passed a
-single argument identifying a package's top-level <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script. The
-directory path relative to the component repository root could be
-determined from the filename. The name, <TT
-CLASS="LITERAL"
->description</TT
->
-and <TT
-CLASS="LITERAL"
->hardware</TT
-> fields could be obtained from the
-script's <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command. The <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> property would supply
-the first alias, additional aliases could be obtained by extending the
-syntax of that property or by other means. Something along these lines
-may be provided by a future release of the component framework.</P
-></BLOCKQUOTE
-></DIV
-><P
->Currently the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database also holds
-information about the various targets. When porting to a new target it
-will be necessary to add information about the target to the database,
-as well as the details of the new platform HAL package and any related
-packages. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.interface.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="build.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Interfaces</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The Build Process</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.html b/doc/html/cdl-guide/language.html
deleted file mode 100644 (file)
index 0bd0648..0000000
+++ /dev/null
@@ -1,436 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The CDL Language</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Making a Package Distribution"
-HREF="package.distrib.html"><LINK
-REL="NEXT"
-TITLE="CDL Commands"
-HREF="language.commands.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="package.distrib.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.commands.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="LANGUAGE">Chapter 3. The CDL Language</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="language.html#LANGUAGE.OVERVIEW"
->Language Overview</A
-></DT
-><DT
-><A
-HREF="language.commands.html"
->CDL Commands</A
-></DT
-><DT
-><A
-HREF="language.properties.html"
->CDL Properties</A
-></DT
-><DT
-><A
-HREF="language.naming.html"
->Option Naming Convention</A
-></DT
-><DT
-><A
-HREF="language.tcl.html"
->An Introduction to Tcl</A
-></DT
-><DT
-><A
-HREF="language.values.html"
->Values and Expressions</A
-></DT
-><DT
-><A
-HREF="language.interface.html"
->Interfaces</A
-></DT
-><DT
-><A
-HREF="language.database.html"
->Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</A
-></DT
-></DL
-></DIV
-><P
->The <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> language is a key part of the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component framework.
-All packages must come with at least one <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script, to describe
-that package to the framework. The information in that script includes
-details of all the configuration options and how to build the package.
-Implementing a new component or turning some existing code into an
-<SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component always involves writing corresponding <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->. This
-chapter provides a description of the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> language. Detailed
-information on specific parts of the language can be found in <A
-HREF="reference.html"
->Chapter 5</A
->.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.OVERVIEW">Language Overview</H1
-><P
->A very simple <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script would look like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_ERROR {
-    display       "Common error code support"
-    compile       strerror.cxx
-    include_dir   cyg/error
-    description   "
-        This package contains the common list of error and
-        status codes. It is held centrally to allow
-        packages to interchange error codes and status
-        codes in a common way, rather than each package
-        having its own conventions for error/status
-        reporting. The error codes are modelled on the
-        POSIX style naming e.g. EINVAL etc. This package
-        also provides the standard strerror() function to
-        convert error codes to textual representation."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This describes a single package, the error code package, which does
-not have any sub-components or configuration options. The package has
-an internal name, <TT
-CLASS="VARNAME"
->CYGPKG_ERROR</TT
->, which can be
-referenced in other <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts using e.g.
-<TT
-CLASS="LITERAL"
->requires&nbsp;CYGPKG_ERROR</TT
->. There will also be a
-<TT
-CLASS="LITERAL"
->#define</TT
-> for this symbol in a configuration header
-file. In addition to the package name, this script provides a number
-of properties for the package as a whole. The <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> property
-provides a short description. The <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> property involves a
-rather longer one, for when users need a bit more information. The
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-> properties list the consequences of this
-package at build-time. The package appears to lack any on-line
-documentation. </P
-><P
->Packages could be even simpler than this. If the package only provides
-an interface and there are no files to be compiled then there is no
-need for a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property. Alternatively if there are no exported
-header files, or if the exported header files should go to the
-top-level of the <TT
-CLASS="FILENAME"
->install/include</TT
-> directory, then there is
-no need for an <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-> property. Strictly speaking the
-<SPAN
-CLASS="PROPERTY"
->description</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> properties are optional as well, although
-application developers would not appreciate the resulting lack of
-information about what the package is supposed to do.</P
-><P
->However many packages tend to be a bit more complicated than the error
-package, containing various sub-components and configuration options.
-These are also defined in the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts and in much the same way
-as the package. For example, the following excerpt comes from the
-infrastructure package:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGDBG_INFRA_DEBUG_TRACE_ASSERT_BUFFER {
-    display       "Buffered tracing"
-    default_value 1
-    active_if     CYGDBG_USE_TRACING
-    description   "
-        An output module which buffers output from tracing and
-        assertion events. The stored messages are output when an
-        assert fires, or CYG_TRACE_PRINT() (defined in
-        &lt;cyg/infra/cyg_trac.h&gt;) is called. Of course, there will
-        only be stored messages if tracing per se (CYGDBG_USE_TRACING)
-        is enabled above."
-
-    cdl_option CYGDBG_INFRA_DEBUG_TRACE_BUFFER_SIZE {
-        display       "Trace buffer size"
-        flavor        data
-        default_value 32
-        legal_values  5 to 65535
-        description   "
-            The size of the trace buffer. This counts the number of
-            trace records stored. When the buffer fills it either
-            wraps, stops recording, or generates output."
-    }
-
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Like a <TT
-CLASS="LITERAL"
->cdl_package</TT
->, a <TT
-CLASS="LITERAL"
->cdl_component</TT
-> has a name and a body. The
-body contains various properties for that component, and may also
-contain sub-components or options. Similarly a <TT
-CLASS="LITERAL"
->cdl_option</TT
-> has a
-name and a body of properties. This example lists a number of
-new properties: <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->, <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->, <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
->. The meaning of most of these should be fairly obvious.
-The next sections describe the various <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> commands and properties. </P
-><P
->There is one additional and very important point: <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> is not a
-completely new language; instead it is implemented as an extension of
-the existing <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> scripting language. The syntax of a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script is
-<SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> syntax, which is described below. In addition some of the more
-advanced facilities of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> involve embedded fragments of <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> code,
-for example there is a <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> property which specifies some
-code that needs to be executed when the component framework generates
-the configuration header files.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="package.distrib.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.commands.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Making a Package Distribution</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CDL Commands</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.interface.html b/doc/html/cdl-guide/language.interface.html
deleted file mode 100644 (file)
index 835bbd1..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Interfaces</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="Values and Expressions"
-HREF="language.values.html"><LINK
-REL="NEXT"
-TITLE="Updating the ecos.db database"
-HREF="language.database.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.values.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.database.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.INTERFACE">Interfaces</H1
-><P
->For many configurability requirements, options provide sufficient
-expressive power. However there are times when a higher level of
-abstraction is appropriate. As an example, suppose that some package
-relies on the presence of code that implements the standard kernel
-scheduling interface. However the requirement is no more stringent
-than this, so the constraint can be satisfied by the mlqueue
-scheduler, the bitmap scheduler, or any additional schedulers that may
-get implemented in future. A first attempt at expressing the
-dependency might be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGSEM_KERNEL_SCHED_MLQUEUE || CYGSEM_KERNEL_SCHED_BITMAP</PRE
-></TD
-></TR
-></TABLE
-><P
->This constraint will work with the current release, but it is limited.
-Suppose there is a new release of the kernel which adds another
-scheduler such as a deadline scheduler, or suppose that there is a new
-third party package which adds such a scheduler. The package
-containing the limited constraint would now have to be updated and
-another release made, with possible knock-on effects.</P
-><P
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interfaces provide an abstraction mechanism: constraints can be
-expressed in terms of an abstract concept, for example
-&#8220;scheduler&#8221;, rather than specific implementations such as
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_MLQUEUE</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_BITMAP</TT
->. Basically an interface
-is a calculated configuration option:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_interface CYGINT_KERNEL_SCHEDULER {
-    display  "Number of schedulers in this configuration"
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The individual schedulers can then implement this interface:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {
-    display       "Multi-level queue scheduler"
-    default_value 1
-    implements    CYGINT_KERNEL_SCHEDULER
-    &#8230;
-}
-
-cdl_option CYGSEM_KERNEL_SCHED_BITMAP {
-    display       "Bitmap scheduler"
-    default_value 0
-    implements    CYGINT_KERNEL_SCHEDULER
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Future schedulers can also implement this interface. The value of an
-interface, for the purposes of expression evaluation, is the number of
-active and enabled options which implement this interface. Packages
-which rely on the presence of a scheduler can impose constraints such
-as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGINT_KERNEL_SCHEDULER</PRE
-></TD
-></TR
-></TABLE
-><P
->If none of the schedulers are enabled, or if the kernel package is not
-loaded, then <TT
-CLASS="VARNAME"
->CYGINT_KERNEL_SCHEDULER</TT
-> will evaluate
-to <TT
-CLASS="LITERAL"
->0</TT
->. If at least one scheduler is active and
-enabled then the constraint will be satisfied.</P
-><P
->Because interfaces have a calculated value determined by the
-implementors, the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> properties are not
-applicable and should not appear in the body of a <TT
-CLASS="LITERAL"
->cdl_interface</TT
->
-command. Interfaces have the <TT
-CLASS="LITERAL"
->data</TT
-> flavor by
-default, but the <TT
-CLASS="LITERAL"
->bool</TT
-> and
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavors may be specified instead. A
-<TT
-CLASS="LITERAL"
->bool</TT
-> interface is disabled if there are no active
-and enabled implementors, otherwise it is enabled. A
-<TT
-CLASS="LITERAL"
->booldata</TT
-> interface is disabled if there are no
-active and enabled implementors, otherwise it is enabled and has a
-value corresponding to the number of these implementors. Other
-properties such as <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> can be used as normal.</P
-><P
->Some component writers will not want to use interfaces in this way.
-The reasoning is that their code will only have been tested with the
-existing schedulers, so the <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraint needs to be
-expressed in terms of those schedulers; it is possible that the
-component will still work with a new scheduler, but there are no
-guarantees. Other component writers may take a more optimistic view
-and assume that their code will work with any scheduler until proven
-otherwise. It is up to individual component writers to decide which
-approach is most appropriate in any given case.</P
-><P
->One common use for interfaces is to describe the hardware
-functionality provided by a given target. For example the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-scripts for a TCP/IP package might want to know whether or not the
-target hardware has an ethernet interface. Generally it is not
-necessary for the TCP/IP stack to know exactly which ethernet hardware
-is present, since there should be a device driver which implements the
-appropriate functionality. In <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> terms the device drivers should
-implement an interface <TT
-CLASS="VARNAME"
->CYGHWR_NET_DRIVERS</TT
->, and the
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts for the TCP/IP stack can use this in appropriate
-expressions. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Using the term <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->interface</I
-></SPAN
-> for this concept is
-sometimes confusing, since the term has various other meanings as
-well. In practice, it is often correct. If there is a configuration
-option that implements a given <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interface, then usually this
-option will enable some code that provides a particular interface at
-the C or C++ level. For example an ethernet device driver implements
-the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interface <TT
-CLASS="VARNAME"
->CYGHWR_NET_DRIVERS</TT
->, and also
-implements a set of C functions that can be used by the TCP/IP stack.
-Similarly <TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_MLQUEUE</TT
-> implements
-the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interface <TT
-CLASS="VARNAME"
->CYGINT_KERNEL_SCHEDULER</TT
-> and
-also provides the appropriate scheduling functions.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.values.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.database.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Values and Expressions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.naming.html b/doc/html/cdl-guide/language.naming.html
deleted file mode 100644 (file)
index 0407c96..0000000
+++ /dev/null
@@ -1,602 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Option Naming Convention</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="CDL Properties"
-HREF="language.properties.html"><LINK
-REL="NEXT"
-TITLE="An Introduction to Tcl"
-HREF="language.tcl.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.properties.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.tcl.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.NAMING">Option Naming Convention</H1
-><P
->All the options in a given configuration live in the same namespace.
-Furthermore it is not possible for two separate options to have the
-same name, because this would make any references to those options in
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expressions ambiguous. A naming convention exists to avoid
-problems. It is recommended that component writers observe some or all
-of this convention to reduce the probability of name clashes with
-other packages.</P
-><P
->There is an important restriction on option names. Typically the
-component framework will output a <TT
-CLASS="LITERAL"
->#define</TT
-> for every
-active and enabled option, using the name as the symbol being defined.
-This requires that all names are valid C preprocessor symbols, a
-limitation that is enforced even for options which have the
-<SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property. Preprocessor symbols can be any sequence of
-lower case letters <TT
-CLASS="LITERAL"
->a</TT
->-<TT
-CLASS="LITERAL"
->z</TT
->, upper
-case letters, <TT
-CLASS="LITERAL"
->A</TT
->-<TT
-CLASS="LITERAL"
->Z</TT
->, the
-underscore character <TT
-CLASS="LITERAL"
->_</TT
->, and the digits
-<TT
-CLASS="LITERAL"
->0</TT
->-<TT
-CLASS="LITERAL"
->9</TT
->. The first character must be
-a non-digit. Using an underscore as the first character is
-discouraged, because that may clash with reserved language
-identifiers. In addition there is a convention that preprocessor
-symbols only use upper case letters, and some component writers may
-wish to follow this convention.</P
-><P
->A typical option name could be something like
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_BITMAP</TT
->. This name consists of
-several different parts:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The first few characters, in this case the three letters
-<TT
-CLASS="LITERAL"
->CYG</TT
->, are used to identify the organization that
-produced the package. For historical reasons packages produced by Red
-Hat tend to use the prefix <TT
-CLASS="LITERAL"
->CYG</TT
-> rather than
-<TT
-CLASS="LITERAL"
->RHAT</TT
->. Component writers should use their own
-prefix: even when cutting and pasting from an existing <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script
-the prefix should be changed to something appropriate to their
-organization. </P
-><P
->It can be argued that a short prefix, often limited to upper case
-letters, is not sufficiently long to eliminate the possibility of
-name clashes. A longer prefix could be used, for example one based on
-internet domain names. However the C preprocessor has no concept of
-namespaces or <TT
-CLASS="LITERAL"
->import</TT
-> directives, so it would always
-be necessary to use the full option name in component source code
-which gets tedious - option names tend to be long enough as it is.
-There is a small increased risk of name clashes, but this risk is felt
-to be acceptable.</P
-></LI
-><LI
-><P
->The next three characters indicate the nature of the option, for
-example whether it affects the interface or just the implementation. A
-list of common tags is given below.</P
-></LI
-><LI
-><P
->The <TT
-CLASS="LITERAL"
->KERNEL_SCHED</TT
-> part indicates the location of the
-option within the overall hierarchy. In this case the option is part of
-the scheduling component of the kernel package. Having the hierarchy
-details as part of the option name can help in understanding
-configurable code and further reduces the probability of a name clash.</P
-></LI
-><LI
-><P
->The final part, <TT
-CLASS="LITERAL"
->BITMAP</TT
->, identifies the option
-itself. </P
-></LI
-></OL
-><P
->The three-character tag is intended to provide some additional
-information about the nature of the option. There are a number of
-pre-defined tags. However for many options there is a choice:
-options related to the platform should normally use
-<TT
-CLASS="LITERAL"
->HWR</TT
->, but numerical options should normally use
-<TT
-CLASS="LITERAL"
->NUM</TT
->; a platform-related numerical option such as
-the size of an interrupt stack could therefore use either tag.
-There are no absolute rules, and it is left to component writers to
-interpret the following guidelines:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->xxxARC_</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->ARC</TT
-> tag is intended for options related
-to the processor architecture. Typically such options will only occur
-in architectural or variant HAL packages.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxHWR_</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->HWR</TT
-> tag is intended for options related to
-the specific target board. Typically such options will only occur in
-platform HAL packages.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxPKG_</TT
-></DT
-><DD
-><P
->This tag is intended for packages or components, in other words
-options which extend the configuration hierarchy. Arguably a
-<TT
-CLASS="LITERAL"
->COM</TT
-> tag would be more appropriate for
-components, but this could be confusing because of the considerable
-number of computing terms that begin with com.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxGLO_</TT
-></DT
-><DD
-><P
->This is intended for global configuration options, especially
-preferences.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxDBG_</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->DBG</TT
-> tag indicates that the option is in
-some way related to debugging, for example it may enable assertions in
-some part of the system.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxTST_</TT
-></DT
-><DD
-><P
->This tag is for testing-related options. Typically these do not
-affect actual application code, instead they control the interaction
-between target-side test cases and a host-side testing infrastructure.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxFUN_</TT
-></DT
-><DD
-><P
->This is for configuration options which affect the interface of a
-package. There are a number of related tag which are also
-interface-related. <TT
-CLASS="LITERAL"
->xxxFUN_</TT
-> is intended primarily
-for options that control whether or not one or more functions are
-provided by the package, but can also be used if none of the other
-interface-related tags is applicable.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxVAR_</TT
-></DT
-><DD
-><P
->This is analogous to <TT
-CLASS="LITERAL"
->FUN</TT
-> but controls the presence
-or absence of one or more variables or objects.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxCLS_</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->CLS</TT
-> tag is intended only for packages that
-provide an object-oriented interface, and controls the presence or
-absence of an entire class.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxMFN_</TT
-></DT
-><DD
-><P
->This is also for object-orientated interfaces, and indicates the
-presence or absence of a member function rather than an entire class.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxSEM_</TT
-></DT
-><DD
-><P
->A <TT
-CLASS="LITERAL"
->SEM</TT
-> option does not affect the interface (or if
-does affect the interface, this is incidental). Instead it is used for
-options which have a fundamental effect on the semantic behavior of a
-package. For example the choice of kernel schedulers is semantic in
-nature: it does not affect the interface, in particular the function
-<TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> exists irrespective of which
-scheduler has been selected. However it does have a major impact on
-the system's behavior.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxIMP_</TT
-></DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->IMP</TT
-> is for implementation options. These do not
-affect either the interface or the semantic behavior (with the
-possible exception of timing-related changes). A typical
-implementation option controls whether or not a particular function or
-set of functions should get inlined.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxNUM_</TT
-></DT
-><DD
-><P
->This tag is for numerical options, for example the number of
-scheduling priority levels.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxDAT_</TT
-></DT
-><DD
-><P
->This is for data items that are not numerical in nature, for example a
-device name.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxBLD_</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->BLD</TT
-> tag indicates an option that affects
-the build process, for example compiler flag settings.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxINT_</TT
-></DT
-><DD
-><P
->This should normally be used for <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interfaces, which is a language
-construct that is largely independent from the interface exported by a
-package via its header files. For more details of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interfaces
-see <A
-HREF="language.interface.html"
->the Section called <I
->Interfaces</I
-></A
->.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxPRI_</TT
-></DT
-><DD
-><P
->This tag is not normally used for configuration options. Instead
-it is used by <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts to pass additional private information to
-the source code via the configuration header files, typically inside a
-<SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> property.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxSRC_</TT
-></DT
-><DD
-><P
->This tag is not normally used for configuration options. Instead
-it can be used by package source code to interact with such options,
-especially in the context of the <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property.</P
-></DD
-></DL
-></DIV
-><P
->There is one special case of a potential name clash that is worth
-mentioning here. When the component framework generates a
-configuration header file for a given package, by default it will use
-a name derived from the package name (the <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property can
-be used to override this). The file name is constructed from the
-package name by removing everything up to and including the first
-underscore, converting the remainder of the name to lower case, and
-appending a <TT
-CLASS="LITERAL"
->.h</TT
-> suffix. For example the kernel
-package <TT
-CLASS="VARNAME"
->CYGPKG_KERNEL</TT
-> will involve a header file
-<TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->. If a
-configuration contained some other package
-<TT
-CLASS="VARNAME"
->XYZPKG_KERNEL</TT
-> then this would attempt to use the
-same configuration header file, with unfortunate effects. Case
-sensitivity could introduce problems as well, so a package
-<TT
-CLASS="VARNAME"
->xyzpkg_kernel</TT
-> would involve the same problem. Even
-if the header file names preserved the case of the package name, not
-all file systems are case sensitive. There is no simple solution to
-this problem. Changing the names of the generated configuration header
-files would involve a major incompatible change to the interface, to
-solve a problem which is essentially hypothetical in nature.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.properties.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.tcl.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CDL Properties</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->An Introduction to Tcl</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.properties.html b/doc/html/cdl-guide/language.properties.html
deleted file mode 100644 (file)
index dda1992..0000000
+++ /dev/null
@@ -1,1643 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CDL Properties</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="CDL Commands"
-HREF="language.commands.html"><LINK
-REL="NEXT"
-TITLE="Option Naming Convention"
-HREF="language.naming.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.commands.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.naming.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.PROPERTIES">CDL Properties</H1
-><P
->Each package, component, option, and interface has a body of
-properties, which provide the component framework with information
-about how to handle each option. For example there is a property for a
-descriptive text message which can be displayed to a user who is
-trying to figure out just what effect manipulating the option would
-have on the target application. There is another property for the
-default value, for example whether a particular option should be
-enabled or disabled by default.</P
-><P
->All of the properties are optional, it is legal to define a
-configuration option which has an empty body. However some properties
-are more optional than others: users will not appreciate having to
-manipulate an option if they are not given any sort of description or
-documentation. Other properties are intended only for very specific
-purposes, for example <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
->, and are used
-only rarely.</P
-><P
->Because different properties serve very different purposes, their
-syntax is not as uniform as the top-level commands. Some properties
-take no arguments at all. Other properties take a single argument such
-as a description string, or a list of arguments such as a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-property which specifies the file or files that should be compiled if
-a given option is active and enabled. The <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> property takes
-as argument a snippet of <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> code. The <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->, <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->,
-<SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->, <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> properties take various
-expressions. Additional properties may be defined in future which take
-new kinds of arguments.</P
-><P
->All property parsing code supports options for every property,
-although at present the majority of properties do not yet take any
-options. Any initial arguments that begin with a hyphen character
-<TT
-CLASS="LITERAL"
->-</TT
-> will be interpreted as an option, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_ARM {
-    &#8230;
-    make -priority 1 {
-        &#8230;
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If the option involves additional data, as for the
-<TT
-CLASS="LITERAL"
->-priority</TT
-> example above, then this can be written
-as either <TT
-CLASS="LITERAL"
->-priority=1</TT
-> or as
-<TT
-CLASS="LITERAL"
->-priority&nbsp;1</TT
->. On occasion the option parsing
-code can get in the way, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE {
-    &#8230;
-    legal_values -1 to 1
-    default_value -1
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Neither the <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> nor the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property will
-accept <TT
-CLASS="LITERAL"
->-1</TT
-> as a valid option, so this will result in
-syntax errors when the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script is read in by the component
-framework. To avoid problems, the option parsing code will recognize
-the string <TT
-CLASS="LITERAL"
->--</TT
-> and will not attempt to interpret any
-subsequent arguments. Hence this option should be written as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_STATE {
-    &#8230;
-    legal_values  -- -1 to 1
-    default_value -- -1
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The property parsing code involves a recursive invocation of the Tcl
-interpreter that is used to parse the top-level commands. This means
-that some characters in the body of an option will be treated
-specially. The <TT
-CLASS="LITERAL"
->#</TT
-> character can be used for
-comments. The backslash character <TT
-CLASS="LITERAL"
->\</TT
->, the
-dollar character <TT
-CLASS="LITERAL"
->$</TT
->, square brackets
-<TT
-CLASS="LITERAL"
->[</TT
-> and <TT
-CLASS="LITERAL"
->]</TT
->, braces
-<TT
-CLASS="LITERAL"
->{</TT
-> and <TT
-CLASS="LITERAL"
->}</TT
->, and the quote character
-<TT
-CLASS="LITERAL"
->"</TT
-> may all receive special treatment. Most of the
-time this is not a problem because these characters are not useful for
-most properties. On occasion having a <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter around
-performing the parser can be very powerful. For more details of
-how the presence of a <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter can affect <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts,
-see <A
-HREF="language.tcl.html"
->the Section called <I
->An Introduction to Tcl</I
-></A
->.</P
-><P
->Many of the properties can be used in any of <TT
-CLASS="LITERAL"
->cdl_package</TT
->,
-<TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_option</TT
-> or <TT
-CLASS="LITERAL"
->cdl_interface</TT
->. Other properties are
-more specific. The <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property is only relevant to components.
-The <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
->, <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
->, <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
->, <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
->, and
-<SPAN
-CLASS="PROPERTY"
->library</SPAN
-> properties apply to a package as a whole, so can only occur
-in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command. The <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->,
-<SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->, <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> properties are not
-relevant to packages, as will be explained later. The <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> properties are also not relevant to interfaces.</P
-><P
->This section lists the various properties, grouped by purpose. Each
-property also has a full reference page in <A
-HREF="reference.html"
->Chapter 5</A
->.
-Properties related to values and expressions are described in more
-detail in <A
-HREF="language.values.html"
->the Section called <I
->Values and Expressions</I
-></A
->. Properties related to
-header file generation and to the build process are described in
-<A
-HREF="build.html"
->Chapter 4</A
->.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.PROPERTIES.USER">Information-providing Properties</H2
-><P
->Users can only be expected to manipulate configuration options
-sensibly if they are given sufficient information about these options.
-There are three properties which serve to explain an option in plain
-text: the <A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
-> property gives
-a textual alias for an option, which is usually more comprehensible
-than something like <TT
-CLASS="LITERAL"
->CYGPKG_LIBC_TIME_ZONES`</TT
->; the
-<A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-> property gives a
-longer description, typically a paragraph or so; the <A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
-> property specifies the location of
-additional on-line documentation related to a configuration option. In
-the context of a graphical tool the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> string will be the
-primary way for users to identify configuration options; the
-<SPAN
-CLASS="PROPERTY"
->description</SPAN
-> paragraph will be visible whenever the option is
-selected; the on-line documentation will only be accessed when the
-user explicitly requests it.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_UITRON {
-    display       "uITRON compatibility layer"
-    doc           ref/ecos-ref.a.html
-    description   "
-        eCos supports a uITRON Compatibility Layer, providing
-        full Level S (Standard) compliance with Version 3.02 of
-        the uITRON Standard, plus many Level E (Extended) features.
-        uITRON is the premier Japanese embedded RTOS standard."
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->All three properties take a single argument. For <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->description</SPAN
-> this argument is just a string. For <SPAN
-CLASS="PROPERTY"
->doc</SPAN
-> it should be a
-pointer to a suitable HTML file, optionally including an anchor within
-that page. If the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory layout
-conventions</A
-> are observed then the component framework will look
-for the HTML file in the package's <TT
-CLASS="FILENAME"
->doc</TT
-> sub-directory, otherwise the <SPAN
-CLASS="PROPERTY"
->doc</SPAN
->
-filename will be treated as relative to the package's top-level directory.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.PROPERTIES.HIERARCHY">The Configuration Hierarchy</H2
-><P
->There are two properties related to the hierarchical organization of
-components and options: <A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
-> and
-<A
-HREF="ref.script.html"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></A
->.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property can be used to move a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity somewhere
-else in the hierarchy. The most common use is for packages, to avoid
-having all the packages appear at the top-level of the configuration
-hierarchy. For example an architectural HAL package such as
-<TT
-CLASS="VARNAME"
->CYGPKG_HAL_SH</TT
-> is placed below the common HAL
-package <TT
-CLASS="VARNAME"
->CYGPKG_HAL</TT
-> using a <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_SH {
-    display       "SH architecture"
-    parent        CYGPKG_HAL
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property can also be used in the body of a
-<TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_option</TT
-> or <TT
-CLASS="LITERAL"
->cdl_interface</TT
->, but this is less
-common. However care has to be taken since excessive re-parenting can
-be confusing. Care also has to be taken when reparenting below some
-other package that may not actually be loaded in a given
-configuration, since the resulting behavior is undefined.</P
-><P
->As a special case, if the parent is the empty string then the
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity is placed at the root of the hierarchy. This is useful
-for global preferences, default compiler flags, and other settings
-that may affect every package.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property can only be used in the body of a
-<TT
-CLASS="LITERAL"
->cdl_component</TT
-> command. The property takes a single filename as
-argument, and this should be another <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script containing
-additional options, sub-components and interfaces that should go below
-the current component in the hierarchy. If the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory layout conventions</A
-> are
-observed then the component framework will look for the specified file
-relative to the <TT
-CLASS="FILENAME"
->cdl</TT
->
-subdirectory of the package, otherwise the filename will be treated as
-relative to the package's top-level directory.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_LIBC_STDIO {
-    display       "Standard input/output functions"
-    flavor        bool
-    requires      CYGPKG_IO
-    requires      CYGPKG_IO_SERIAL_HALDIAG
-    default_value 1
-    description   "
-        This enables support for standard I/O functions from &lt;stdio.h&gt;."
-
-    script        stdio.cdl
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.PROPERTIES.VALUE">Value-related Properties</H2
-><P
->There are seven properties which are related to option values and
-state: <A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
->,
-<A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
->,
-<A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
->,
-<A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
->,
-<A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
->,
-<A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
->, and
-<A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
->. More detailed
-information can be found in <A
-HREF="language.values.html"
->the Section called <I
->Values and Expressions</I
-></A
->.</P
-><P
->In the context of configurability, the concept of an option's value is
-somewhat non-trivial. First an option may or may not be loaded: it is
-possible to build a configuration which has the math library but not
-the kernel; however the math library's <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts still reference
-kernel options, for example
-<TT
-CLASS="VARNAME"
->CYGSEM_LIBM_THREAD_SAFE_COMPAT_MODE</TT
-> has a
-<SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraint on
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_DATA</TT
->. Even if an option is
-loaded it may or may not be active, depending on what is happening
-higher up in the hierarchy: if the C library's
-<TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO</TT
-> component is disabled then some
-other options such as <TT
-CLASS="VARNAME"
->CYGNUM_LIBC_STDIO_BUFSIZE</TT
->
-become irrelevant. In addition each option has both a boolean
-enabled/disabled flag and a data part. For many options only the
-boolean flag is of interest, while for others only the data part is of
-interest. The <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> property can be used to control this:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->flavor none</TT
-></DT
-><DD
-><P
->This flavor indicates that neither the boolean nor the data parts are
-user-modifiable: the option is always enabled and the data is always
-set to <TT
-CLASS="LITERAL"
->1</TT
->. The most common use for this is to have a
-component that just acts as a placeholder in the hierarchy, allowing
-various options to be grouped below it.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor bool</TT
-></DT
-><DD
-><P
->Only the boolean part of the option is user-modifiable. The data part
-is fixed at <TT
-CLASS="LITERAL"
->1</TT
->.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor data</TT
-></DT
-><DD
-><P
->Only the data part of the option is user-modifiable. The boolean part
-is fixed at enabled.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor booldata</TT
-></DT
-><DD
-><P
->Both the boolean and the data part of the option are user-modifiable.</P
-></DD
-></DL
-></DIV
-><P
->For more details of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> flavors and how a flavor affects expression
-evaluation, and other consequences, see <A
-HREF="language.values.html"
->the Section called <I
->Values and Expressions</I
-></A
->. The <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> property cannot be used for a
-package because packages always have the <TT
-CLASS="LITERAL"
->booldata</TT
->
-flavor. Options and components have the <TT
-CLASS="LITERAL"
->bool</TT
-> flavor
-by default, since most configuration choices are simple yes-or-no
-choices. Interfaces have the <TT
-CLASS="LITERAL"
->data</TT
-> flavor by default.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> property can be used for options which should not be
-user-modifiable, but which instead are fixed by the target hardware or
-determined from the current values of other options. In general
-<SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> options should be avoided, since they can be confusing to
-users who need to figure out whether or not a particular option can
-actually be changed. There are a number of valid uses for <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->
-options, and quite a few invalid ones as well. The <A
-HREF="ref.calculated.html"
->reference packages</A
-> should be consulted
-for further details. The property takes an <A
-HREF="language.values.html#LANGUAGE.EXPRESSION"
->ordinary <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression</A
-> as
-argument, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># A constant on some target hardware, perhaps user-modifiable on other
-# targets.
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    display       "Real-time clock period"
-    flavor        data
-    calculated    12500
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> property cannot be used for packages or interfaces.
-The value of a package always corresponds to the version of that
-package which is loaded, and this is under user control. Interfaces
-are implicitly calculated, based on the number of active and enabled
-implementors.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property is similar to <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->, but only
-specifies a default value which users can modify. Again this property
-is not relevant to packages or interfaces. A typical example would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    display       "Include GDB multi-threading debug support"
-    requires      CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    default_value CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property imposes a constraint on the possible
-values of the data part of an option. Hence it is only applicable to
-options with the <TT
-CLASS="LITERAL"
->data</TT
-> or
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavors. It cannot be used for a package
-since the only valid value for a package is its version number. The
-arguments to the <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property should constitute a <A
-HREF="language.values.html#LANGUAGE.LIST-EXPRESSION"
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> list expression</A
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET {
-    display       "Default Standard Time offset"
-    flavor        data
-    legal_values  -- -90000 to 90000
-    default_value -- 0
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> property does not relate directly to an option's
-value, but rather to its active state. Usually this is controlled via
-the configuration hierarchy: if the
-<TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO</TT
-> component is disabled then all
-options below it are inactive and do not have any consequences.
-In some cases the hierarchy does not provide sufficient control, for
-example an option should only be active if two disjoint sets of
-conditions are satisfied: the hierarchy could be used for one of these
-conditions, and an additional <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> property could be used for
-the other one. The arguments to <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> should constitute a
-<A
-HREF="language.values.html#LANGUAGE.GOAL-EXPRESSION"
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> goal expression</A
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># Do not provide extra semaphore debugging if there are no semaphores
-cdl_option CYGDBG_KERNEL_INSTRUMENT_BINSEM {
-    active_if CYGPKG_KERNEL_SYNCH
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->implements</SPAN
-> property is related to the concept of <A
-HREF="language.interface.html"
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interfaces</A
->. If an option is
-active and enabled and it implements a particular interface then it
-contributes <TT
-CLASS="LITERAL"
->1</TT
-> to that interface's value.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_NET_EDB7XXX_ETH_DRIVERS {
-    display       "Cirrus Logic ethernet driver"
-    implements    CYGHWR_NET_DRIVERS
-    implements    CYGHWR_NET_DRIVER_ETH0
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property is used to impose constraints on the user's
-choices. For example it is unreasonable to expect the C library to
-provide thread-safe implementations of certain functions if the
-underlying kernel support has been disabled, or even if the kernel is
-not being used at all.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGSEM_LIBC_PER_THREAD_ERRNO {
-    display       "Per-thread errno"
-    doc           ref/ecos-ref.15.html
-    requires      CYGVAR_KERNEL_THREADS_DATA
-    default_value 1
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The arguments to the <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property should be a <A
-HREF="language.values.html#LANGUAGE.GOAL-EXPRESSION"
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> goal expression</A
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.PROPERTIES.DEFINE">Generating the Configuration Header Files</H2
-><P
->When creating or updating a build tree the component framework will
-also generate configuration header files, one per package. By default
-it will generate a <TT
-CLASS="LITERAL"
->#define</TT
-> for each option,
-component or interface that is active and enabled. For options with
-the <TT
-CLASS="LITERAL"
->data</TT
-> or <TT
-CLASS="LITERAL"
->booldata</TT
-> flavors the
-<TT
-CLASS="LITERAL"
->#define</TT
-> will use the option's data part, otherwise
-it will use the constant <TT
-CLASS="LITERAL"
->1</TT
->. Typical output would
-include:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGFUN_LIBC_TIME_POSIX 1
-#define CYGNUM_LIBC_TIME_DST_DEFAULT_STATE -1</PRE
-></TD
-></TR
-></TABLE
-><P
->There are six properties which can be used to control the header file
-generation process:
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->,
-<A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
->, and
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->.</P
-><P
->By default the component framework will generate a configuration
-header file for each package based on the package's name: everything
-up to and including the first underscore is discarded, the rest of the
-name is lower-cased, and a <TT
-CLASS="LITERAL"
->.h</TT
-> suffix is appended.
-For example the configuration header file for the kernel package
-<TT
-CLASS="VARNAME"
->CYGPKG_KERNEL</TT
-> is <TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->. The <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
->
-property can be used to specify an alternative filename. This applies
-to all the components and options within a package, so it can only be
-used in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command. For example the following
-specifies that the configuration header file for the SPARClite HAL
-package is <TT
-CLASS="FILENAME"
->pkgconf/hal_sparclite.h</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_SPARCLITE {
-    display "SPARClite architecture"
-    parent        CYGPKG_HAL
-    hardware
-    define_header hal_sparclite.h
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At present the main use for the <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property is related 
-to hardware packages, see the <A
-HREF="ref.hardware.html"
->reference
-pages</A
-> for more details.</P
-></BLOCKQUOTE
-></DIV
-><P
->The <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property is used to suppress the generation of the
-default <TT
-CLASS="LITERAL"
->#define</TT
->. This can be useful if an option's
-consequences are all related to the build process or to constraints,
-and the option is never actually checked in any source code. It can
-also be useful in conjunction with the <SPAN
-CLASS="PROPERTY"
->define</SPAN
->, <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> or
-<SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> properties. The <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property does not take any
-arguments. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYG_HAL_STARTUP {
-    display       "Startup type"
-    flavor        data
-    legal_values  { "RAM" "ROM" }
-    default_value {"RAM"}
-    no_define
-    define -file system.h CYG_HAL_STARTUP
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This example also illustrates the <SPAN
-CLASS="PROPERTY"
->define</SPAN
-> property, which can be used
-to generate a <TT
-CLASS="LITERAL"
->#define</TT
-> in addition to the default
-one. It takes a single argument, the name of the symbol to be defined.
-It also takes options to control the configuration header file in
-which the symbol should be defined and the format to be used.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> property can be used to control how the value part
-of the default <TT
-CLASS="LITERAL"
->#define</TT
-> gets formatted. For example
-a format string of  <TT
-CLASS="LITERAL"
->"0x%04x"</TT
-> could be used to
-generate a four-digit hexadecimal number. </P
-><P
->The <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property is intended for use primarily to control
-assertions, tracing, and similar functionality. It supports a specific
-implementation model for these, allowing control at the grain of
-packages or even individual source files. The <A
-HREF="ref.if-define.html"
->reference pages</A
-> provide additional
-information.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> property provides an escape mechanism for those
-cases where something special has to happen at configuration header
-file generation time. It takes a single argument, a fragment of <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->
-code, which gets executed when the header file is generated. This code
-can output arbitrary data to the header file, or perform any other
-actions that might be appropriate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.PROPERTIES.BUILD">Controlling what gets Built</H2
-><P
->There are six properties which affect the build process:
-<A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
->,
-<A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
->,
-<A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
->,
-<A
-HREF="ref.library.html"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></A
->,
-<A
-HREF="ref.include-dir.html"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></A
->, and
-<A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
->.
-The last three apply to a package as a whole, and can only occur in
-the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command.</P
-><P
->Most of the source files that go into a package should simply be
-compiled with the appropriate compiler, selected by the target
-architecture, and with the appropriate flags, with an additional set
-defined by the target hardware and possible modifications on a
-per-package basis. The resulting object files will go into the library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
->, which can then be linked against
-application code. The <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property is used to list these source
-files: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_ERROR {
-    display       "Common error code support"
-    compile       strerror.cxx
-    include_dir   cyg/error
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The arguments to the <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property should be one or more source
-files. Typically most of the sources will be needed for the package as
-a whole, and hence they will be listed in one or more <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-properties in the body of the <TT
-CLASS="LITERAL"
->cdl_package</TT
->. Some sources may be
-specific to particular configuration options, in other words there is
-no point in compiling them unless that option is enabled, in which
-case the sources should be listed in a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property in the
-corresponding <TT
-CLASS="LITERAL"
->cdl_option</TT
->, <TT
-CLASS="LITERAL"
->cdl_component</TT
-> or <TT
-CLASS="LITERAL"
->cdl_interface</TT
-> body.</P
-><P
->Some packages may have more complicated build requirements, for
-example they may involve a special target such as a linker script
-which should not end up in the usual library, or they may involve
-special build steps for generating an object file. The <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties provide support for such requirements, for
-example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_MN10300_AM33 {
-    display       "MN10300 AM33 variant"
-    &#8230;
-    make {
-        &lt;PREFIX&gt;/lib/target.ld: &lt;PACKAGE&gt;/src/mn10300_am33.ld
-        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) \
-            $(CFLAGS) -o $@ $&lt;
-        @echo $@ ": \\" &gt; $(notdir $@).deps
-        @tail +2 target.tmp &gt;&gt; $(notdir $@).deps
-        @echo &gt;&gt; $(notdir $@).deps
-        @rm target.tmp
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->For full details of custom build steps and the build process
-generally, see <A
-HREF="build.html"
->Chapter 4</A
->.</P
-><P
->By default all object files go into the library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
->. It is possible to override this at
-the package level using the <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property, but this should be
-avoided since it complicates application development: instead of just
-linking with a single library for all <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->-related packages, it
-suddenly becomes necessary to link with several libraries.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> properties relate to a package's
-exported header files. By default a package's header files will be
-exported to the <TT
-CLASS="FILENAME"
->install/include</TT
->
-directory. This is the desired behavior for some packages like the C
-library, since headers like <TT
-CLASS="FILENAME"
->stdio.h</TT
-> should exist at that level.
-However if all header files were to end up in that directory then
-there would be a significant risk of a name clash. Instead it is
-better for packages to specify some sub-directory for their exported
-header files, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_INFRA {
-    display       "Infrastructure"
-    include_dir   cyg/infra
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The various header files exported by the infrastructure, for example
-<TT
-CLASS="FILENAME"
->cyg_ass.h</TT
-> and <TT
-CLASS="FILENAME"
->cyg_trac.h</TT
-> will now end up in the
-<TT
-CLASS="FILENAME"
->install/include/cyg/infra</TT
->
-sub-directory, where a name clash is very unlikely.</P
-><P
->For packages which follow the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory layout conventions</A
-> the
-component framework will assume that the package's
-<TT
-CLASS="FILENAME"
->include</TT
-> sub-directory contains
-all exported header files. If this is not the case, for example
-because the package is sufficiently simple that the layout convention
-is inappropriate, then the exported header files can be listed
-explicitly in an <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.PROPERTIES.MISCELLANEOUS">Miscellaneous Properties</H2
-><P
->The <A
-HREF="ref.hardware.html"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></A
-> property is
-only relevant to packages. Some packages such as device drivers and
-HAL packages are hardware-specific, and generally it makes no sense to
-add such packages to a configuration unless the corresponding hardware
-is present on your target system. Typically hardware package selection
-happens automatically when you select your target. The <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
->
-property should be used to identify a hardware-specific package, and
-does not take any arguments.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_MIPS {
-    display "MIPS architecture"
-    parent        CYGPKG_HAL
-    hardware
-    include_dir   cyg/hal
-    define_header hal_mips.h
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->At present the <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-> property is largely ignored by the component
-framework. This may change in future releases.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.commands.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.naming.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CDL Commands</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Option Naming Convention</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.tcl.html b/doc/html/cdl-guide/language.tcl.html
deleted file mode 100644 (file)
index c9ed9b0..0000000
+++ /dev/null
@@ -1,927 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->An Introduction to Tcl</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="Option Naming Convention"
-HREF="language.naming.html"><LINK
-REL="NEXT"
-TITLE="Values and Expressions"
-HREF="language.values.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.naming.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.values.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.TCL">An Introduction to Tcl</H1
-><P
->All <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts are implemented as <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> scripts, and are read in by
-running the data through a standard <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter, extended with a
-small number of additional commands such as
-<TT
-CLASS="LITERAL"
->cdl_option</TT
-> and <TT
-CLASS="LITERAL"
->cdl_component</TT
->.
-Often it is not necessary to know the full details of <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> syntax.
-Instead it is possible to copy an existing script, perform some copy
-and paste operations, and make appropriate changes to names and to
-various properties. However there are also cases where an
-understanding of <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> syntax is very desirable, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS {
-    display       "Externs for initialization"
-    flavor        data
-    default_value {"static char fpool1[ 2000 ], \\\n\
-                               fpool2[ 2000 ], \\\n\
-                               fpool3[ 2000 ];"}
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This causes the <TT
-CLASS="LITERAL"
->cdl_option</TT
-> command to be executed, which in turn
-evaluates its body in a recursive invocation of the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter.
-When the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property is encountered the braces around the
-value part are processed by the interpreter, stopping it from doing
-further processing of the braced contents (except for backslash
-processing at the end of a line, that is special). In particular it
-prevents command substitution for
-<TT
-CLASS="LITERAL"
->[&nbsp;2000&nbsp;]</TT
->. A single argument will be
-passed to the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> command which expects a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expression, so the expression parsing code is passed the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->"static char fpool1[ 2000 ], \\\n fpool2[ 2000 ], \\\n fpool3[ 2000 ];"</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression parsing code will treat this as a simple string
-constant, as opposed to a more complicated expression involving other
-options and various operators. The string parsing code will perform
-the usual backslash substitutions so the actual default value will be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->static char fpool1[ 2000 ], \
- fpool2[ 2000 ], \
- fpool3[ 2000 ];</PRE
-></TD
-></TR
-></TABLE
-><P
->If the user does not modify the option's value then the following
-will be generated in the appropriate configuration header file:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS static char fpool1[ 2000 ], \
- fpool2[ 2000 ], \
- fpool3[ 2000 ];</PRE
-></TD
-></TR
-></TABLE
-><P
->Getting this desired result usually requires an understanding of both
-<SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> syntax and <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression syntax. Sometimes it is possible to
-substitute a certain amount of trial and error instead, but this may
-prove frustrating. It is also worth pointing out that many <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-scripts do not involve this level of complexity. On the other hand,
-some of the more advanced features of the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> language involve
-fragments of <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> code, for example the <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> property. To
-use these component writers will need to know about the full <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->
-language as well as the syntax.</P
-><P
->Although the current example may seem to suggest that <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> is rather
-complicated, it is actually a very simple yet powerful scripting
-language: the syntax is defined by just eleven rules. On occasion this
-simplicity means that Tcl's behavior is subtly different from other
-languages, which can confuse newcomers.</P
-><P
->When the Tcl interpreter is passed some data such as
-<TT
-CLASS="LITERAL"
->puts&nbsp;Hello</TT
->, it splits this data into a command
-and its arguments. The command will be terminated by a newline or by a
-semicolon, unless one of the quoting mechanisms is used. The command
-and each of its arguments are separated by white space. So in the
-following example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->puts Hello
-set x 42</PRE
-></TD
-></TR
-></TABLE
-><P
->This will result in two separate commands being executed. The first
-command is <TT
-CLASS="LITERAL"
->puts</TT
-> and is passed a single argument,
-<TT
-CLASS="LITERAL"
->Hello</TT
->. The second command is <TT
-CLASS="LITERAL"
->set</TT
->
-and is passed two arguments, <TT
-CLASS="LITERAL"
->x</TT
-> and
-<TT
-CLASS="LITERAL"
->42</TT
->. The intervening newline character serves to
-terminate the first command, and a semi-colon separator could be used
-instead: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->puts Hello;set x 42</PRE
-></TD
-></TR
-></TABLE
-><P
->Any white space surrounding the semicolon is just ignored because it
-does not serve to separate arguments.</P
-><P
->Now consider the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->set x Hello world</PRE
-></TD
-></TR
-></TABLE
-><P
->This is not valid <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->. It is an attempt to invoke the
-<TT
-CLASS="LITERAL"
->set</TT
-> command with three arguments:
-<TT
-CLASS="LITERAL"
->x</TT
->, <TT
-CLASS="LITERAL"
->Hello</TT
->, and
-<TT
-CLASS="LITERAL"
->world</TT
->. The <TT
-CLASS="LITERAL"
->set</TT
-> only takes two
-arguments, a variable name and a value, so it is necessary to combine
-the data into a single argument by quoting:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->set x "Hello world"</PRE
-></TD
-></TR
-></TABLE
-><P
->When the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter encounters the first quote character it
-treats all subsequent data up to but not including the closing quote
-as part of the current argument. The quote marks are removed by the
-interpreter, so the second argument passed to the
-<TT
-CLASS="LITERAL"
->set</TT
-> command is just <TT
-CLASS="LITERAL"
->Hello world</TT
->
-without the quote characters. This can be significant in the context
-of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts. For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYG_HAL_STARTUP {
-    &#8230;
-    default_value "RAM"
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter strips off the quote marks so the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expression parsing code sees <TT
-CLASS="LITERAL"
->RAM</TT
-> instead of
-<TT
-CLASS="LITERAL"
->"RAM"</TT
->. It will treat this as a reference to
-some unknown option <TT
-CLASS="VARNAME"
->RAM</TT
-> rather than as a string
-constant, and the expression evaluation code will use a value of
-<TT
-CLASS="LITERAL"
->0</TT
-> when it encounters an option that is not
-currently loaded. Therefore the option
-<TT
-CLASS="VARNAME"
->CYG_HAL_STARTUP</TT
-> ends up with a default value of
-<TT
-CLASS="LITERAL"
->0</TT
->. Either braces or backslashes should be used to
-avoid this, for example
-<TT
-CLASS="LITERAL"
->default_value&nbsp;{&nbsp;"RAM"&nbsp;}</TT
->. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->There are long-term plans to implement some sort of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> validation
-utility <SPAN
-CLASS="APPLICATION"
->cdllint</SPAN
-> which
-could catch common errors like this one.</P
-></BLOCKQUOTE
-></DIV
-><P
->A quoted argument continues until the closing quote character is
-encountered, which means that it can span multiple lines. Newline or
-semicolon characters do not terminate the current command in such
-cases. <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> properties usually make use of this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_ERROR {
-    description   "
-        This package contains the common list of error and
-        status codes. It is held centrally to allow
-        packages to interchange error codes and status
-        codes in a common way, rather than each package
-        having its own conventions for error/status
-        reporting. The error codes are modelled on the
-        POSIX style naming e.g. EINVAL etc. This package
-        also provides the standard strerror() function to
-        convert error codes to textual representation."
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter supports much the same forms of backslash
-substitution as other common programming languages. Some backslash
-sequences such as <TT
-CLASS="LITERAL"
->\n</TT
-> will be replaced by the
-appropriate character. The sequence <TT
-CLASS="LITERAL"
->\\</TT
-> will be
-replaced by a single backslash. A backslash at the very end of a line
-will cause that backslash, the newline character, and any white space
-at the start of the next line to be replaced by a single space. Hence
-the following two Tcl commands are equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->puts  "Hello\nworld\n"
-puts \
-"Hello
-world
-"</PRE
-></TD
-></TR
-></TABLE
-><P
->If a <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> string needs to contain quote marks or other
-special characters then backslash escapes can be used. In addition to
-quote and backslash characters, the Tcl interpreter treats square
-brackets, the <TT
-CLASS="LITERAL"
->$</TT
-> character, and braces specially.
-Square brackets are used for command substitution, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->puts "The answer is [expr 6 * 9]"</PRE
-></TD
-></TR
-></TABLE
-><P
->When the Tcl interpreter encounters the square brackets it will treat
-the contents as another command that should be executed first, and the
-result of executing that is used when continuing to process the
-script. In this case the Tcl interpreter will execute the command
-<TT
-CLASS="LITERAL"
->expr 6 * 9</TT
->, yielding a result of 42
-<A
-NAME="AEN1270"
-HREF="#FTN.AEN1270"
->[1]</A
->
-and then the
-Tcl interpreter will execute <TT
-CLASS="LITERAL"
->puts "The answer is 42"</TT
->.
-It should be noted that the interpreter performs only one level
-of substitution: if the result of performing command substitution
-performs further special characters such as square brackets then these
-will not be treated specially.</P
-><P
->Command substitution will not prove useful for many <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts,
-except for e.g. a <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> property which involves a fragment of
-<SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> code. Potentially there are some interesting uses, for example
-to internationalize <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> strings. However care does have to be
-taken to avoid unexpected command substitution, for example if an
-option description involves square brackets then typically these would
-require backslash-escapes.</P
-><P
->The <TT
-CLASS="LITERAL"
->$</TT
-> character is used in Tcl scripts to perform
-variable substitution:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->set x [expr 6 * 9]
-puts "The answer is $x"</PRE
-></TD
-></TR
-></TABLE
-><P
->Variable substitution, like command substitution, is unlikely to
-prove useful for many <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts except in the context of
-<SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> fragments. If it is necessary to have a <TT
-CLASS="LITERAL"
->$</TT
->
-character then a backslash escape may have to be used.</P
-><P
->Braces are used to collect a sequence of characters into a single
-argument, just like quotes. The difference is that variable, command
-and backslash substitution do not occur inside braces (with the
-sole exception of backslash substitution at the end of a line).
-Therefore given a line in a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script such as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->default_value {"RAM"}</PRE
-></TD
-></TR
-></TABLE
-><P
->The braces are stripped off by the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter, leaving
-<TT
-CLASS="LITERAL"
->"RAM"</TT
-> which will be handled as a string constant by
-the expression parsing code. The same effect could be achieved using
-one of the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->default_value \"RAM\"
-default_value "\"RAM\""</PRE
-></TD
-></TR
-></TABLE
-><P
->Generally the use of braces is less confusing. At this stage it is
-worth noting that the basic format of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> data makes use of
-braces:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option &lt;name&gt; {
-     &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="LITERAL"
->cdl_option</TT
-> command is passed two arguments, a name and a body,
-where the body consists of everything inside the braces but not the
-braces themselves. This body can then be executed in a recursive
-invocation of the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter. If a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script contains
-mismatched braces then the interpreter is likely to get rather
-confused and the resulting diagnostics may be difficult to understand. </P
-><P
->Comments in Tcl scripts are introduced by a hash character
-<TT
-CLASS="LITERAL"
->#</TT
->. However, a hash character only introduces a
-comment if it occurs where a command is expected. Consider the
-following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># This is a comment
-puts "Hello" # world</PRE
-></TD
-></TR
-></TABLE
-><P
->The first line is a valid comment, since the hash character occurs
-right at the start where a command name is expected. The second line
-does not contain a comment. Instead it is an attempt to invoke the
-<TT
-CLASS="LITERAL"
->puts</TT
-> command with three arguments:
-<TT
-CLASS="LITERAL"
->Hello</TT
->, <TT
-CLASS="LITERAL"
->#</TT
-> and
-<TT
-CLASS="LITERAL"
->world</TT
->. These are not valid arguments for the
-<TT
-CLASS="LITERAL"
->puts</TT
-> command so an error will be raised.
-If the second line was rewritten as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->puts "Hello"; # world</PRE
-></TD
-></TR
-></TABLE
-><P
->then this is a valid Tcl script. The semicolon identifies the end of
-the current command, so the hash character occurs at a point where the
-next command would start and hence it is interpreted as the start of a
-comment.</P
-><P
->This handling of comments can lead to subtle behavior. Consider the
-following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option WHATEVER {
-# This is a comment }
-    default_value 0
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Consider the way the Tcl interpreter processes this. The command name
-and the first argument do not pose any special difficulties. The
-opening brace is interpreted as the start of the next argument, which
-continues until a closing brace is encountered. In this case the
-closing brace occurs on the second line, so the second argument passed
-to <TT
-CLASS="LITERAL"
->cdl_option</TT
-> is
-<TT
-CLASS="LITERAL"
->\n&nbsp;&nbsp;&nbsp;&nbsp;#&nbsp;This&nbsp;is&nbsp;a&nbsp;comment</TT
->. This second argument is processed in a recursive
-invocation of the Tcl interpreter and does not contain any commands,
-just a comment. Top-level script processing then resumes, and the next
-command that is encountered is <TT
-CLASS="LITERAL"
->default_value</TT
->. Since
-the parser is not currently processing a configuration option this is
-an error. Later on the Tcl interpreter would encounter a closing brace
-by itself, which is also an error.</P
-><P
->For component writers who need more information about <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->,
-especially about the language rather than the syntax, various
-resources are available. A reasonable starting point is the
-<A
-HREF="http://www.tcl.tk/scripting/"
-TARGET="_top"
->Scriptics developer
-web site</A
->.</P
-></DIV
-><H3
-CLASS="FOOTNOTES"
->Notes</H3
-><TABLE
-BORDER="0"
-CLASS="FOOTNOTES"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-WIDTH="5%"
-><A
-NAME="FTN.AEN1270"
-HREF="language.tcl.html#AEN1270"
->[1]</A
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-WIDTH="95%"
-><P
->It is possible that some versions of the Tcl interpreter will instead
-produce a result of 54 when asked to multiply six by nine. Appropriate
-<A
-HREF="http://www.douglasadams.com/creations/hhgg.html"
-TARGET="_top"
->reference
-documentation</A
-> should be consulted for more information on why
-42 is in fact the correct answer.</P
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.naming.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.values.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Option Naming Convention</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Values and Expressions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/language.values.html b/doc/html/cdl-guide/language.values.html
deleted file mode 100644 (file)
index 9743850..0000000
+++ /dev/null
@@ -1,3127 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Values and Expressions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="The CDL Language"
-HREF="language.html"><LINK
-REL="PREVIOUS"
-TITLE="An Introduction to Tcl"
-HREF="language.tcl.html"><LINK
-REL="NEXT"
-TITLE="Interfaces"
-HREF="language.interface.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="language.tcl.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. The CDL Language</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.interface.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LANGUAGE.VALUES">Values and Expressions</H1
-><P
->It is fairly reasonable to expect that enabling or disabling a
-configuration option such as
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_DATA</TT
-> in some way affects its
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->value</I
-></SPAN
->. This will have an effect on any
-expressions that reference this option such as
-<TT
-CLASS="LITERAL"
->requires&nbsp;CYGVAR_KERNEL_THREADS_DATA</TT
->. It will
-also affect the consequences of that option: how it affects the build
-process and what happens to any constraints that
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_DATA</TT
-> may impose (as opposed
-to constraints on this option imposed by others).</P
-><P
->In a language like C the handling of variables is relatively
-straightforward. If a variable <TT
-CLASS="VARNAME"
->x</TT
-> gets referenced in
-an expression such as <TT
-CLASS="LITERAL"
->if&nbsp;(x&nbsp;!=&nbsp;0)</TT
->,
-and that variable is not defined anywhere, then the code will fail to
-build, typically with an unresolved error at link-time. Also in C
-a variable <TT
-CLASS="VARNAME"
->x</TT
-> does not live in any hierarchy, so its
-value for the purposes of expression evaluation is not affected by
-anything else. C variables also have a clear type such as
-<TT
-CLASS="LITERAL"
->int</TT
-> or <TT
-CLASS="LITERAL"
->long&nbsp;double</TT
->. </P
-><P
->In <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> things are not so straightforward.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.VALUES.VALUE">Option Values</H2
-><P
->There are four factors which go into an option's value:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->An option may or may not be loaded.</P
-></LI
-><LI
-><P
->If the option is loaded, it may or may not be active.</P
-></LI
-><LI
-><P
->Even if the option is active, it may or may not be enabled.</P
-></LI
-><LI
-><P
->If the option is loaded, active and enabled then it will have some
-associated data which constitutes its value.</P
-></LI
-></OL
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="LANGUAGE.VALUES.VALUE.LOADED">Is the Option Loaded?</H3
-><P
->At any one time a configuration will contain only a subset of all
-possible packages. In fact it is impossible to combine certain
-packages in a single configuration. For example architectural HAL
-packages should contain a set of options defining endianness, the
-sizes of basic data types and so on (many of which will of course be
-constant for any given architecture). Any attempt to load two
-architectural HAL packages into a configuration will fail because of
-the resulting name clash. Since <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expressions can reference
-options in other packages, and often need to do so, it is essential to
-define the resulting behavior.</P
-><P
->One complication is that the component framework does not know about
-every single option in every single package. Obviously it cannot know
-about packages from arbitrary third parties which have not been
-installed. Even for packages which have been installed, the current
-repository database does not hold details of every option, only of the
-packages themselves. If a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression contains a reference to
-some option <TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_TIMESLICE</TT
-> then the
-component framework will only know about this option if the kernel
-package is actually loaded into the current configuration. If the
-package is not loaded then theoretically the framework might guess
-that the option is somehow related to the kernel by examining the
-option name but this would not be robust: the option could easily be
-part of some other package that violates the naming convention.</P
-><P
->Assume that the user is building a minimal configuration which does
-not contain the kernel package, but does have other packages which
-contain the following constraints:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGPKG_KERNEL
-    requires CYGPKG_KERNEL_THREADS_DATA
-    requires !CYGSEM_KERNEL_SCHED_TIMESLICE</PRE
-></TD
-></TR
-></TABLE
-><P
->Clearly the first constraint is not satisfied because the kernel is
-not loaded. The second constraint is also not satisfied. The third
-constraint is trivially satisfied: if there is no kernel then the
-kernel's timeslicing support cannot possibly be enabled. </P
-><P
->Any options which are not in the current configuration are handled as
-follows: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Any references to that option will evaluate to <TT
-CLASS="LITERAL"
->0</TT
->,
-so <TT
-CLASS="LITERAL"
->requires&nbsp;!CYGSEM_KERNEL_SCHED_TIMESLICE</TT
-> will
-be satisfied but
-<TT
-CLASS="LITERAL"
->requires&nbsp;CYGSEM_KERNEL_THREADS_DATA</TT
-> will not
-be satisfied.</P
-></LI
-><LI
-><P
->An option that is not loaded has no consequences on the build process.
-It cannot directly result in any <TT
-CLASS="LITERAL"
->#define's</TT
-> in a
-configuration header file, nor in any files being compiled. This is
-only reasonable: if the option is not loaded then the component
-framework has no way of knowing about any <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> or similar
-properties. An option that is not loaded can have indirect
-consequences by being referenced in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expressions.</P
-></LI
-><LI
-><P
->An option that is not loaded cannot impose any constraints on the rest
-of the configuration. Again this is the only reasonable behavior: if
-the option is not loaded then any associated <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> or
-<SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> properties will not be known.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="LANGUAGE.VALUES.VALUE.ACTIVE">Is the Option Active</H3
-><P
->The next issue to consider is whether or not a particular option is
-active. Configuration options are organized in a hierarchy of
-components and sub-components. For example the C library package
-contains a component <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO</TT
-> containing
-all the options related to standard I/O. If a user disables the
-component as a whole then all the options below it become inactive: it
-makes no sense to disable all stdio functionality and then manipulate
-the buffer sizes.</P
-><P
->Inactive is not quite the same as disabled, although the effects are
-similar. The value of an inactive option is preserved. If the user
-modifies a buffer size option, then disables the whole stdio
-component, the buffer size value remains in case the stdio component
-is re-enabled later on. Some tools such as the graphical configuration
-tool will treat inactive options specially, for example such options
-may be grayed out.</P
-><P
->The active or inactive state of an option may affect other packages.
-For example a package may use the <TT
-CLASS="FUNCTION"
->sprintf</TT
->
-function and require support for floating point conversions, a
-constraint that is not satisfied if the relevant option is inactive.
-It is necessary to define exactly what it means for an option to be
-inactive:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->An option is inactive if its parent is either inactive or disabled.
-For example if <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO</TT
-> is disabled then
-all the options and sub-components become inactive; since
-<TT
-CLASS="VARNAME"
->CYGPKG_LIBC_STDIO_FLOATING_POINT</TT
-> is now inactive,
-<TT
-CLASS="VARNAME"
->CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT</TT
-> is inactive
-as well.</P
-></LI
-><LI
-><P
->Options may also be inactive as a result of an <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> property.
-This is useful if a particular option is only relevant if two or more
-disjoint sets of conditions need to be satisfied, since the
-hierarchical structure can only cope with at most one such set.</P
-></LI
-><LI
-><P
->If an option is inactive then any references to that option in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expressions will evaluate to <TT
-CLASS="LITERAL"
->0</TT
->. Hence a constraint
-of the form
-<TT
-CLASS="LITERAL"
->requires&nbsp;CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT</TT
->
-is not satisfied if the entire stdio component is disabled.</P
-></LI
-><LI
-><P
->An option that is inactive has no consequences on the build process.
-No <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated. Any <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> or
-similar properties will be ignored.</P
-></LI
-><LI
-><P
->An option that is inactive cannot impose any constraints on the rest
-of the configuration. For example
-<TT
-CLASS="VARNAME"
->CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT</TT
-> has a
-dependency <TT
-CLASS="LITERAL"
->requires&nbsp;CYGPKG_LIBM</TT
->, but if all of
-the stdio functionality is disabled then this constraint is ignored
-(although of course there may be other packages which have a
-dependency on <TT
-CLASS="VARNAME"
->CYGPKG_LIBM</TT
->.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="LANGUAGE.VALUES.VALUE.ENABLED">Is the Option Enabled? What is the Data?</H3
-><P
->The majority of configuration options are boolean in nature, so the
-user can either enable or disable some functionality. Some options are
-different. For example <TT
-CLASS="VARNAME"
->CYGNUM_LIBC_STDIO_BUFSIZE</TT
-> is
-a number, and <TT
-CLASS="VARNAME"
->CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE</TT
-> is
-a string corresponding to a device name. A few options like
-<TT
-CLASS="VARNAME"
->CYGDAT_UITRON_TASK_EXTERNS</TT
-> can get very
-complicated. <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> has to cope with this variety, and define the exact
-behavior of the system in terms of constraints and build-time
-consequences. </P
-><P
->In <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> the value of an option consists of two parts. There is a
-boolean part, controlling whether or not the option is enabled. There
-is also a data part, providing additional information. For most
-options one of these parts is fixed, as controlled by the option's
-<SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> property:</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN1413"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Flavor</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Enabled</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Data</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->none</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Always enabled</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->1</TT
->, not modifiable</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->bool</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->User-modifiable</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->1</TT
->, not modifiable</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->data</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Always enabled</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->User-modifiable</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->booldata</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->User-modifiable</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->User-modifiable</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><P
->The effects of the boolean and data parts are as follows:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->If an option is disabled, in other words if the boolean part is false,
-then any references to that option in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expressions will evaluate
-to <TT
-CLASS="LITERAL"
->0</TT
->. This is the same behavior as for inactive
-options. The data part is not relevant. The <TT
-CLASS="LITERAL"
->none</TT
->
-and <TT
-CLASS="LITERAL"
->data</TT
-> flavors specify that the option is always
-enabled, in which case this rule is not applicable.</P
-></LI
-><LI
-><P
->If an option is enabled then any references to that option in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expressions will evaluate to the option's data part. For two of the
-flavors, <TT
-CLASS="LITERAL"
->none</TT
-> and <TT
-CLASS="LITERAL"
->bool</TT
->, this
-data part is fixed to the constant <TT
-CLASS="LITERAL"
->1</TT
-> which
-generally has the expected result.</P
-></LI
-><LI
-><P
->If a component or package is disabled then all sub-components and
-options immediately below it in the hierarchy are inactive. By a
-process of recursion this will affect all the nodes in the subtree.</P
-></LI
-><LI
-><P
->If an option is disabled then it can impose no constraints on the rest
-of the configuration, in particular <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
->
-properties will be ignored. If an option is enabled then its
-constraints should be satisfied, or the component framework will
-report various conflicts. Note that the <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> constraint only
-applies to the data part of the option's value, so it is only useful
-with the <TT
-CLASS="LITERAL"
->data</TT
-> and <TT
-CLASS="LITERAL"
->booldata</TT
->
-flavors. Options with the <TT
-CLASS="LITERAL"
->none</TT
-> and
-<TT
-CLASS="LITERAL"
->data</TT
-> flavors are always enabled so their
-constraints always have to be satisfied (assuming the option is
-active). </P
-></LI
-><LI
-><P
->If an option is disabled then it has no direct consequences at
-build-time: no <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated, no files
-will get compiled, and so on. If an option is active and enabled then
-all the consequences take effect. The option name and data part are
-used to generate the <TT
-CLASS="LITERAL"
->#define</TT
-> in the appropriate
-configuration header file, subject to various properties such as
-<SPAN
-CLASS="PROPERTY"
->no_define</SPAN
->, but the data part has no other effects on the build
-system. </P
-></LI
-></OL
-><P
->By default all options and components have the <TT
-CLASS="LITERAL"
->bool</TT
->
-flavor: most options are boolean in nature, so making this the default
-allows for slightly more compact <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts. Packages have the
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavor, where the data part always
-corresponds to the version of the package that is loaded into the
-configuration: changing this value corresponds to unloading the old
-version and loading in a different one.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> Flavors: </B
->The concept of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> flavors tends to result in various discussions
-about why it is unnecessarily complicated, and would it not have been
-easier to do&nbsp;&#8230; However there are very good reasons why CDL
-works the way it does.</P
-><P
->The first common suggestion is that there is no need to have separate
-flavors <TT
-CLASS="LITERAL"
->bool</TT
->, <TT
-CLASS="LITERAL"
->data</TT
->, and so on. A
-boolean option could just be handled as a data option with legal
-values <TT
-CLASS="LITERAL"
->0</TT
-> and <TT
-CLASS="LITERAL"
->1</TT
->. The counter
-arguments are as follows:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->It would actually make <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts more verbose. By default all
-options and components have the <TT
-CLASS="LITERAL"
->bool</TT
-> flavor, since
-most options are boolean in nature. Without a <TT
-CLASS="LITERAL"
->bool</TT
->
-flavor it would be necessary to indicate explicitly what the legal
-values are somehow, e.g. with a <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property.</P
-></LI
-><LI
-><P
->The boolean part of an option's value has a very different effect from
-the data part. If an option is disabled then it has no consequences at
-build time, and can impose no constraints. A <TT
-CLASS="LITERAL"
->data</TT
->
-option always has consequences and can impose constraints. To get the
-desired effect it would be necessary to add <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> data indicating that
-a value of <TT
-CLASS="LITERAL"
->0</TT
-> should be treated specially. Arguably
-this could be made built-in default behavior, although that would
-complicate options where <TT
-CLASS="LITERAL"
->0</TT
-> is a perfectly legal
-number, for example
-<TT
-CLASS="VARNAME"
->CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET</TT
->. </P
-></LI
-><LI
-><P
->There would no replacement for a <TT
-CLASS="LITERAL"
->booldata</TT
-> option
-for which <TT
-CLASS="LITERAL"
->0</TT
-> is a valid value. Again some additional
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> syntax would be needed to express such a concept.</P
-></LI
-></OL
-><P
->Although initially it may seem confusing that an option's value has
-both a boolean and a data part, it is an accurate reflection of how
-configuration options actually work. The various alternatives would
-all make it harder to write <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts.</P
-><P
->The next common suggestion is that the data part of a value should be
-typed in much the same way as C or C++ data types. For example it
-should be possible to describe
-<TT
-CLASS="VARNAME"
->CYGNUM_LIBC_STDIO_BUFSIZE</TT
-> as an integer value,
-rather than imposing <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> constraints. Again there are very
-good reasons why this approach was not taken:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The possible legal values for an integer are rarely correct for a
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> option. A constraint such as
-<TT
-CLASS="LITERAL"
->1&nbsp;to&nbsp;0x7fffffff</TT
-> is a bit more accurate,
-although if this option indicates a buffer size it is still not
-particularly good&nbsp;&#8212; very few targets will have enough
-memory for such a buffer. Forcing <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> writers to list the
-<SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> constraints explicitly should make them think a bit
-more about what values are actually sensible. For example
-<TT
-CLASS="VARNAME"
->CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET</TT
-> has legal
-values in the range <TT
-CLASS="LITERAL"
->-90000&nbsp;to&nbsp;90000</TT
->,
-which helps the user to set a sensible value.</P
-></LI
-><LI
-><P
->Not all options correspond to simple data types such as integers.
-<TT
-CLASS="VARNAME"
->CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE</TT
-> is a C string,
-and would have to be expressed using something like
-<TT
-CLASS="LITERAL"
->char&nbsp;[]</TT
->. This introduces plenty of
-opportunities for confusion, especially since square brackets may get
-processed by the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter for command substitution.</P
-></LI
-><LI
-><P
->Some configuration options can get very complicated indeed, for
-example the default value of
-<TT
-CLASS="VARNAME"
->CYGDAT_UITRON_TASK_INITIALIZERS</TT
-> is:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYG_UIT_TASK( "t1", 1, task1, &amp;stack1, CYGNUM_UITRON_STACK_SIZE ), \
-CYG_UIT_TASK( "t2", 2, task2, &amp;stack2, CYGNUM_UITRON_STACK_SIZE ), \ 
-CYG_UIT_TASK( "t3", 3, task3, &amp;stack3, CYGNUM_UITRON_STACK_SIZE ), \
-CYG_UIT_TASK( "t4", 4, task4, &amp;stack4, CYGNUM_UITRON_STACK_SIZE )</PRE
-></TD
-></TR
-></TABLE
-><P
->This would require <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> knowing about C macros, structures, arrays,
-static initializers, and so on. Adding such detailed knowledge about
-the C language to the component framework is inappropriate.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> needs to be usable with languages other than C. At present this
-includes C++, in future it may include languages such as Java. Each
-language adds new data types and related complications, for example
-C++ classes and inheritance. Making <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> support a union of all data
-types in all possible languages is not sensible.</P
-></LI
-></OL
-><P
->The <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> approach of treating all data as a sequence of characters,
-possibly constrained by a <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property or other means, has
-the great advantage of simplicity. It also fits in with the <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->
-language that underlies <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="LANGUAGE.VALUES.VALUE.EXAMPLES">Some Examples</H3
-><P
->The following excerpt from the C library's <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts can be used
-to illustrate how values and flavors work in practice:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_LIBC_RAND {
-    flavor        none
-    compile       stdlib/rand.cxx
-
-    cdl_option CYGSEM_LIBC_PER_THREAD_RAND {
-        requires      CYGVAR_KERNEL_THREADS_DATA
-        default_value 0
-    }
-
-    cdl_option CYGNUM_LIBC_RAND_SEED {
-        flavor        data
-        legal_values  0 to 0x7fffffff
-        default_value 1
-    }
-
-    cdl_option CYGNUM_LIBC_RAND_TRACE_LEVEL {
-        flavor        data
-        legal_values  0 to 1
-        default_value 0
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If the application does not require any C library functionality then
-it is possible to have a configuration where the C library is not
-loaded. This can be achieved by starting with the minimal template, or
-by starting with another template such as the default one and then
-explicitly unloading the C library package. If this package is not
-loaded then any references to the <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_RAND</TT
->
-component or any of its options will have a value of
-<TT
-CLASS="LITERAL"
->0</TT
-> for the purposes of expression evaluation. No
-<TT
-CLASS="LITERAL"
->#define's</TT
-> will be generated for the component or
-any of its options, and the file <TT
-CLASS="FILENAME"
->stdlib/rand.cxx</TT
->
-will not get compiled. There is nothing special about the C library
-here, exactly the same would apply for say a device driver that does
-not correspond to any of the devices on the target hardware.</P
-><P
->Assuming the C library is loaded, the next thing to consider is
-whether or not the component and its options are active. The component
-is layered immediately below the C library package itself, so if the
-package is loaded then it is safe to assume that the package is also
-enabled. Therefore the parent of <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_RAND</TT
->
-is active and enabled, and in the absence of any <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->
-properties <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_RAND</TT
-> will be active as well.</P
-><P
->The component <TT
-CLASS="VARNAME"
->CYGPKG_LIBC_RAND</TT
-> has the flavor
-<TT
-CLASS="LITERAL"
->none</TT
->. This means the component cannot be disabled.
-Therefore all the options in this component have an active and enabled
-parent, and in the absence of any <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> properties they are all
-active as well.</P
-><P
->The component's flavor <TT
-CLASS="LITERAL"
->none</TT
-> serves to group
-together all of the configuration options related to random number
-generation. This is particularly useful in the context of the
-graphical configuration tool, but it also helps when it comes to
-naming the options: all of the options begin with
-<TT
-CLASS="LITERAL"
->CYGxxx_LIBC_RAND</TT
->, giving a clear hint about both
-the package and the component within that package. The flavor means
-that the component is always enabled and has the value
-<TT
-CLASS="LITERAL"
->1</TT
-> for the purposes of expression evaluation. There
-will always be a single <TT
-CLASS="LITERAL"
->#define</TT
-> of the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGPKG_LIBC_RAND 1</PRE
-></TD
-></TR
-></TABLE
-><P
->In addition the file <TT
-CLASS="FILENAME"
->stdlib/rand.cxx</TT
-> will always
-get built. If the component had the default <TT
-CLASS="LITERAL"
->bool</TT
->
-flavor then users would be able to disable the whole component,
-and one less file would need to be built. However random number
-generation is relatively simple, so the impact on eCos build times are
-small. Furthermore by default the code has no dependencies on other
-parts of the system, so compiling the code has no unexpected side
-effects. Even if it was possible to disable the component, the
-sensible default for most applications would still leave it enabled.
-The net result is that the flavor <TT
-CLASS="LITERAL"
->none</TT
-> is probably
-the most sensible one for this component. For other components the
-default <TT
-CLASS="LITERAL"
->bool</TT
-> flavor or one of the other flavors
-might be more appropriate.</P
-><P
->Next consider option <TT
-CLASS="VARNAME"
->CYGSEM_LIBC_PER_THREAD_RAND</TT
->
-which can be used to get a per-thread random number seed, possibly
-useful if the application needs a consistent sequence of random
-numbers. In the absence of a <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> property this option will be
-boolean, and the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property means that it is disabled by
-default&nbsp;&#8212; reasonable since few applications need this
-particular functionality, and it does impose a constraint on the rest
-of the system. If the option is left disabled then no
-<TT
-CLASS="LITERAL"
->#define</TT
-> will be generated, and if there were any
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> or similar properties these would not take effect. If the
-option is enabled then a <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated,
-using the option's data part which is fixed at <TT
-CLASS="LITERAL"
->1</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGSEM_LIBC_PER_THREAD_RAND 1</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="VARNAME"
->CYGSEM_LIBC_PER_THREAD_RAND</TT
-> option has a
-<SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraint on
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_DATA</TT
->. If the C library option
-is enabled then the constraint should be satisfied, or else the
-configuration contains a conflict. If the configuration does not
-include the kernel package then
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_DATA</TT
-> will evaluate to
-<TT
-CLASS="LITERAL"
->0</TT
-> and the constraint is not satisfied. Similarly if
-the option is inactive or disabled the constraint will not be
-satisfied.</P
-><P
-><TT
-CLASS="VARNAME"
->CYGNUM_LIBC_RAND_SEED</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGNUM_LIBC_RAND_TRACE_LEVEL</TT
-> both have the
-<TT
-CLASS="LITERAL"
->data</TT
-> flavor, so they are always enabled and the
-component framework will generate appropriate
-<TT
-CLASS="LITERAL"
->#define's</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_LIBC_RAND_SEED 1
-#define CYGNUM_LIBC_RAND_SEED_1
-#define CYGNUM_LIBC_RAND_TRACE_LEVEL 0
-#define CYGNUM_LIBC_RAND_TRACE_LEVEL_0</PRE
-></TD
-></TR
-></TABLE
-><P
->Neither option has a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> or similar property, but any such
-properties would take effect. Any references to these options in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expressions would evaluate to the data part, so a hypothetical
-constraint of the form
-<TT
-CLASS="LITERAL"
->{&nbsp;requires&nbsp;CYGNUM_LIBC_RAND_SEED&nbsp;&gt;&nbsp;42&nbsp;}</TT
->
-would not be satisfied with the default values. Both options use a
-simple constant for the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expression. It would be
-possible to use a more complicated expression, for example the default
-for <TT
-CLASS="VARNAME"
->CYGNUM_LIBC_RAND_TRACE_LEVEL</TT
-> could be
-determined from some global debugging option or from a debugging
-option that applies to the C library as a whole. Both options also
-have a <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> constraint, which must be satisfied since the
-options are active and enabled. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The value <TT
-CLASS="LITERAL"
->0</TT
-> is legal for both
-<TT
-CLASS="VARNAME"
->CYGNUM_LIBC_RAND_SEED</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGNUM_LIBC_RAND_TRACE_LEVEL</TT
->, so in a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expression there is no easy way of distinguishing between the options
-being absent or having that particular value. This will be addressed
-by future enhancements to the expression syntax.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.EXPRESSION">Ordinary Expressions</H2
-><P
->Expressions in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> follow a conventional syntax, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    default_value CYGGLO_CODESIZE &gt; CYGGLO_SPEED
-    default_value { (CYG_HAL_STARTUP == "RAM" &#38;&#38;
-                     !CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS &#38;&#38;
-                     !CYGINT_HAL_USE_ROM_MONITOR_UNSUPPORTED &#38;&#38;
-                     !CYGSEM_HAL_POWERPC_COPY_VECTORS) ? 1 : 0 }
-    default_value { "\"/dev/ser0\"" }</PRE
-></TD
-></TR
-></TABLE
-><P
->However there is a complication in that the various arguments to a
-<SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property will first get processed by a <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
->
-interpreter, so special characters like quotes and square brackets may
-get processed. Such problems can be avoided by enclosing non-trivial
-expressions in braces, as in the second example above. The way
-expression parsing actually works is as follows:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter splits the line or lines into a command and its
-arguments. In the first <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expression above the command
-is <TT
-CLASS="LITERAL"
->default_value</TT
-> and there are three arguments,
-<TT
-CLASS="LITERAL"
->CYGGLO_CODESIZE</TT
->, <TT
-CLASS="LITERAL"
->&gt;</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGGLO_SPEED</TT
->. In the second and third examples
-there is just one argument, courtesy of the braces.</P
-></LI
-><LI
-><P
->Next option processing takes place, so any initial arguments that
-begin with a hyphen will be interpreted as options. This can cause
-problems if the expression involves a negative number, so the
-special argument <TT
-CLASS="LITERAL"
->--</TT
-> can be used to prevent option
-processing on the subsequent arguments.</P
-></LI
-><LI
-><P
->All of the arguments are now concatenated, with a single space in
-between each one. Hence the following two expressions are equivalent,
-even though they will have been processed differently up to this point.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    default_value CYGGLO_CODESIZE &gt; CYGGLO_SPEED
-    default_value {CYGGLO_CODESIZE &gt; CYGGLO_SPEED}</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->The expression parsing code now has a single string to process.</P
-></LI
-></OL
-><P
-><SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expressions consist of four types of element: references to
-configuration options, constant strings, integers, and floating point
-numbers. These are combined using a conventional set of operators: the
-unary operators <TT
-CLASS="LITERAL"
->-</TT
->, <TT
-CLASS="LITERAL"
->~</TT
-> and
-<TT
-CLASS="LITERAL"
->!</TT
->; the arithmetic operators <TT
-CLASS="LITERAL"
->+</TT
->,
-<TT
-CLASS="LITERAL"
->-</TT
->, <TT
-CLASS="LITERAL"
->*</TT
->, <TT
-CLASS="LITERAL"
->/</TT
-> and
-<TT
-CLASS="LITERAL"
->%</TT
->; the shift operators <TT
-CLASS="LITERAL"
->&lt;&lt;</TT
->
-and <TT
-CLASS="LITERAL"
->&gt;&gt;</TT
->; the comparison operators
-<TT
-CLASS="LITERAL"
->==</TT
->, <TT
-CLASS="LITERAL"
->!=</TT
->, <TT
-CLASS="LITERAL"
->&lt;</TT
->,
-<TT
-CLASS="LITERAL"
->&lt;=</TT
->, <TT
-CLASS="LITERAL"
->&gt;</TT
-> and
-<TT
-CLASS="LITERAL"
->&gt;=</TT
->; the bitwise operators
-<TT
-CLASS="LITERAL"
->&amp;</TT
->, <TT
-CLASS="LITERAL"
->^</TT
-> and
-<TT
-CLASS="LITERAL"
->|</TT
->; the logical operators <TT
-CLASS="LITERAL"
->&#38;&#38;</TT
-> and
-<TT
-CLASS="LITERAL"
->||</TT
->; the string concatenation operator
-<TT
-CLASS="LITERAL"
->.</TT
->; and the ternary conditional operator
-<TT
-CLASS="LITERAL"
->A&nbsp;?&nbsp;B&nbsp;:&nbsp;C</TT
->. There is also support for
-some less widely available operators for logical equivalence and
-implication, and for a set of function-style operations. Bracketed
-sub-expressions are supported, and the operators have the usual
-precedence:</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN1653"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->Priority</TH
-><TH
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->Operators</TH
-><TH
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->Category</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->16</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->references, constants</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->basic elements</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->15</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->f(a, b, c)</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->function calls</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->14</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->~</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->bitwise not</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->14</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->!</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->logical not</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->14</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->-</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->arithmetic negation</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->13</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->* / %</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->multiplicative arithmetic</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->12</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->+ - .</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->additive arithmetic and string concatenation</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->11</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->&lt;&lt; &gt;&gt;</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->bitwise shifts</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->10</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->&lt;= &lt; &gt; &gt;=</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->inequality</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->9</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->== !=</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->comparison</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->8</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->&#38;</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->bitwise and</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->7</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->^</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->bitwise xor</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->6</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->|</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->bitwise or</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->5</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->&#38;&#38;</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->logical and</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->4</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->||</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->logical or</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->3</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->xor, eqv</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->logical equivalance</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->2</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->implies</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->logical implication</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->1</TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
-><TT
-CLASS="LITERAL"
->? :</TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="CENTER"
-VALIGN="TOP"
->conditional</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><P
->Function calls have the usual format of a name, an opening bracket,
-one or more arguments separated by commas, and a closing bracket. For
-example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { !is_substr(CYGBLD_GLOBAL_CFLAGS, " -fno-rtti") }</PRE
-></TD
-></TR
-></TABLE
-><P
->Functions will differ in the number of arguments and may impose
-restrictions on some or all of their arguments. For example it may be
-necessary for the first argument to be a reference to a configuration
-option. The available functions are described in <A
-HREF="language.values.html#LANGUAGE.FUNCTIONS"
->the Section called <I
->Functions</I
-></A
->. </P
-><P
->The logical <TT
-CLASS="LITERAL"
->xor</TT
-> operator evaluates to true if
-either the left hand side or the right hand side but not both evaluate
-to true The logical <TT
-CLASS="LITERAL"
->eqv</TT
-> operator evaluates to true
-if both the left and right hand sides evaluate to true, or if both
-evaluate to false. The <TT
-CLASS="LITERAL"
->implies</TT
-> operator evaluates
-to true either if the left hand side is false or if the right hand
-side is true, in other words <TT
-CLASS="LITERAL"
->A&nbsp;implies&nbsp;B</TT
->
-has the same meaning as <TT
-CLASS="LITERAL"
->!A&nbsp;||&nbsp;B</TT
->. An
-example use would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { is_active(CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE) implies
-                   (CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE &#62;= (16 * 1024)) }</PRE
-></TD
-></TR
-></TABLE
-><P
->This constraint would be satisfied if either the support for a main
-stack size is disabled, or if that stack is at least 16K. However if
-such a stack were in use but was too small, a conflict would be raised.</P
-><P
->A valid <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> identifier in an expression, for example
-<TT
-CLASS="VARNAME"
->CYGGLO_SPEED</TT
->, will be interpreted as a reference to
-a configuration option by that name. The option does not have to be
-loaded into the current configuration. When the component framework
-evaluates the expression it will substitute in a suitable value that
-depends on whether or not the option is loaded, active, and enabled.
-The exact rules are described in <A
-HREF="language.values.html#LANGUAGE.VALUES.VALUE"
->the Section called <I
->Option Values</I
-></A
->.</P
-><P
->A constant string is any sequence of characters enclosed in quotes.
-Care has to be taken that these quotes are not stripped off by the
-<SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> interpreter before the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression parser sees them.
-Consider the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    default_value "RAM"</PRE
-></TD
-></TR
-></TABLE
-><P
->The quote marks will be stripped before the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression parser
-sees the data, so the expression will be interpreted as a reference to
-a configuration option <TT
-CLASS="VARNAME"
->RAM</TT
->. There is unlikely to be
-such an option, so the actual default value will be
-<TT
-CLASS="LITERAL"
->0</TT
->. Careful use of braces or other <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> quoting
-mechanisms can be used to avoid such problems.</P
-><P
->              
-String constants consist of the data inside the quotes. If the data
-itself needs to contain quote characters then appropriate quoting is
-again necessary, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    default_value { "\"/dev/ser0\"" }</PRE
-></TD
-></TR
-></TABLE
-><P
->An integer constant consists of a sequence of digits, optionally
-preceeded with the unary <TT
-CLASS="LITERAL"
->+</TT
-> or <TT
-CLASS="LITERAL"
->-</TT
->
-operators. As usual the sequence <TT
-CLASS="LITERAL"
->0x</TT
-> or
-<TT
-CLASS="LITERAL"
->0X</TT
-> can be used for hexadecimal data, and a leading
-<TT
-CLASS="LITERAL"
->0</TT
-> indicates octal data. Internally the component
-framework uses 64-bit arithmetic for integer data. If a constant is
-too large then double precision arithmetic will be used instead.
-Traditional syntax is also used for double precision numbers, for
-example <TT
-CLASS="LITERAL"
->3.141592</TT
-> or <TT
-CLASS="LITERAL"
->-3E6</TT
->. </P
-><P
->Of course this is not completely accurate: <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> is not a typed
-language, all data is treated as if it were a string. For example the
-following two lines are equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGNUM_UITRON_SEMAS &#62; 10
-    requires { CYGNUM_UITRON_SEMAS &#62; "10" }</PRE
-></TD
-></TR
-></TABLE
-><P
->When an expression gets evaluated the operators will attempt
-appropriate conversions. The <TT
-CLASS="LITERAL"
->&gt;</TT
-> comparison
-operator can be used on either integer or double precision numbers, so
-it will begin by attempting a string to integer conversion of both
-operands. If that fails it will attempt string to double conversions.
-If that fails as well then the component framework will report a
-conflict, an evaluation exception. If the conversions from string to
-integer are successful then the result will be either the string
-<TT
-CLASS="LITERAL"
->0</TT
-> or the string <TT
-CLASS="LITERAL"
->1</TT
->, both of which
-can be converted to integers or doubles as required.</P
-><P
->It is worth noting that the expression
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_SEMAS&nbsp;&gt;10</TT
-> is not ambiguous.
-<SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> identifiers can never begin with a digit, so it is not possible
-for <TT
-CLASS="LITERAL"
->10</TT
-> to be misinterpreted as a reference to an
-identifier instead of as a string.</P
-><P
->Of course the implementation is slightly different again. The <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-language definition is such that all data is treated as if it were a
-string, with conversions to integer, double or boolean as and when
-required. The implementation is allowed to avoid conversions until
-they are necessary. For example, given
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_SEMAS&nbsp;&gt;&nbsp;10</TT
-> the
-expression parsing code will perform an immediate conversion from
-string to integer, storing the integer representation, and there is no
-need for a conversion by the comparison operator when the expression
-gets evaluated. Given
-<TT
-CLASS="LITERAL"
->{&nbsp;CYGNUM_UITRON_SEMAS&nbsp;&gt;&nbsp;"10"&nbsp;}</TT
->
-the parsing code will store the string representation and a conversion
-happens the first time the expression is evaluated. All of this is an
-implementation detail, and does not affect the semantics of the
-language. </P
-><P
->Different operators have different requirements, for example the
-bitwise or operator only makes sense if both operands have an integer
-representation. For operators which can work with either integer or
-double precision numbers, integer arithmetic will be preferred.</P
-><P
->The following operators only accept integer operands:
-unary <TT
-CLASS="LITERAL"
->~</TT
-> (bitwise not), the shift operators
-<TT
-CLASS="LITERAL"
->&lt;&lt;</TT
-> and <TT
-CLASS="LITERAL"
->&gt;&gt;</TT
->, and the
-bitwise operators <TT
-CLASS="LITERAL"
->&#38;</TT
->, <TT
-CLASS="LITERAL"
->|</TT
-> and
-<TT
-CLASS="LITERAL"
->^</TT
->.</P
-><P
->The following operators will attempt integer arithmetic first, then
-double precision arithmetic: unary <TT
-CLASS="LITERAL"
->-</TT
->,
-the arithmetic operators <TT
-CLASS="LITERAL"
->+</TT
->, <TT
-CLASS="LITERAL"
->-</TT
->,
-<TT
-CLASS="LITERAL"
->*</TT
->, <TT
-CLASS="LITERAL"
->/</TT
->, and <TT
-CLASS="LITERAL"
->%</TT
->;
-and the comparision operators <TT
-CLASS="LITERAL"
->&lt;</TT
->,
-<TT
-CLASS="LITERAL"
->&lt;=</TT
->, <TT
-CLASS="LITERAL"
->&gt;</TT
-> and
-<TT
-CLASS="LITERAL"
->&gt;=</TT
->. </P
-><P
->The equality <TT
-CLASS="LITERAL"
->==</TT
-> and inequality
-<TT
-CLASS="LITERAL"
->!=</TT
-> operators will first attempt integer conversion
-and comparison. If that fails then double precision will be attempted
-(although arguably using these operators on double precision data is
-not sensible). As a last resort string comparison will be used.</P
-><P
->The operators <TT
-CLASS="LITERAL"
->!</TT
->, <TT
-CLASS="LITERAL"
->&#38;&#38;</TT
-> and
-<TT
-CLASS="LITERAL"
->||</TT
-> all work with boolean data. Any string that can
-be converted to the integer <TT
-CLASS="LITERAL"
->0</TT
-> or the double
-<TT
-CLASS="LITERAL"
->0.0</TT
-> is treated as false, as is the empty string or
-the constant string <TT
-CLASS="LITERAL"
->false</TT
->. Anything else is
-interpreted as true. The result is either <TT
-CLASS="LITERAL"
->0</TT
-> or
-<TT
-CLASS="LITERAL"
->1</TT
->.</P
-><P
->The conditional operator <TT
-CLASS="LITERAL"
->?&nbsp;:</TT
-> will interpret
-its first operand as a boolean. It does not perform any processing on
-the second or third operands.</P
-><P
->In practice it is rarely necessary to worry about any of these
-details. In nearly every case <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expressions just work as expected,
-and there is no need to understand the full details.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The current expression syntax does not meet all the needs of component
-writers. Some future enhancements will definitely be made, others are
-more controversial. The list includes the following:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->An option's value is determined by several different factors: whether
-or not it is loaded, whether or not it is active, whether or not it is
-enabled, and the data part. Currently there is no way of querying
-these individually. This is very significant in the context of options
-with the <TT
-CLASS="LITERAL"
->bool</TT
-> or <TT
-CLASS="LITERAL"
->booldata</TT
->
-flavors, because there is no way of distinguishing between the option
-being absent/inactive/disabled or it being enabled with a data field
-of <TT
-CLASS="LITERAL"
->0</TT
->. There should be unary operators that allow
-any of the factors to be checked.</P
-></LI
-><LI
-><P
->Only the <TT
-CLASS="LITERAL"
->==</TT
-> and <TT
-CLASS="LITERAL"
->!=</TT
-> operators can
-be used for string data. More string-related facilities are needed.</P
-></LI
-><LI
-><P
->An implies operator would be useful for many goal expression, where
-<TT
-CLASS="LITERAL"
->A&nbsp;implies&nbsp;B</TT
-> is equivalent to
-<TT
-CLASS="LITERAL"
->!A&nbsp;||B</TT
->.</P
-></LI
-><LI
-><P
->Similarly there is inadequate support for lists. On occasion it would
-be useful to write expressions involving say the list of implementors
-of a given CDL interface, for example a sensible default value could
-be the first implementor. Associated with this is a need for an
-indirection operator.</P
-></LI
-><LI
-><P
->Arguably extending the basic <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression syntax with lots of new
-operators is unnecessary, instead expressions should just support
-<SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> command substitution and then component writers could escape
-into <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> scripts for complicated operations. This has some major
-disadvantages. First, the inference engine would no longer have any
-sensible way of interpreting an expression to resolve a conflict.
-Second, the component framework's value propagation code keeps track
-of which options get referenced in which expressions and avoids
-unnecessary re-evaluation of expressions; if expressions can involve
-arbitrary <SPAN
-CLASS="APPLICATION"
->Tcl</SPAN
-> code then there is no simple way to eliminate
-unnecessary recalculations, with a potentially major impact on
-performance.</P
-></LI
-></OL
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The current implementation of the component framework uses 64 bit
-arithmetic on all host platforms. Although this is adequate for
-current target architectures, it may cause problems in future. At some
-stage it is likely that an arbitrary precision integer arithmetic
-package will be used instead.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.FUNCTIONS">Functions</H2
-><P
->CDL expressions can contain calls to a set of built-in functions
-using the usual syntax, for example;</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { !is_substr(CYGBLD_GLOBAL_CFLAGS, "-fno-rtti") }</PRE
-></TD
-></TR
-></TABLE
-><P
->The available function calls are as follows:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->get_data(option)</TT
-></DT
-><DD
-><P
->This function can be used to obtain just the data part of a loaded
-configuration option, ignoring other factors such as whether or not
-the option is active and enabled. It takes a single argument which
-should be the name of a configuration option. If the specified option
-is not loaded in the current configuration then the function returns
-0, otherwise it returns the data part. Typically this function will
-only be used in conjunction with <TT
-CLASS="FUNCTION"
->is_active</TT
-> and
-<TT
-CLASS="FUNCTION"
->is_enabled</TT
-> for fine-grained control over the
-various factors that make up an option's value.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->is_active(option)</TT
-></DT
-><DD
-><P
->This function can be used to determine whether or not a particular
-configuration option is active. It takes a single argument which
-should be the name of an option, and returns a boolean. If the
-specified option is not loaded then the function will return false.
-Otherwise it will consider the state of the option's parents and
-evaluate any <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> properties, and return the option's current
-active state. A typical use might be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { is_active(CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE) implies
-                   (CYGNUM_LIBC_MAIN_DEFAULT_STACK_SIZE &#62;= (16 * 1024)) }</PRE
-></TD
-></TR
-></TABLE
-><P
->In other words either the specified configuration option must be
-inactive, for example because the current application does not use
-any related C library or POSIX functionality, or the stack size must
-be at least 16K.</P
-><P
->The configuration system's inference engine can attempt to satisfy
-constraints involving <TT
-CLASS="FUNCTION"
->is_active</TT
-> in various
-different ways, for example by enabling or disabling parent
-components, or by examining <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> properties and manipulating
-terms in the associated expressions.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->is_enabled(option)</TT
-></DT
-><DD
-><P
->This function can be used to determine whether or not a particular
-configuration option is enabled. It takes a single argument which
-should be the name of an option, and returns a boolean. If the
-specified option is not loaded then the function will return false.
-Otherwise it will return the current boolean part of the option's
-value. The option's active or inactive state is ignored. Typically
-this function will be used in conjunction with
-<TT
-CLASS="FUNCTION"
->is_active</TT
-> and possibly
-<TT
-CLASS="FUNCTION"
->get_data</TT
-> to provide fine-grained control over the
-various factors that make up an option's value.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->is_loaded(option)</TT
-></DT
-><DD
-><P
->This function can be used to determine whether or not a particular
-configuration option is loaded. It takes a single argument which
-should be the name of an option, and returns a boolean. If the
-argument is a package then the <TT
-CLASS="FUNCTION"
->is_loaded</TT
-> function
-provides little or no extra information, for example the following two
-constraints are usually equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { CYGPKG_KERNEL }
-    requires { is_loaded(CYGPKG_KERNEL) }</PRE
-></TD
-></TR
-></TABLE
-><P
->However if the specified package is loaded but re-parented below a
-disabled component, or inactive as a result of an <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->
-property, then the first constraint would not be satisfied but the
-second constraint would. In other words the
-<TT
-CLASS="FUNCTION"
->is_loaded</TT
-> makes it possible to consider in
-isolation one of the factors that are considered when CDL expressions
-are evaluated.</P
-><P
->The configuration system's inference engine will not automatically
-load or unload packages to satisfy <TT
-CLASS="FUNCTION"
->is_loaded</TT
->
-constraints. </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->is_substr(haystack,&nbsp;needle)</TT
-></DT
-><DD
-><P
->This can be used to check whether or not a particular string is
-present in another string. It is used mainly for manipulating compiler
-flags. The function takes two arguments, both of which can be
-arbitrary expressions, and returns a boolean.</P
-><P
-><TT
-CLASS="FUNCTION"
->is_substr</TT
-> has some understanding of word
-boundaries. If the second argument starts with a space character then
-that will match either a real space or the start of the string.
-Similarly if the second argument ends with a space character then that
-will match a real space or the end of the string. For example, all of
-the following conditions are satisfied:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    is_substr("abracadabra", "abra")
-    is_substr("abracadabra", " abra")
-    is_substr("hocus pocus", " pocus")
-    is_substr("abracadabra", "abra ")</PRE
-></TD
-></TR
-></TABLE
-><P
->The first is an exact match. The second is a match because the leading
-space matches the start of the string. The third is an exact match,
-with the leading space matching an actual space. The fourth is a match
-because the trailing space matches the end of the string. However, the
-following condition is not satisfied.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    is_substr("abracadabra", " abra ")</PRE
-></TD
-></TR
-></TABLE
-><P
->This fails to match at the start of the string because the trailing
-space is not matched by either a real space or the end of the string.
-Similarly it fails to match at the end of the string.</P
-><P
->If a constraint involving <TT
-CLASS="FUNCTION"
->is_substr</TT
-> is not
-satisfied and the first argument is a reference to a configuration
-option, the inference engine will attempt to modify that option's
-value. This can be achieved either by appending the second argument to
-the current value, or by removing all occurrences of that argument
-from the current value.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { !is_substr(CYGBLD_GLOBAL_CFLAGS, " -fno-rtti ") }
-    requires { is_substr(CYGBLD_GLOBAL_CFLAGS, " -frtti ") }</PRE
-></TD
-></TR
-></TABLE
-><P
->When data is removed the leading and trailing spaces will be left. For
-example, given an initial value of
-&#60;<TT
-CLASS="VARNAME"
->CYGBLD_GLOBAL_CFLAGS</TT
-> of
-<TT
-CLASS="LITERAL"
->-g&nbsp;-fno-rtti&nbsp;-O2</TT
-> the result will be
-<TT
-CLASS="LITERAL"
->-g&nbsp;&nbsp;-O2</TT
-> rather than <TT
-CLASS="LITERAL"
->-g-O2</TT
->.</P
-><P
->If exact matches are needed, the function
-<TT
-CLASS="FUNCTION"
->is_xsubstr</TT
-> can be used instead.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->is_xsubstr(haystack,&nbsp;needle)</TT
-></DT
-><DD
-><P
->This function checks whether or not the pattern string is an exact
-substring of the string being searched. It is similar to
-<TT
-CLASS="FUNCTION"
->is_substr</TT
-> but uses exact matching only. In other
-words, leading or trailing spaces have to match exactly and will not
-match the beginning or end of the string being searched. The function
-takes two arguments, both of which can be arbitrary expressions, and
-returns a boolean. The difference between
-<TT
-CLASS="FUNCTION"
->is_substr</TT
-> and <TT
-CLASS="FUNCTION"
->is_xsubstr</TT
-> is
-illustrated by the following examples:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    cdl_option MAGIC {
-        flavor data
-        default_value { "abracadabra" }
-    }
-    &#8230;
-    requires { is_substr(MAGIC,  " abra") }
-    requires { is_xsubstr(MAGIC, " abra") }</PRE
-></TD
-></TR
-></TABLE
-><P
->The first goal will be satisfied because the leading space in the
-pattern matches the beginning of the string. The second goal will not
-be satisfied initialy because there is no exact match, so the
-inference engine is likely to update the value of
-<TT
-CLASS="VARNAME"
->MAGIC</TT
-> to <TT
-CLASS="LITERAL"
->abracadabra abra</TT
-> which
-does give an exact match.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->version_cmp(A,&nbsp;B)</TT
-></DT
-><DD
-><P
->This function is used primarily to check that a sufficiently recent
-<A
-HREF="package.versions.html"
->version</A
-> of some other package
-is being used. It takes two arguments, both of which can be arbitrary
-expressions. In practice usually one of the arguments will be a
-reference to a package and the other will be a constant version
-string. The return value is -1 if the first argument is a more recent
-version then the second, 0 if the two arguments correspond to
-identical versions, and 1 if the first argument is an older version.
-For example the following constraint can be used to indicate that the
-current package depends on kernel functionality that only became
-available in version 1.3:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { version_cmp(CYGPKG_KERNEL, "v1.3") &#60;= 0 }</PRE
-></TD
-></TR
-></TABLE
-></DD
-></DL
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At this time it is not possible to define new functions inside a CDL
-script. Instead functions can only be added at the C++ level, usually
-by extending libcdl itself. This is partly because there is more to
-CDL functions than simple evaluation: associated with most functions
-is support for the inference engine, so that if a constraint involving
-a function is not currently satisfied the system may be able to find a
-solution automatically.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.GOAL-EXPRESSION">Goal Expressions</H2
-><P
->The arguments to certain properties, notably <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->, constitute a goal expression. As with an ordinary
-expression, all of the arguments get combined and then the expression
-parser takes over. The same care has to be taken with constant strings
-and anything else that may get processed by the Tcl interpreter, so
-often a goal expression is enclosed entirely in braces and the
-expression parsing code sees just a single argument.</P
-><P
->A goal expression is basically just a sequence of ordinary
-expressions, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-               !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-               !CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT }</PRE
-></TD
-></TR
-></TABLE
-><P
->This consists of three separate expressions, all of which should
-evaluate to a non-zero result. The same expression could be written
-as: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires { CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS  &#38;&#38;
-               !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT &#38;&#38;
-               !CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT }</PRE
-></TD
-></TR
-></TABLE
-><P
->Alternatively the following would have much the same effect:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    requires !CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    requires !CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT</PRE
-></TD
-></TR
-></TABLE
-><P
->Selecting between these alternatives is largely a stylistic choice.
-The first is slightly more concise than the others. The second is more
-likely to appeal to mathematical purists. The third is more amenable
-to cutting and pasting.</P
-><P
->The result of evaluating a goal expression is a boolean. If any part
-of the goal expression evaluates to the integer <TT
-CLASS="LITERAL"
->0</TT
->
-or an equivalent string then the result is false, otherwise it is
-true. </P
-><P
->The term &#8220;goal&nbsp;expression&#8221; relates to the component
-framework's inference engine: it is a description of a goal that
-should be satisfied for a conflict-free configuration. If a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
->
-constraint is not satisfied then the inference engine will examine the
-goal expression: if there is some way of changing the configuration
-that does not introduce new conflicts and that will cause the goal
-expression to evaluate to true, the conflict can be resolved.</P
-><P
->The inference engine works with one conflict and hence one goal
-expression at a time. This means that there can be slightly different
-behavior if a constraint is specified using a single <SPAN
-CLASS="PROPERTY"
->requires</SPAN
->
-property or several different ones. Given the above example, suppose
-that none of the three conditions are satisfied. If a single goal
-expression is used then the inference engine might be able to satisfy
-only two of the three parts, but since the conflict as a whole cannot
-be resolved no part of the solution will be applied. Instead the user
-will have to resolve the entire conflict. If three separate goal
-expressions are used then the inference engine might well find
-solutions to two of them, leaving less work for the user. On the other
-hand, if a single goal expression is used then the inference engine
-has a bit more information to work with, and it might well find a
-solution to the entire conflict where it would be unable to find
-separate solutions for the three parts. Things can get very
-complicated, and in general component writers should not worry about
-the subtleties of the inference engine and how to manipulate its
-behavior. </P
-><P
->It is possible to write ambiguous goal expressions, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGNUM_LIBC_RAND_SEED -CYGNUM_LIBC_RAND_TRACE_LEVEL &gt; 5</PRE
-></TD
-></TR
-></TABLE
-><P
->This could be parsed in two ways:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires ((CYGNUM_LIBC_RAND_SEED - CYGNUM_LIBC_RAND_TRACE_LEVEL) &gt; 5)
-    requires CYGNUM_LIBC_RAND_SEED &amp;&amp; ((-CYGNUM_LIBC_RAND_TRACE_LEVEL) &gt; 5)</PRE
-></TD
-></TR
-></TABLE
-><P
->The goal expression parsing code will always use the largest ordinary
-expression for each goal, so the first interpretation will be used.
-In such cases it is a good idea to use brackets and avoid possible
-confusion. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="LANGUAGE.LIST-EXPRESSION">List Expressions</H2
-><P
->The arguments to the <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property constitute a goal
-expression. As with an ordinary and goal expressions, all of the
-arguments get combined and then the expression parser takes over. The
-same care has to be taken with constant strings and anything else that
-may get processed by the Tcl interpreter, so often a list expression
-is enclosed entirely in braces and the expression parsing code sees
-just a single argument.</P
-><P
->Most list expressions take one of two forms:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    legal_values &lt;expr1&gt; &lt;expr2&gt; &lt;expr3&gt; ...
-    legal_values &lt;expr1&gt; to &lt;expr2&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="LITERAL"
->expr1</TT
->, <TT
-CLASS="LITERAL"
->expr2</TT
-> and so on are
-ordinary expressions. Often these will be constants or references to
-calculated options in the architectural HAL package, but it is
-possible to use arbitrary expressions when necessary. The first syntax
-indicates a list of possible values, which need not be numerical. The
-second syntax indicates a numerical range: both sides of the
-<TT
-CLASS="LITERAL"
->to</TT
-> must evaluate to a numerical value; if either
-side involves a floating point number then any floating point number
-in that range is legal; otherwise only integer values are legal;
-ranges are inclusive, so <TT
-CLASS="LITERAL"
->4</TT
-> is a valid value given a
-list expression <TT
-CLASS="LITERAL"
->1&nbsp;to&nbsp;</TT
->; if one or both
-sides of the <TT
-CLASS="LITERAL"
->to</TT
-> does not evaluate to a numerical
-value then this will result in a run-time conflict. The following
-examples illustrate these possibilities:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    legal_values { "red" "green" "blue" }
-    legal_values 1 2 4 8 16
-    legal_values 1 to CYGARC_MAXINT
-    legal_values 1.0 to 2.0</PRE
-></TD
-></TR
-></TABLE
-><P
->It is possible to combine the two syntaxes, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    legal_values 1 2 4 to CYGARC_MAXINT -1024 -20.0 to -10</PRE
-></TD
-></TR
-></TABLE
-><P
->This indicates three legal values <TT
-CLASS="LITERAL"
->1</TT
->,
-<TT
-CLASS="LITERAL"
->2</TT
-> and <TT
-CLASS="LITERAL"
->-1024</TT
->, one
-integer range <TT
-CLASS="LITERAL"
->4&nbsp;to&nbsp;CYGARC_MAXINT</TT
->, and one
-floating point range <TT
-CLASS="LITERAL"
->-20.0&nbsp;to&nbsp;-10.0</TT
->. In
-practice such list expressions are rarely useful.</P
-><P
->The identifier <TT
-CLASS="VARNAME"
->to</TT
-> is not reserved, so it is
-possible to have a configuration option with that name (although it
-violates every naming convention). Using that option in a list
-expression may however give unexpected results.</P
-><P
->The graphical configuration tool uses the <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> list
-expression to determine how best to let users manipulate the option's
-value. Different widgets will be appropriate for different lists, so
-<TT
-CLASS="LITERAL"
->{&nbsp;"red"&nbsp;"green"&nbsp;"blue"&nbsp;}</TT
-> might
-involve a pull-down option menu, and
-<TT
-CLASS="LITERAL"
->1&nbsp;to&nbsp;16</TT
-> could involve a spinner. The
-exact way in which <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> lists get mapped on to GUI widgets
-is not defined and is subject to change at any time.</P
-><P
->As with goal expressions, list expressions can be ambiguous. Consider
-the following hypothetical example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    legal_values CYGNUM_LIBC_RAND_SEED -CYGNUM_LIBC_RAND_TRACE_LEVEL</PRE
-></TD
-></TR
-></TABLE
-><P
->This could be parsed in two ways:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    legal_values (CYGNUM_LIBC_RAND_SEED - CYGNUM_LIBC_RAND_TRACE_LEVEL)
-    legal_values (CYGNUM_LIBC_RAND_SEED) (-CYGNUM_LIBC_RAND_TRACE_LEVEL)</PRE
-></TD
-></TR
-></TABLE
-><P
->Both are legal. The list expression parsing code will always use the
-largest ordinary expression for each element, so the first
-interpretation will be used. In cases like this it is a good idea to
-use brackets and avoid possible confusion.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="language.tcl.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.interface.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->An Introduction to Tcl</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Interfaces</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/overview.approaches.html b/doc/html/cdl-guide/overview.approaches.html
deleted file mode 100644 (file)
index 4722015..0000000
+++ /dev/null
@@ -1,300 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Approaches to Configurability</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Overview"
-HREF="overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Why Configurability?"
-HREF="overview.configurability.html"><LINK
-REL="NEXT"
-TITLE="Degrees of Configurability"
-HREF="overview.degress.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="overview.configurability.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="overview.degress.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="OVERVIEW.APPROACHES">Approaches to Configurability</H1
-><P
->The purpose of configurability is to control the behavior of
-components. A scheduler component may or may not support time slicing;
-it may or may not support multiple priorities; it may or may not
-perform error checking on arguments passed to the scheduler routines.
-In the context of a desktop application a button widget may contain
-some text or it may contain a picture; the text may be displayed in a
-variety of fonts; the foreground and background color may vary. When
-an application uses a component there must be some way of specifying
-the desired behavior. The component writer has no way of knowing in
-advance exactly how a particular component will end up being used.</P
-><P
->One way to control the behavior is at run time. The application
-creates an instance of a button object, and then instructs this object
-to display either text or a picture. No special effort by the
-application developer is required, since a button can always support
-all desired behavior. There is of course a major disadvantage in
-terms of the size of the final application image: the code that gets
-linked with the application has to provide support for all possible
-behavior, even if the application does not require it.</P
-><P
->Another approach is to control the behavior at link-time, typically
-by using inheritance in an object-oriented language. The button
-library provides an abstract base class <TT
-CLASS="CLASSNAME"
->Button</TT
->
-and derived classes <TT
-CLASS="CLASSNAME"
->TextButton</TT
-> and
-<TT
-CLASS="CLASSNAME"
->PictureButton</TT
->. If an application only uses text
-buttons then it will only create objects of type
-<TT
-CLASS="CLASSNAME"
->TextButton</TT
->, and the code for the
-<TT
-CLASS="CLASSNAME"
->PictureButton</TT
-> class does not get used. In
-many cases this approach works rather well and reduces the final image
-size, but there are limitations. The main one is that you can only
-have so many derived classes before the system gets unmanageable: a
-derived class
-<TT
-CLASS="CLASSNAME"
->TextButtonUsingABorderWidthOfOnePlusAWhiteBackgroundAndBlackForegroundAndATwelvePointTimesFontAndNoErrorCheckingOrAssertions</TT
->
-is not particularly sensible as far as most application developers are
-concerned.</P
-><P
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component framework allows the behavior of components to
-be controlled at an even earlier time: when the component source code
-gets compiled and turned into a library. The button component could
-provide options, for example an option that only text buttons need to
-be supported. The component gets built and becomes part of a library
-intended specifically for the application, and the library will
-contain only the code that is required by this application and nothing
-else. A different application with different requirements would need
-its own version of the library, configured separately.</P
-><P
->In theory compile-time configurability should give the best possible
-results in terms of code size, because it allows code to be controlled
-at the individual statement level rather than at the function or
-object level. Consider an example more closely related to embedded
-systems, a package to support multi-threading. A standard routine
-within such a package allows applications to kill threads
-asynchronously: the POSIX routine for this is
-<TT
-CLASS="FUNCTION"
->pthread_cancel</TT
->; the equivalent routine in &micro;ITRON
-is <TT
-CLASS="FUNCTION"
->ter_tsk</TT
->. These routines themselves tend to
-involve a significant amount of code, but that is not the real
-problem: other parts of the system require extra code and data for the
-kill routine to be able to function correctly. For example if a thread
-is blocked while waiting on a mutex and is killed off by another
-thread then the kill operation may have to do two things: remove the
-thread from the mutex's queue of waiting threads; and undo the
-effects, if any, of priority inheritance. The implementation requires
-extra fields in the thread data structure so that the kill routine
-knows about the thread's current state, and extra code in the mutex
-routines to fill in and clear these extra fields correctly.</P
-><P
->Most embedded applications do not require the ability to kill off a
-thread asynchronously, and hence the kill routine will not get linked
-into the final application image. Without compile-time configurability
-this would still mean that the mutex code and similar parts of the
-system contain code and data that serve no useful purpose in this
-application. The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> approach allows the user to select that the
-thread kill functionality is not required, and all the components can
-adapt to this at compile-time. For example the code in the mutex lock
-routine contains statements to support the killing of threads, but
-these statements will only get compiled in if that functionality is
-required. The overall result is that the final application image
-contains only the code and data that is really needed for the
-application to work, and nothing else.</P
-><P
->Of course there are complications. To return to the button example,
-the application code might only use text buttons directly, but it
-might also use some higher-level widget such as a file selector and
-this file selector might require buttons with pictures. Therefore the
-button code must still be compiled to support pictures as well as
-text. The configuration tools must be aware of the dependencies
-between components and ensure that the internal constraints are met,
-as well as the external requirements of the application code. An area
-of particular concern is conflicting requirements: a button component
-might be written in such a way that it can only support either text
-buttons or picture buttons, but not both in one application; this
-would represent a weakness in the component itself rather than in the
-component framework as a whole.</P
-><P
->Compile-time configurability is not intended to replace the other
-approaches but rather to complement them. There will be times when
-run-time selection of behavior is desirable: for example an
-application may need to be able to change the baud rate of a serial
-line, and the system must then provide a way of doing this at
-run-time. There will also be times when link-time selection is
-desirable: for example a C library might provide two different random
-number routines <TT
-CLASS="FUNCTION"
->rand</TT
-> and
-<TT
-CLASS="FUNCTION"
->lrand48</TT
->; these do not affect other code so there
-is no good reason for the C library component not to provide both of
-these, and allow the application code to use none, one, or both of
-them as appropriate; any unused functions will just get eliminated at
-link-time. Compile-time selection of behavior is another option, and
-it can be the most powerful one of the three and the best suited to
-embedded systems development.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="overview.configurability.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="overview.degress.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Why Configurability?</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Degrees of Configurability</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/overview.configurability.html b/doc/html/cdl-guide/overview.configurability.html
deleted file mode 100644 (file)
index ea6d302..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Why Configurability?</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Overview"
-HREF="overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Overview"
-HREF="overview.html"><LINK
-REL="NEXT"
-TITLE="Approaches to Configurability"
-HREF="overview.approaches.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="overview.approaches.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="OVERVIEW.CONFIGURABILITY">Why Configurability?</H1
-><P
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component framework places a great deal of emphasis on
-configurability. The fundamental goal is to allow large parts of
-embedded applications to be constructed from re-usable software
-components, which does not a priori require that those components be
-highly configurable. However embedded application development often
-involves some serious constraints.</P
-><P
->Many embedded applications have to work with very little memory, to
-keep down manufacturing costs. The final application image that will
-get blown into EPROM's or used to manufacture ROMs should contain only
-the code that is absolutely necessary for the application to work, and
-nothing else. If a few tens of kilobytes are added unnecessarily to a
-typical desktop application then this is regrettable, but is quite
-likely to go unnoticed. If an embedded application does not fit on the
-target hardware then the problem is much more serious. The component
-framework must allow users to configure the components so that any
-unnecessary functionality gets removed.</P
-><P
->Many embedded applications need deterministic behavior so that they
-can meet real-time requirements. Such deterministic behavior can
-often be provided, but at a cost in terms of code size, slower
-algorithms, and so on. Other applications have no such real-time
-requirements, or only for a small part of the overall system, and the
-bulk of the system should not suffer any penalties. Again the
-component framework must allow the users control over the timing
-behavior of components.</P
-><P
->Embedded systems tend to be difficult to debug. Even when it is
-possible to get information out of the target hardware by means other
-than flashing an LED, the more interesting debugging problems are
-likely to be timing-related and hence very hard to reproduce and track
-down. The re-usable components can provide debugging assistance in
-various ways. They can provide functionality that can be exploited by
-source level debuggers such as gdb, for example per-thread debugging
-information. They can also contain various assertions so that problems
-can be detected early on, tracing mechanisms to figure out what
-happened before the assertion failure, and so on. Of course all of
-these involve overheads, especially code size, and affect the timing.
-Allowing users to control which debugging features are enabled for any
-given application build is very desirable.</P
-><P
->However, although it is desirable for re-usable components to provide
-appropriate configuration options this is not required. It is possible
-to produce a package which does not provide a single configuration
-option&nbsp;&#8212;&nbsp;although the user still gets to choose
-whether or not to use the package. In such cases it is still necessary
-to provide a minimal CDL script, but its main purpose would be to
-integrate the package with the component framework's build system.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="overview.approaches.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Overview</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Approaches to Configurability</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/overview.degress.html b/doc/html/cdl-guide/overview.degress.html
deleted file mode 100644 (file)
index 36eb267..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Degrees of Configurability</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Overview"
-HREF="overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Approaches to Configurability"
-HREF="overview.approaches.html"><LINK
-REL="NEXT"
-TITLE="Warnings"
-HREF="overview.warning.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="overview.approaches.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="overview.warning.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="OVERVIEW.DEGRESS">Degrees of Configurability</H1
-><P
->Components can support configurability in varying degrees. It is not
-necessary to have any configuration options at all, and the only user
-choice is whether or not to load a particular package. Alternatively
-it is possible to implement highly-configurable code. As an example
-consider a typical facility that is provided by many real-time
-kernels, mutex locks. The possible configuration options include:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->If no part of the application and no other component requires mutexes
-then there is no point in having the mutex code compiled into a
-library at all. This saves having to compile the code. In addition
-there will never be any need for the user to configure the detailed
-behavior of mutexes. Therefore the presence of mutexes is a
-configuration option in itself.</P
-></LI
-><LI
-><P
->Even if the application does make use of mutexes directly or
-indirectly, this does not mean that all mutex functions have to be
-included. The minimum functionality consists of lock and unlock
-functions. However there are variants of the locking primitive such as
-try-lock and try-with-timeout which may or may not be needed.</P
-><P
->Generally it will be harmless to compile the try-lock function even if
-it is not actually required, because the function will get eliminated
-at link-time. Some users might take the view that the try-lock
-function should never get compiled in unless it is actually needed, to
-reduce compile-time and disk usage. Other users might argue that there
-are very few valid uses for a try-lock function and it should not be
-compiled by default to discourage incorrect uses. The presence of a
-try-lock function is a possible configuration option, although it may
-be sensible to default it to true.</P
-><P
->The try-with-timeout variant is more complicated because it adds a
-dependency: the mutex code will now rely on some other component to
-provide a timer facility. To make things worse the presence of this
-timer might impact other components, for example it may now be
-necessary to guard against timer interrupts, and thus have an
-insidious effect on code size. The presence of a lock-with-timeout
-function is clearly a sensible configuration option, but the default
-value is less obvious. If the option is enabled by default then the
-final application image may end up with code that is not actually
-essential. If the option is disabled by default then users will have
-to enable the option somehow in order to use the function, implying
-more effort on the part of the user. One possible approach is to
-calculate the default value based on whether or not a timer component
-is present anyway.</P
-></LI
-><LI
-><P
->The application may or may not require the ability to create and
-destroy mutexes dynamically. For most embedded systems it is both less
-error-prone and more efficient to create objects like mutexes
-statically. Dynamic creation of mutexes can be implemented using a
-pre-allocated pool of mutex objects, involving some extra code to
-manipulate the pool and an additional configuration option to define
-the size of the pool. Alternatively it can be implemented using a
-general-purpose memory allocator, involving quite a lot of extra code
-and configuration options. However this general-purpose memory
-allocator may be present anyway to support the application itself or
-some other component. The ability to create and destroy mutexes
-dynamically is a configuration option, and there may not be a sensible
-default that is appropriate for all applications.</P
-></LI
-><LI
-><P
->An important issue for mutex locks is the handling of priority
-inversion, where a high priority thread is prevented from running
-because it needs a lock owned by a lower priority thread. This is only
-an issue if there is a scheduler with multiple priorities: some
-systems may need multi-threading and hence synchronization primitives,
-but a single priority level may suffice. If priority inversion is a
-theoretical possibility then the application developer may still want
-to ignore it because the application has been designed such that the
-problem cannot arise in practice. Alternatively the developer may want
-some sort of exception raised if priority inversion does occur,
-because it should not happen but there may still be bugs in the code.
-If priority inversion can occur legally then there are three main ways
-of handling it: priority ceilings, priority inheritance, and ignoring
-the problem. Priority ceilings require little code but extra effort on
-the part of the application developer. Priority inheritance requires
-more code but is automatic. Ignoring priority inversion may or may not
-be acceptable, depending on the application and exactly when priority
-inversion can occur. Some of these choices involve additional
-configuration options, for example there are different ways of raising
-an exception, and priority inheritance may or may not be applied
-recursively.</P
-></LI
-><LI
-><P
->As a further complication some mutexes may be hidden inside a
-component rather than being an explicit part of the application. For
-example, if the C library is configured to provide a
-<TT
-CLASS="FUNCTION"
->malloc</TT
-> call then there may be an associated mutex
-to make the function automatically thread-safe, with no need for
-external locking. In such cases the memory allocation component of the
-C library can impose a constraint on the kernel, requiring that
-mutexes be provided. If the user attempts to disable mutexes anyway
-then the configuration tools will report a conflict.</P
-></LI
-><LI
-><P
->The mutex code should contain some general debugging code such as
-assertions and tracing. Usually such debug support will be enabled or
-disabled at a coarse level such as the entire system or everything
-inside the kernel, but sometimes it will be desirable to enable the
-support more selectively. One reason would be memory requirements: the
-target may not have enough memory to hold the system if all debugging
-is enabled. Another reason is if most of the system is working but
-there are a few problems still to resolved; enabling debugging in the
-entire system might change the system's timing behavior too much, but
-enabling some debug options selectively can still be useful. There
-should be configuration options to allow specific types of debugging
-to be enabled at a fine-grain, but with default settings inherited
-from an enclosing component or from global settings.</P
-></LI
-><LI
-><P
->The mutex code may contain specialized code to interact
-with a debugging tool running on the host. It should be
-possible to enable or disable this debugging code, and there may
-be additional configuration options controlling the detailed
-behavior.</P
-></LI
-></OL
-><P
->Altogether there may be something like ten to twenty configuration
-options that are specific to the mutex code. There may be a similar
-number of additional options related to assertions and other debug
-facilities. All of the options should have sensible default values,
-possibly fixed, possibly calculated depending on what is happening
-elsewhere in the configuration. For example the default setting for
-an assertion option should generally inherit from a kernel-wide
-assertion control option, which in turn inherits from a global option.
-This allows users to enable or disable assertions globally or at
-a more fine-grained level, as desired.</P
-><P
->Different components may be configurable to different degrees, ranging
-from no options at all to the fine-grained configurability of the
-above mutex example (or possibly even further). It is up to component
-writers to decide what options should be provided and how best to
-serve the needs of application developers who want to use that
-component.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="overview.approaches.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="overview.warning.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Approaches to Configurability</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Warnings</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/overview.html b/doc/html/cdl-guide/overview.html
deleted file mode 100644 (file)
index 21c09eb..0000000
+++ /dev/null
@@ -1,623 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Overview</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="NEXT"
-TITLE="Why Configurability?"
-HREF="overview.configurability.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="overview.configurability.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="OVERVIEW">Chapter 1. Overview</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="overview.html#OVERVIEW.TERMINOLOGY"
->Terminology</A
-></DT
-><DT
-><A
-HREF="overview.configurability.html"
->Why Configurability?</A
-></DT
-><DT
-><A
-HREF="overview.approaches.html"
->Approaches to Configurability</A
-></DT
-><DT
-><A
-HREF="overview.degress.html"
->Degrees of Configurability</A
-></DT
-><DT
-><A
-HREF="overview.warning.html"
->Warnings</A
-></DT
-></DL
-></DIV
-><P
-><SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> was designed from the very beginning as a configurable
-component architecture. The core <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> system consists of a number of
-different components such as the kernel, the C library, an
-infrastructure package. Each of these provides a large number of
-configuration options, allowing application developers to build a
-system that matches the requirements of their particular application.
-To manage the potential complexity of multiple components and lots of
-configuration options, <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> comes with a component framework: a
-collection of tools specifically designed to support configuring
-multiple components. Furthermore this component framework is
-extensible, allowing additional components to be added to the system
-at any time.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="OVERVIEW.TERMINOLOGY">Terminology</H1
-><P
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component architecture involves a number of key concepts.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.FRAMEWORK">Component Framework</H2
-><P
->The phrase <SPAN
-CLASS="phrase"
-><SPAN
-CLASS="PHRASE"
->component framework</SPAN
-></SPAN
-> is used to describe
-the collection of tools that allow users to configure a system and
-administer a component repository. This includes the <SPAN
-CLASS="APPLICATION"
->ecosconfig</SPAN
-> command line tool, the
-graphical configuration tool, and the package administration tool.
-Both the command line and graphical tools are based on a single
-underlying library, the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> library.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.OPTION">Configuration Option</H2
-><P
->The option is the basic unit of configurability. Typically each option
-corresponds to a single choice that a user can make. For example there
-is an option to control whether or not assertions are enabled, and the
-kernel provides an option corresponding to the number of scheduling
-priority levels in the system. Options can control very small amounts
-of code such as whether or not the C library's
-<TT
-CLASS="FUNCTION"
->strtok</TT
-> gets inlined. They can also control quite
-large amounts of code, for example whether or not the
-<TT
-CLASS="FUNCTION"
->printf</TT
-> supports floating point conversions.</P
-><P
->Many options are straightforward, and the user only gets to choose
-whether the option is enabled or disabled. Some options are more
-complicated, for example the number of scheduling priority levels is a
-number that should be within a certain range. Options should always
-start off with a sensible default setting, so that it is not necessary
-for users to make hundreds of decisions before any work can start on
-developing the application. Once the application is running the
-various configuration options can be used to tune the system for the
-specific needs of the application.</P
-><P
->The component framework allows for options that are not directly
-user-modifiable. Consider the case of processor endianness: some
-processors are always big-endian or always little-endian, while with
-other processors there is a choice. Depending on the user's choice of
-target hardware, endianness may or may not be user-modifiable.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.COMPONENT">Component</H2
-><P
->A component is a unit of functionality such as a particular kernel
-scheduler or a device driver for a specific device. A component is
-also a configuration option in that users may want to enable
-or disable all the functionality in a component. For example, if a
-particular device on the target hardware is not going to be used by
-the application, directly or indirectly, then there is no point in
-having a device driver for it. Furthermore disabling the device driver
-should reduce the memory requirements for both code and data.</P
-><P
->Components may contain further configuration options. In the case of a
-device driver, there may be options to control the exact behavior of
-that driver. These will of course be irrelevant if the driver as a
-whole is disabled. More generally options and components live in a
-hierarchy, where any component can contain options specific to that
-component and further sub-components. It is possible to view the
-entire <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> kernel as one big component, containing sub-components
-for scheduling, exception handling, synchronization primitives, and so
-on. The synchronization primitives component can contain further
-sub-components for mutexes, semaphores, condition variables, event
-flags, and so on. The mutex component can contain configuration
-options for issues like priority inversion support.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.PACKAGE">Package</H2
-><P
->A package is a special type of component. Specifically, a package is
-the unit of distribution of components. It is possible to create a
-distribution file for a package containing all of the source code,
-header files, documentation, and other relevant files. This
-distribution file can then be installed using the appropriate tool.
-Afterwards it is possible to uninstall that package, or to install a
-later version. The core <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> distribution comes with a number of
-packages such as the kernel and the infrastructure. Other packages
-such as network stacks can come from various different sources and can
-be installed alongside the core distribution.</P
-><P
->Packages can be enabled or disabled, but the user experience is a
-little bit different. Generally it makes no sense for the tools to
-load the details of every single package that has been installed. For
-example, if the target hardware uses an ARM processor then there is no
-point in loading the HAL packages for other architectures and
-displaying choices to the user which are not relevant. Therefore
-enabling a package means loading its configuration data into the
-appropriate tool, and disabling a package is an unload operation. In
-addition, packages are not just enabled or disabled: it is also
-possible to select the particular version of a package that should be
-used.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.CONFIGURATION">Configuration</H2
-><P
->A configuration is a collection of user choices. The various
-tools that make up the component framework deal with entire
-configurations. Users can create a new configuration, output a
-savefile (by default <TT
-CLASS="FILENAME"
->ecos.ecc</TT
->), manipulate a
-configuration, and use a configuration to generate a build tree prior
-to building <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> and any other packages that have been selected.
-A configuration includes details such as which packages have been
-selected, in addition to finer-grained information such as which
-options in those packages have been enabled or disabled by the user. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.TARGET">Target</H2
-><P
->The target is the specific piece of hardware on which the application
-is expected to run. This may be an off-the-shelf evaluation board, a
-piece of custom hardware intended for a specific application, or it
-could be something like a simulator. One of the steps when creating a
-new configuration is need to specify the target. The component
-framework will map this on to a set of packages that are used to
-populate the configuration, typically HAL and device driver packages,
-and in addition it may cause certain options to be changed from their
-default settings to something more appropriate for the
-specified target.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.TEMPLATE">Template</H2
-><P
->A template is a partial configuration, aimed at providing users with
-an appropriate starting point. <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> is shipped with a small number
-of templates, which correspond closely to common ways of using the
-system. There is a minimal template which provides very little
-functionality, just enough to bootstrap the hardware and then jump
-directly to application code. The default template adds additional
-functionality, for example it causes the kernel and C library packages
-to be loaded as well. The uitron template adds further functionality
-in the form of a &micro;ITRON compatibility layer. Creating a new
-configuration typically involves specifying a template as well as a
-target, resulting in a configuration that can be built and linked with
-the application code and that will run on the actual hardware. It is
-then possible to fine-tune configuration options to produce something
-that better matches the specific requirements of the application.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.PROPERTIES">Properties</H2
-><P
->The component framework needs a certain amount of information about
-each option. For example it needs to know what the legal values are,
-what the default should be, where to find the on-line documentation if
-the user needs to consult that in order to make a decision, and so on.
-These are all properties of the option. Every option (including
-components and packages) consists of a name and a set of properties.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.CONSEQUENCES">Consequences</H2
-><P
->Choices must have consequences. For an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> configuration the main
-end product is a library that can be linked with application code, so
-the consequences of a user choice must affect the build process. This
-happens in two main ways. First, options can affect which files get
-built and end up in the library. Second, details of the current option
-settings get written into various configuration header files using C
-preprocessor <TT
-CLASS="LITERAL"
->#define</TT
-> directives, and package source
-code can <TT
-CLASS="LITERAL"
->#include</TT
-> these configuration headers and
-adapt accordingly. This allows options to affect a package at a very
-fine grain, at the level of individual lines in a source file if
-desired. There may be other consequences as well, for example there
-are options to control the compiler flags that get used during the
-build process.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.CONSTRAINTS">Constraints</H2
-><P
->Configuration choices are not independent. The C library can provide
-thread-safe implementations of functions like
-<TT
-CLASS="FUNCTION"
->rand</TT
->, but only if the kernel provides support for
-per-thread data. This is a constraint: the C library option has a
-requirement on the kernel. A typical configuration involves a
-considerable number of constraints, of varying complexity: many
-constraints are straightforward, option <TT
-CLASS="LITERAL"
->A</TT
-> requires
-option <TT
-CLASS="LITERAL"
->B</TT
->, or option <TT
-CLASS="LITERAL"
->C</TT
-> precludes
-option <TT
-CLASS="LITERAL"
->D</TT
->. Other constraints can be more
-complicated, for example option <TT
-CLASS="LITERAL"
->E</TT
-> may require the
-presence of a kernel scheduler but does not care whether it is the
-bitmap scheduler, the mlqueue scheduler, or something else.</P
-><P
->Another type of constraint involves the values that can be used for
-certain options. For example there is a kernel option related to the
-number of scheduling levels, and there is a legal values constraint on
-this option: specifying zero or a negative number for the number of
-scheduling levels makes no sense.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.CONFLICTS">Conflicts</H2
-><P
->As the user manipulates options it is possible to end up with an
-invalid configuration, where one or more constraints are not
-satisfied. For example if kernel per-thread data is disabled but the C
-library's thread-safety options are left enabled then there are
-unsatisfied constraints, also known as conflicts. Such conflicts will
-be reported by the configuration tools. The presence of conflicts does
-not prevent users from attempting to build <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->, but the
-consequences are undefined: there may be compile-time failures, there
-may be link-time failures, the application may completely fail to run,
-or the application may run most of the time but once in a while there
-will be a strange failure&#8230; Typically users will want to resolve
-all conflicts before continuing.</P
-><P
->To make things easier for the user, the configuration tools contain an
-inference engine. This can examine a conflict in a particular
-configuration and try to figure out some way of resolving the
-conflict. Depending on the particular tool being used, the inference
-engine may get invoked automatically at certain times or the user may
-need to invoke it explicitly. Also depending on the tool, the
-inference engine may apply any solutions it finds automatically or it
-may request user confirmation.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.CDL">CDL</H2
-><P
->The configuration tools require information about the various options
-provided by each package, their consequences and constraints, and
-other properties such as the location of on-line documentation. This
-information has to be provided in the form of <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts. CDL
-is short for Component Definition Language, and is specifically
-designed as a way of describing configuration options.</P
-><P
->A typical package contains the following:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Some number of source files which will end up in a library. The
-application code will be linked with this library to produce an
-executable. Some source files may serve other purposes, for example to
-provide a linker script.</P
-></LI
-><LI
-><P
->Exported header files which define the interface provided by the
-package. </P
-></LI
-><LI
-><P
->On-line documentation, for example reference pages for each exported
-function. </P
-></LI
-><LI
-><P
->Some number of test cases, shipped in source format, allowing users to
-check that the package is working as expected on their particular
-hardware and in their specific configuration.</P
-></LI
-><LI
-><P
->One or more <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts describing the package to the configuration
-system.</P
-></LI
-></OL
-><P
->Not all packages need to contain all of these. For example some
-packages such as device drivers may not provide a new interface,
-instead they just provide another implementation of an existing
-interface. However all packages must contain a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script that
-describes the package to the configuration tools.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="CONCEPTS.TERMINOLOGY.REPO">Component Repository</H2
-><P
->All <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> installations include a component repository. This is a
-directory structure where all the packages get installed. The
-component framework comes with an administration tool that allows new
-packages or new versions of a package to be installed, old packages to
-be removed, and so on. The component repository includes a simple
-database, maintained by the administration tool, which contains
-details of the various packages.</P
-><P
->Generally application developers do not need to modify anything inside
-the component repository, except by means of the administration tool.
-Instead their work involves separate build and install trees. This
-allows the component repository to be treated as a read-only resource
-that can be shared by multiple projects and multiple users. Component
-writers modifying one of the packages do need to manipulate files in
-the component repository.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="overview.configurability.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Why Configurability?</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/overview.warning.html b/doc/html/cdl-guide/overview.warning.html
deleted file mode 100644 (file)
index 0849c2b..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Warnings</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Overview"
-HREF="overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Degrees of Configurability"
-HREF="overview.degress.html"><LINK
-REL="NEXT"
-TITLE="Package Organization"
-HREF="package.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="overview.degress.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="package.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="OVERVIEW.WARNING">Warnings</H1
-><P
->Large parts of <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> were developed concurrently with the development
-of the configuration technology, or in some cases before design work
-on that technology was complete. As a consequence the various <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-packages often make only limited use of the available functionality.
-This situation is expected to change over time. It does mean that many
-of the descriptions in this guide will not correspond exactly to how
-the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages work right now, but rather to how they could work.
-Some of the more extreme discrepancies such as the location of on-line
-documentation in the component repository will be mentioned in the
-appropriate places in the guide.</P
-><P
->A consequence of this is that developers of new components can look at
-existing <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts for examples, and discover discrepancies
-between what is recommended in this guide and what actually happens at
-present. In such cases this guide should be treated as authoritative.</P
-><P
->It is also worth noting that the current component framework is not
-finished. Various parts of this guide will refer to possible changes
-and enhancements in future versions. Examining the source code of the
-configuration tools may reveal hints about other likely developments,
-and there are many more possible enhancements which only exist at a
-conceptual level right now.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="overview.degress.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="package.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Degrees of Configurability</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Package Organization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/package.contents.html b/doc/html/cdl-guide/package.contents.html
deleted file mode 100644 (file)
index b0fcc59..0000000
+++ /dev/null
@@ -1,1055 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Package Contents and Layout</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Package Organization"
-HREF="package.html"><LINK
-REL="PREVIOUS"
-TITLE="Package Versioning"
-HREF="package.versions.html"><LINK
-REL="NEXT"
-TITLE="Making a Package Distribution"
-HREF="package.distrib.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="package.versions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. Package Organization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="package.distrib.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PACKAGE.CONTENTS">Package Contents and Layout</H1
-><P
->A typical package contains the following:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Some number of source files which will end up in a library. The
-application code will be linked with this library to produce an
-executable. Some source files may serve other purposes, for example to
-provide a linker script.</P
-></LI
-><LI
-><P
->Exported header files which define the interface provided by the
-package. </P
-></LI
-><LI
-><P
->On-line documentation, for example reference pages for each exported
-function. </P
-></LI
-><LI
-><P
->Some number of test cases, shipped in source format, allowing users to
-check that the package is working as expected on their particular
-hardware and in their specific configuration.</P
-></LI
-><LI
-><P
->One or more <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts describing the package to the configuration
-system.</P
-></LI
-></OL
-><P
->It is also conventional to have a per-package
-<TT
-CLASS="FILENAME"
->ChangeLog</TT
-> file used to keep track of changes to
-that package. This is especially valuable to end users of the package
-who may not have convenient access to the source code control system
-used to manage the master copy of the package, and hence cannot find
-out easily what has changed. Often it can be very useful to the main
-developers as well.</P
-><P
->Any given packages need not contain all of these. It is compulsory to
-have at least one <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script describing the package, otherwise the
-component framework would be unable to process it. Some packages may
-not have any source code: it is possible to have a package that merely
-defines a common interface which can then be implemented by several
-other packages, especially in the context of device drivers; however
-it is still common to have some code in such packages to avoid
-replicating shareable code in all of the implementation packages.
-Similarly it is possible to have a package with no exported header
-files, just source code that implements an existing interface: for
-example an ethernet device driver might just implement a standard
-interface and not provide any additional functionality. Packages do
-not need to come with any on-line documentation, although this may
-affect how many people will want to use the package. Much the same
-applies to per-package test cases.</P
-><P
->The component framework has a recommended per-package directory layout
-which splits the package contents on a functional basis:</P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN302"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="package.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->For example, if a package has an <TT
-CLASS="FILENAME"
->include</TT
-> sub-directory then the component
-framework will assume that all header files in and below that
-directory are exported header files and will do the right thing at
-build time. Similarly if there is <SPAN
-CLASS="PROPERTY"
->doc</SPAN
-> property indicating the
-location of on-line documentation then the component framework will
-first look in the <TT
-CLASS="FILENAME"
->doc</TT
->
-sub-directory.</P
-><P
->This directory layout is just a guideline, it is not enforced by the
-component framework. For simple packages it often makes more sense to
-have all of the files in just one directory. For example a package
-could just contain the files <TT
-CLASS="FILENAME"
->hello.cxx</TT
->,
-<TT
-CLASS="FILENAME"
->hello.h</TT
->, <TT
-CLASS="FILENAME"
->hello.html</TT
-> and
-<TT
-CLASS="FILENAME"
->hello.cdl</TT
->. By default
-<TT
-CLASS="FILENAME"
->hello.h</TT
-> will be treated as an exported header
-file, although this can be overridden with the <A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
-> property. Assuming
-there is a <SPAN
-CLASS="PROPERTY"
->doc</SPAN
-> property referring to <TT
-CLASS="FILENAME"
->hello.html</TT
->
-and there is no <TT
-CLASS="FILENAME"
->doc</TT
->
-sub-directory then the tools will search for this file relative to the
-package's top-level and everything will just work. Much the same
-applies to <TT
-CLASS="FILENAME"
->hello.cxx</TT
-> and
-<TT
-CLASS="FILENAME"
->hello.cdl</TT
->. </P
-><DIV
-CLASS="TIP"
-><BLOCKQUOTE
-CLASS="TIP"
-><P
-><B
->Tip: </B
->Older versions of the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> build system only supported packages that
-followed the directory structure exactly. Hence certain core packages
-such as <TT
-CLASS="FILENAME"
->error</TT
-> implement the full directory
-structure, even though that is a particularly simple package and the
-full directory structure is inappropriate. Component writers can
-decide for themselves whether or not the directory structure
-guidelines are appropriate for their package.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.BUILD">Outline of the Build Process</H2
-><P
->The full build process is described in <A
-HREF="build.html"
->Chapter 4</A
->, but 
-a summary is appropriate here. A build involves three directory
-structures: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The component repository. This is where all the package source code is
-held, along with <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts, documentation, and so on. For build
-purposes a component repository is read-only. Application developers
-will only modify the component repository when installing or removing
-packages, via the administration tool. Component writers will
-typically work on just one package in the component repository.</P
-></LI
-><LI
-><P
->The build tree. Each configuration has its own build tree, which can
-be regenerated at any time using the configuration's
-<TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> savefile. The build tree contains only
-intermediate files, primarily object files. Once a build is complete
-the build tree contains no information that is useful for application
-development and can be wiped, although this would slow down any
-rebuilds following changes to the configuration.</P
-></LI
-><LI
-><P
->The install tree. This is populated during a build, and contains all
-the files relevant to application development. There will be a
-<TT
-CLASS="FILENAME"
->lib</TT
-> sub-directory which
-typically contains <TT
-CLASS="FILENAME"
->libtarget.a</TT
->, a linker script,
-start-up code, and so on. There will also be an <TT
-CLASS="FILENAME"
->include</TT
-> sub-directory containing all the
-header files exported by the various packages. There will also be a
-<TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> sub-directory
-containing various configuration header files with
-<TT
-CLASS="LITERAL"
->#define's</TT
-> for the options. Typically the install
-tree is created within the build tree, but this is not a requirement.</P
-></LI
-></OL
-><P
->The build process involves the following steps:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Given a configuration, the component framework is responsible for
-creating all the directories in the build and install trees. If these
-trees already exist then the component framework is responsible for
-any clean-ups that may be necessary, for example if a package has been
-removed then all related files should be expunged from the build and
-install trees. The configuration header files will be generated at
-this time. Depending on the host environment, the component framework
-will also generate makefiles or some other way of building the various
-packages. Every time the configuration is modified this step needs to
-be repeated, to ensure that all option consequences take effect. Care
-is taken that this will not result in unnecessary rebuilds.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At present this step needs to be invoked manually. In a future version
-the generated makefile may if desired perform this step automatically,
-using a dependency on the <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> savefile.</P
-></BLOCKQUOTE
-></DIV
-></LI
-><LI
-><P
->The first step in an actual build is to make sure that the install
-tree contains all exported header files. All compilations will use
-the install tree's <TT
-CLASS="FILENAME"
->include</TT
->
-directory as one of the places to search for header files.</P
-></LI
-><LI
-><P
->All source files relevant to the current configuration get compiled.
-This involves a set of compiler flags initialized on a per-target
-basis, with each package being able to modify these flags, and with
-the ability for the user to override the flags as well. Care has to be
-taken here to avoid inappropriate target-dependencies in packages that
-are intended to be portable. The component framework has built-in
-knowledge of how to handle C, C++ and assembler source files &#8212;
-other languages may be added in future, as and when necessary. The
-<A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
-> property is used to
-list the files that should get compiled. All object files end up in
-the build tree.</P
-></LI
-><LI
-><P
->Once all the object files have been built they are collected into a
-library, typically <TT
-CLASS="FILENAME"
->libtarget.a</TT
->, which can then be
-linked with application code. The library is generated in the install
-tree. </P
-></LI
-><LI
-><P
->The component framework provides support for custom build steps, using
-the <A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
-> and
-<A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
-> properties. The results of
-these custom build steps can either be object files that should end up
-in a library, or other files such as a linker script. It is possible
-to control the order in which these custom build steps take place, for
-example it is possible to run a particular build step before any of
-the compilations happen.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.SOURCE">Configurable Source Code</H2
-><P
->All packages should be totally portable to all target hardware (with
-the obvious exceptions of HAL and device driver packages). They should
-also be totally bug-free, require the absolute minimum amount of code
-and data space, be so efficient that cpu time usage is negligible, and
-provide lots of configuration options so that application developers
-have full control over the behavior. The configuration options are
-optional only if a package can meet the requirements of every
-potential application without any overheads. It is not the purpose of
-this guide to explain how to achieve all of these requirements.</P
-><P
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component framework does have some important implications
-for the source code: compiler flag dependencies; package interfaces
-vs. implementations; and how configuration options affect source code.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="PACKAGE.SOURCE.FLAGS">Compiler Flag Dependencies</H3
-><P
->Wherever possible component writers should avoid dependencies on
-particular compiler flags. Any such dependencies are likely to impact
-portability. For example, if one package needs to be built in
-big-endian mode and another package needs to be built in little-endian
-mode then usually it will not be possible for application developers
-to use both packages at the same time; in addition the application
-developer is no longer given a choice in the matter. It is far better
-for the package source code to adapt the endianness at compile-time,
-or possibly at run-time although that will involve code-size
-overheads.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->A related issue is that the current support for handling compiler
-flags in the component framework is still limited and incapable of
-handling flags at a very fine-grain. The support is likely to be
-enhanced in future versions of the framework, but there are
-non-trivial problems to be resolved.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="PACKAGE.SOURCE.INTERFACES">Package Interfaces and Implementations</H3
-><P
->The component framework provides encapsulation at the package level. A
-package <TT
-CLASS="LITERAL"
->A</TT
-> has no way of accessing the
-implementation details of another package <TT
-CLASS="LITERAL"
->B</TT
-> at
-compile-time. In particular, if there is a private header file
-somewhere in a package's <TT
-CLASS="FILENAME"
->src</TT
->
-sub-directory then this header file is completely invisible to other
-packages. Any attempts to cheat by using relative pathnames beginning
-with <TT
-CLASS="FILENAME"
->../..</TT
-> are generally doomed
-to failure because of the presence of package version directories.
-There are two ways in which one package can affect another: by means
-of the exported header files, which define a public interface; or via
-the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> scripts.</P
-><P
->This encapsulation is a deliberate aspect of the overall <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-component framework design. In most cases it does not cause any
-problems for component writers. In some cases enforcing a clean
-separation between interface and implementation details can improve
-the code. Also it reduces problems when a package gets upgraded:
-component writers are free to do pretty much anything on the
-implementation side, including renaming every single source file; care
-has to be taken only with the exported header files and with the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-data, because those have the potential of impacting other packages.
-Application code is similarly unable to access package implementation
-details, only the exported interface.</P
-><P
->Very occasionally the inability of one package to see implementation
-details of another does cause problems. One example occurs in HAL
-packages, where it may be desirable for the architectural, variant and
-platform HAL's to share some information that should not be visible to
-other packages or to application code. This may be addressed in the
-future by introducing the concept of <TT
-CLASS="LITERAL"
->friend</TT
->
-packages, just as a C++ class can have <TT
-CLASS="LITERAL"
->friend</TT
->
-functions and classes which are allowed special access to a class
-internals. It is not yet clear whether such cases are sufficiently
-frequent to warrant introducing such a facility.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="PACKAGE.SOURCE.CONFIG">Source Code and Configuration Options</H3
-><P
->Configurability usually involves source code that needs to implement
-different behavior depending on the settings of configuration
-options. It is possible to write packages where the only consequence
-associated with various configuration options is to control what gets
-built, but this approach is limited and does not allow for
-fine-grained configurability. There are three main ways in which
-options could affect source code at build time:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The component code can be passed through a suitable preprocessor,
-either an existing one such as <SPAN
-CLASS="APPLICATION"
->m4</SPAN
-> or a new one specially designed with
-configurability in mind. The original sources would reside in the
-component repository and the processed sources would reside in the
-build tree. These processed sources can then be compiled in the usual
-way.</P
-><P
->This approach has two main advantages. First, it is independent from
-the programming language used to code the components, provided
-reasonable precautions are taken to avoid syntax clashes between
-preprocessor statements and actual code. This would make it easier in
-future to support languages other than C and C++. Second, configurable
-code can make use of advanced preprocessing facilities such as loops
-and recursion. The disadvantage is that component writers would have
-to learn about a new preprocessor and embed appropriate directives in
-the code. This makes it much more difficult to turn existing code into
-components, and it involves extra training costs for the component
-writers.</P
-></LI
-><LI
-><P
->Compiler optimizations can be used to elide code that should not be
-present, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    &#8230;
-    if (CYGHWR_NUMBER_UARTS &gt; 0) {
-        &#8230;
-     }
-    &#8230;</PRE
-></TD
-></TR
-></TABLE
-><P
->If the compiler knows that <TT
-CLASS="VARNAME"
->CYGHWR_NUMBER_UARTS</TT
-> is
-the constant number 0 then it is a trivial operation to get rid of the
-unnecessary code. The component framework still has to define this
-symbol in a way that is acceptable to the compiler, typically by using
-a <TT
-CLASS="LITERAL"
->const</TT
-> variable or a preprocessor symbol. In some
-respects this is a clean approach to configurability, but it has
-limitations. It cannot be used in the declarations of data structures
-or classes, nor does it provide control over entire functions. In
-addition it may not be immediately obvious that this code is affected
-by configuration options, which may make it more difficult to
-understand.</P
-></LI
-><LI
-><P
->Existing language preprocessors can be used. In the case of C or C++
-this would be the standard C preprocessor, and configurable code would
-contain a number of <TT
-CLASS="LITERAL"
->#ifdef</TT
-> and
-<TT
-CLASS="LITERAL"
->#if</TT
-> statements.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#if (CYGHWR_NUMBER_UARTS &gt; 0)
-     &#8230;
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->This approach has the big advantage that the C preprocessor is a
-technology that is both well-understood and widely used. There are
-also disadvantages: it is not directly applicable to components
-written in other languages such as Java (although it is possible to
-use the C preprocessor as a stand-alone program); the preprocessing
-facilities are rather limited, for example there is no looping
-facility; and some people consider the technology to be ugly. Of
-course it may be possible to get around the second objection by
-extending the preprocessor that is used by gcc and g++.</P
-></LI
-></OL
-><P
->The current component framework generates configuration header files
-with C preprocessor <TT
-CLASS="LITERAL"
->#define's</TT
-> for each option
-(typically, there various properties which can be used to control
-this). It is up to component writers to decide whether to use
-preprocessor <TT
-CLASS="LITERAL"
->#ifdef</TT
-> statements or language
-constructs such as <TT
-CLASS="LITERAL"
->if</TT
->. At present there is no
-support for languages which do not involve the C preprocessor,
-although such support can be added in future when the need arises.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.HEADERS">Exported Header Files</H2
-><P
->A package's exported header files should specify the interface
-provided by that package, and avoid any implementation details.
-However there may be performance or other reasons why implementation
-details occasionally need to be present in the exported headers.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Not all programming languages have the concept of a header file. In
-some cases the component framework would need extensions to support
-packages written in such languages. </P
-></BLOCKQUOTE
-></DIV
-><P
->Configurability has a number of effects on the way exported header
-files should be written. There may be configuration options which
-affect the interface of a package, not just the implementation. It is
-necessary to worry about nested <TT
-CLASS="LITERAL"
->#include's</TT
-> and how
-this affects package and application builds. A special case of this
-relates to whether or not exported header files should
-<TT
-CLASS="LITERAL"
->#include</TT
-> configuration headers. These configuration
-headers are exported, but should only be <TT
-CLASS="LITERAL"
->#include'd</TT
->
-when necessary.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="PACKAGE.HEADERS.FUNCTIONS">Configurable Functionality</H3
-><P
->Many configuration options affect only the implementation of a
-package, not the interface. However some options will affect the
-interface as well, which means that the options have to be tested in
-the exported header files. Some implementation choices, for example
-whether or not a particular function should be inlined, also need to
-be tested in the header file because of language limitations.</P
-><P
->Consider a configuration option
-<TT
-CLASS="VARNAME"
->CYGFUN_KERNEL_MUTEX_TIMEDLOCK</TT
-> which controls
-whether or not a function <TT
-CLASS="FUNCTION"
->cyg_mutex_timedlock</TT
-> is
-provided. The exported kernel header file <TT
-CLASS="FILENAME"
->cyg/kernel/kapi.h</TT
-> could contain the
-following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;pkgconf/kernel.h&gt;
-&#8230;
-#ifdef CYGFUN_KERNEL_MUTEX_TIMEDLOCK
-extern bool cyg_mutex_timedlock(cyg_mutex_t*);
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->This is a correct header file, in that it defines the exact interface
-provided by the package at all times. However is has a number of
-implications. First, the header file is now dependent on <TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->, so any changes to
-kernel configuration options will cause <TT
-CLASS="FILENAME"
->cyg/kernel/kapi.h</TT
-> to be out of date, and
-any source files that use the kernel interface will need rebuilding.
-This may affect sources in the kernel package, in other packages, and
-in application source code. Second, if the application makes use of
-this function somewhere but the application developer has
-misconfigured the system and disabled this functionality anyway then
-there will now be a compile-time error when building the application.
-Note that other packages should not be affected, since they should
-impose appropriate constraints on
-<TT
-CLASS="VARNAME"
->CYGFUN_KERNEL_MUTEX_TIMEDLOCK</TT
-> if they use that
-functionality (although of course some dependencies like this may get
-missed by component developers).</P
-><P
->An alternative approach would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->extern bool cyg_mutex_timedlock(cyg_mutex_t*);</PRE
-></TD
-></TR
-></TABLE
-><P
->Effectively the header file is now lying about the functionality
-provided by the package. The first result is that there is no longer a
-dependency on the kernel configuration header. The second result is
-that an application file using the timed-lock function will now
-compile, but the application will fail to link. At this stage the
-application developer still has to intervene, change the
-configuration, and rebuild the system. However no application
-recompilations are necessary, just a relink.</P
-><P
->Theoretically it would be possible for a tool to analyze linker errors
-and suggest possible configuration changes that would resolve the
-problem, reducing the burden on the application developer. No such
-tool is planned in the short term.</P
-><P
->It is up to component writers to decide which of these two approaches
-should be preferred. Note that it is not always possible to avoid
-<TT
-CLASS="LITERAL"
->#include'ing</TT
-> a configuration header file in an
-exported one, for example an option may affect a data structure rather
-than just the presence or absence of a function. Issues like this will
-vary from package to package.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="PACKAGE.HEADERS.INCLUDES">Nested <TT
-CLASS="LITERAL"
->#include's</TT
-></H3
-><P
->As a general rule, unnecessary <TT
-CLASS="LITERAL"
->#include's</TT
-> should be
-avoided. A header file should <TT
-CLASS="LITERAL"
->#include</TT
-> only those
-header files which are absolutely needed for it to define its
-interface. Any additional <TT
-CLASS="LITERAL"
->#include's</TT
-> make it more
-likely that package or application source files become dependent on
-configuration header files and will get rebuilt unnecessarily when
-there are minor configuration changes.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="PACKAGE.HEADERS.CONFIGINCLUDES">Including Configuration Headers</H3
-><P
->Exported header files should avoid <TT
-CLASS="LITERAL"
->#include'ing</TT
->
-configuration header files unless absolutely necessary, to avoid
-unnecessary rebuilding of both application code and other packages
-when there are minor configuration changes. A
-<TT
-CLASS="LITERAL"
->#include</TT
-> is needed only when a configuration option
-affects the exported interface, or when it affects some implementation
-details which is controlled by the header file such as whether or not
-a particular function gets inlined.</P
-><P
->There are a couple of ways in which the problem of unnecessary
-rebuilding could be addressed. The first would require more
-intelligent handling of header file dependency handling by the tools
-(especially the compiler) and the build system. This would require
-changes to various non-eCos tools. An alternative approach would be to
-support finer-grained configuration header files, for example there
-could be a file <TT
-CLASS="FILENAME"
->pkgconf/libc/inline.h</TT
-> controlling which
-functions should be inlined. This could be achieved by some fairly
-simple extensions to the component framework, but it makes it more
-difficult to get the package header files and source code correct:
-a C preprocessor <TT
-CLASS="LITERAL"
->#ifdef</TT
-> directive does not
-distinguish between a symbol not being defined because the option is
-disabled, or the symbol not being defined because the appropriate
-configuration header file has not been <TT
-CLASS="LITERAL"
->#include'd</TT
->.
-It is likely that a cross-referencing tool would have to be developed
-first to catch problems like this, before the component framework
-could support finer-grained configuration headers.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.DOCUMENTATION">Package Documentation</H2
-><P
->On-line package documentation should be in HTML format. The component
-framework imposes no special limitations: component writers can decide
-which version of the HTML specification should be followed; they can
-also decide on how best to cope with the limitations of different
-browsers. In general it is a good idea to keep things simple.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.TESTS">Test Cases</H2
-><P
->Packages should normally come with one or more test cases. This allows
-application developers to verify that a given package works correctly
-on their particular hardware and in their particular configuration,
-making it slightly more likely that they will attempt to find bugs in
-their own code rather than automatically blaming the component
-writers.</P
-><P
->At the time of writing the application developer support for building
-and running test cases via the component framework is under review and
-likely to change. Currently each test case should consist of a single
-C or C++ source file that can be compiled with the package's set of
-compiler flags and linked like any application program. Each test case
-should use the testing API defined by the infrastructure. A
-magically-named calculated configuration option of the form
-<TT
-CLASS="VARNAME"
->CYGPKG_&lt;PACKAGE-NAME&gt;_TESTS</TT
-> lists the test
-cases.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.HOST">Host-side Support</H2
-><P
->On occasion it would be useful for an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> package to be shipped
-with host-side support. This could take the form of an additional tool
-needed to build that package. It could be an application intended to
-communicate with the target-side package code and display monitoring
-information. It could be a utility needed for running the package test
-cases, especially in the case of device drivers. The component
-framework does not yet provide any such support for host-side
-software, and there are obvious issues related to portability to the
-different machines that can be used for hosts. This issue may get
-addressed in some future release. In some cases custom build steps can
-be subverted to do things on the host side rather than the target
-side, but this is not recommended.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="package.versions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="package.distrib.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Package Versioning</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="package.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Making a Package Distribution</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/package.distrib.html b/doc/html/cdl-guide/package.distrib.html
deleted file mode 100644 (file)
index 88ff2c6..0000000
+++ /dev/null
@@ -1,629 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Making a Package Distribution</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Package Organization"
-HREF="package.html"><LINK
-REL="PREVIOUS"
-TITLE="Package Contents and Layout"
-HREF="package.contents.html"><LINK
-REL="NEXT"
-TITLE="The CDL Language"
-HREF="language.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="package.contents.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. Package Organization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="language.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PACKAGE.DISTRIB">Making a Package Distribution</H1
-><P
->Developers of new <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages are advised to distribute their
-packages in the form of <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> package distribution files. Packages
-distributed in this format may be added to existing <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component
-repositories in a robust manner using the Package Administration Tool.
-This chapter describes the format of package distribution files and
-details how to prepare an eCos package for distribution in this format.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.DISTRIB.FORMAT">The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> package distribution file format</H2
-><P
->eCos package distribution files are gzipped GNU tar archives which
-contain both the source code for one or more <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages and a
-data file containing package information to be added to the component
-repository database. The distribution files are subject to the
-following rules:</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->The data file must be named <TT
-CLASS="FILENAME"
->pkgadd.db</TT
-> and must be
-located in the root of the tar archive. It must contain data in a
-format suitable for appending to the eCos repository database
-(<SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
->). <A
-HREF="language.database.html"
->the Section called <I
->Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</I
-> in Chapter 3</A
->
-describes this data format. Note that a database consistency check is
-performed by the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Administration Tool when
-<TT
-CLASS="FILENAME"
->pkgadd.db</TT
-> has been appended to the database. Any
-new target entries which refer to unknown packages will be removed at
-this stage.</P
-></LI
-><LI
-><P
->The package source code must be placed in one or more <TT
-CLASS="FILENAME"
->&lt;package-path&gt;/&lt;version&gt;</TT
->
-directories in the tar archive, where each &lt;package-path&gt;
-directory path is specified as the directory attribute of one of the
-packages entries in <TT
-CLASS="FILENAME"
->pkgadd.db</TT
->.</P
-></LI
-><LI
-><P
->An optional license agreement file named
-<TT
-CLASS="FILENAME"
->pkgadd.txt</TT
-> may be placed in the root of the tar
-archive. It should contain text with a maximum line length of 79
-characters. If this file exists, the contents will be presented to the
-user during installation of the package. The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Package
-Administration Tool will then prompt the user with the question
-<TT
-CLASS="PROMPT"
->"Do you accept all the terms of the preceding license
-agreement?"</TT
->. The user must respond
-<TT
-CLASS="USERINPUT"
-><B
->"yes"</B
-></TT
-> to this prompt in order to proceed with
-the installation.</P
-></LI
-><LI
-><P
->Optional template files may be placed in one or more <TT
-CLASS="FILENAME"
->templates/&lt;template_name&gt;</TT
->
-directories in the tar archive. Note that such template files would be
-appropriate only where the packages to be distributed have a complex
-dependency relationship with other packages. Typically, a third party
-package can be simply added to an eCos configuration based on an
-existing core template and the provision of new templates would not be
-appropriate. <A
-HREF="advanced.html#ADVANCED.TEMPLATES"
->the Section called <I
->Templates</I
-> in Chapter 6</A
-> contains more
-information on templates.</P
-></LI
-><LI
-><P
->The distribution file must be given a <TT
-CLASS="FILENAME"
->.epk</TT
-> (not
-<TT
-CLASS="FILENAME"
->.tar.gz</TT
->) file extension. The
-<TT
-CLASS="FILENAME"
->.epk</TT
-> file extension serves to distinguish <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-package distributions files from generic gzipped GNU tar archives. It
-also discourages users from attempting to extract the package from the
-archive manually. The file browsing dialog of the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Package
-Administration Tool lists only those files which have a
-<TT
-CLASS="FILENAME"
->.epk</TT
-> extension.</P
-></LI
-><LI
-><P
->No other files should be present in the archive.</P
-></LI
-><LI
-><P
->Files in the tar archive may use <TT
-CLASS="LITERAL"
->LF</TT
-> or
-<TT
-CLASS="LITERAL"
->CRLF</TT
-> line endings interchangably. The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-Administration Tool ensures that the installed files are given the
-appropriate host-specific line endings.</P
-></LI
-><LI
-><P
->Binary files may be placed in the archive, but the distribution of
-object code is not recommended. All binary files must be given a
-<TT
-CLASS="LITERAL"
->.bin</TT
-> suffix in addition to any file extension they
-may already have. For example, the GIF image file
-<TT
-CLASS="FILENAME"
->myfile.gif</TT
-> must be named
-<TT
-CLASS="FILENAME"
->myfile.gif.bin</TT
-> in the archive. The
-<TT
-CLASS="FILENAME"
->.bin</TT
-> suffix is removed during file extraction and
-is used to inhibit the manipulation of line endings by the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-Administration Tool.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PACKAGE.DISTRIB.PREPARE">Preparing eCos packages for distribution</H2
-><P
->Development of new <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages or new versions of existing <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-packages will take place in the context of an existing <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-component repository. This section details the steps involved in
-extracting new packages from a repository and generating a
-corresponding <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> package distribution file for distribution of the
-packages to other <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> users. The steps required are as follows:</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->Create a temporary directory <TT
-CLASS="FILENAME"
->$PKGTMP</TT
-> for manipulation of the package
-distribution file contents and copy the source files of the new
-packages into this directory, preserving the relative path to the
-package. In the case of a new package at <TT
-CLASS="FILENAME"
->mypkg/current</TT
-> in the repository:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    $ mkdir -p $PKGTMP/mypkg
-    $ cp -p -R $ECOS_REPOSITORY/mypkg/current $PKGTMP/mypkg</PRE
-></TD
-></TR
-></TABLE
-><P
->Where more than one package is to be distributed in a single package
-distribution file, copy each package in the above manner. Note that
-multiple packages distributed in a single package distribution file
-cannot be installed separately. Where such flexibility is required,
-distribution of each new package in separate package distribution files
-is recommended.</P
-></LI
-><LI
-><P
->Copy any template files associated with the distributed packages into
-the temporary directory, preserving the relative path to the template.
-For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    $ mkdir -p $PKGTMP/templates
-    $ cp -p -R $ECOS_REPOSITORY/templates/mytemplate $PKGTMP/templates</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Remove any files from the temporary directory hierarchy which you do
-not want to distribute with the packages (eg object files, <TT
-CLASS="FILENAME"
->CVS</TT
-> directories).</P
-></LI
-><LI
-><P
->Add a <TT
-CLASS="FILENAME"
->.bin</TT
-> suffix to the name of any binary
-files. For example, if the packages contains GIF image files (*.gif)
-for documentation purposes, such files must be renamed to *.gif.bin as
-follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->   $ find $PKGTMP -type f -name '*.gif' -exec mv {} {}.bin ';'</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="FILENAME"
->.bin</TT
-> suffix is removed during file extraction
-and is used to inhibit the manipulation of line endings by the eCos
-Package Administration Tool.</P
-></LI
-><LI
-><P
->Extract the package records for the new packages from the package
-database file at <SPAN
-CLASS="DATABASE"
->$ECOS_REPOSITORY/ecos.db</SPAN
-> and
-create a new file containing these records at
-<TT
-CLASS="FILENAME"
->$PKGTMP/pkgadd.db</TT
-> (in the root of the temporary
-directory hierarchy). Any target records which reference the
-distributed packages must also be provided in pkgadd.db.</P
-></LI
-><LI
-><P
->Rename the version directories under <TT
-CLASS="FILENAME"
->$PKGTMP</TT
-> (typically <TT
-CLASS="FILENAME"
->current</TT
-> during development) to reflect
-the versions of the packages you are distributing. For example,
-version 1.0 of a package may use the version directory name <TT
-CLASS="FILENAME"
->v1_0</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    $ cd $PKGTMP/mypkg
-    $ mv current v1_0</PRE
-></TD
-></TR
-></TABLE
-><P
-><A
-HREF="package.versions.html"
->the Section called <I
->Package Versioning</I
-></A
-> describes the version naming
-conventions.</P
-></LI
-><LI
-><P
->Rename any template files under <TT
-CLASS="FILENAME"
->$PKGTMP</TT
-> (typically
-<TT
-CLASS="FILENAME"
->current.ect</TT
-> during development) to reflect the
-version of the template you are distributing. For example, version 1.0
-of a template may use the filename <TT
-CLASS="FILENAME"
->v1_0.ect</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    $ cd $PKGTMP/templates/mytemplate
-    $ mv current.ect v1_0.ect</PRE
-></TD
-></TR
-></TABLE
-><P
->It is also important to edit the contents of the template file, changing
-the version of each referenced package to match that of the packages you
-are distributing. This step will eliminate version warnings during the
-subsequent loading of the template.</P
-></LI
-><LI
-><P
->Optionally create a licence agreement file at
-<TT
-CLASS="FILENAME"
->$PKGTMP/pkgadd.txt</TT
-> containing the licensing terms
-under which you are distributing the new packages. Limit each line in
-this file to a maximum of 79 characters.</P
-></LI
-><LI
-><P
->Create a GNU tar archive of the temporary directory hierarchy. By
-convention, this archive would have a name of the form
-<TT
-CLASS="FILENAME"
->&lt;package_name&gt;-&lt;version&gt;</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    $ cd $PKGTMP
-    $ tar cf mypkg-1.0.tar *</PRE
-></TD
-></TR
-></TABLE
-><P
->Note that non-GNU version of tar may create archive files which exhibit
-subtle incompatibilities with GNU tar. For this reason, always use GNU
-tar to create the archive file.</P
-></LI
-><LI
-><P
->Compress the archive using gzip and give the resulting file a
-<TT
-CLASS="FILENAME"
->.epk</TT
-> file extension:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    $ gzip mypkg-1.0.tar
-    $ mv mypkg-1.0.tar.gz mypkg-1.0.epk</PRE
-></TD
-></TR
-></TABLE
-><P
->The resulting eCos package distribution file (*.epk) is in a compressed
-format and may be distributed without further compression.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="package.contents.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="language.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Package Contents and Layout</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="package.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The CDL Language</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/package.html b/doc/html/cdl-guide/package.html
deleted file mode 100644 (file)
index a3c7f9c..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Package Organization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Warnings"
-HREF="overview.warning.html"><LINK
-REL="NEXT"
-TITLE="Package Versioning"
-HREF="package.versions.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="overview.warning.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="package.versions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="PACKAGE">Chapter 2. Package Organization</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="package.html#PACKAGE.HIERARCHY"
->Packages and the Component Repository</A
-></DT
-><DT
-><A
-HREF="package.versions.html"
->Package Versioning</A
-></DT
-><DT
-><A
-HREF="package.contents.html"
->Package Contents and Layout</A
-></DT
-><DT
-><A
-HREF="package.distrib.html"
->Making a Package Distribution</A
-></DT
-></DL
-></DIV
-><P
->For a package to be usable in the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> component framework it must
-conform to certain rules imposed by that framework. Packages must be
-distributed in a form that is understood by the component repository
-administration tool. There must be a top-level <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script which
-describes the package to the component framework. There are certain
-limitations related to how a package gets built, so that the package
-can still be used in a variety of host environments. In addition to
-these rules, the component framework provides a number of guidelines.
-Packages do not have to conform to the guidelines, but sticking to
-them can simplify certain operations.</P
-><P
->This chapter deals with the general organization of a package, for
-example how to distinguish between private and exported header files.
-<A
-HREF="language.html"
->Chapter 3</A
-> describes the <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> language.
-<A
-HREF="build.html"
->Chapter 4</A
-> details the build process.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PACKAGE.HIERARCHY">Packages and the Component Repository</H1
-><P
->All <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> installations include a component repository. This is a
-directory structure for all installed packages. The component
-framework comes with an administration tool that allows new packages
-or new versions of a package to be installed, old packages to be
-removed, and so on. The component repository includes a simple
-database, maintained by the administration tool, which contains
-details of the various packages.</P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN187"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="repo.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->Each package has its own little directory hierarchy within the
-component repository. Keeping several packages in a single directory
-is illegal. The error, infra and kernel packages all live at the
-top-level of the repository. For other types of packages there are
-some pre-defined directories: <TT
-CLASS="FILENAME"
->compat</TT
-> is used for compatibility
-packages, which implement other interfaces such as &micro;ITRON or POSIX
-using native <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> calls; <TT
-CLASS="FILENAME"
->hal</TT
->
-is used for packages that port <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> to different architectures or
-platforms, and this directory is further organized on a
-per-architecture basis; <TT
-CLASS="FILENAME"
->io</TT
-> is
-intended for device drivers; <TT
-CLASS="FILENAME"
->language</TT
-> is used for language support
-libraries, for example the C library. There are no strict rules
-defining where new packages should get installed. Obviously if an
-existing top-level directory such as <TT
-CLASS="FILENAME"
->compat</TT
-> is applicable then the new package
-should go in there. If a new category is desirable then it is possible
-to create a new sub-directory in the component repository. For
-example, an organization planning to release a number of <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->
-packages may want them all to appear below a sub-directory
-corresponding to the organization's name&nbsp;&#8212; in the hope that
-the name will not change too often. It is possible to add new packages
-directly to the top-level of the component repository, but this should
-be avoided.</P
-><P
->The <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> file holds the component repository
-database and is managed by the administration tool. The various
-configuration tools read in this file when they start-up to obtain
-information about the various packages that have been installed. When
-developing a new package it is necessary to add some information to
-the file, as described in <A
-HREF="language.database.html"
->the Section called <I
->Updating the <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database</I
-> in Chapter 3</A
->. The
-<TT
-CLASS="FILENAME"
->templates</TT
-> directory holds
-various configuration templates.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Earlier releases of <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> came with two separate files,
-<TT
-CLASS="FILENAME"
->targets</TT
-> and <TT
-CLASS="FILENAME"
->packages</TT
->. The
-<SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database replaces both of these.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->The current <SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database does not yet provide
-all of the information needed by the component framework. Its format
-is subject to change in future releases, and the file may be replaced
-completely if necessary. There are a number of other likely future
-developments related to the component repository and the database. The
-way targets are described is subject to change. Sometimes it is
-desirable for component writers to do their initial development in a
-directory outside the component repository, but there is no specific
-support in the framework for that yet.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="overview.warning.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="package.versions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Warnings</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Package Versioning</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/package.png b/doc/html/cdl-guide/package.png
deleted file mode 100644 (file)
index 69432a0..0000000
Binary files a/doc/html/cdl-guide/package.png and /dev/null differ
diff --git a/doc/html/cdl-guide/package.versions.html b/doc/html/cdl-guide/package.versions.html
deleted file mode 100644 (file)
index 02a3ce6..0000000
+++ /dev/null
@@ -1,433 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Package Versioning</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="Package Organization"
-HREF="package.html"><LINK
-REL="PREVIOUS"
-TITLE="Package Organization"
-HREF="package.html"><LINK
-REL="NEXT"
-TITLE="Package Contents and Layout"
-HREF="package.contents.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="package.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. Package Organization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="package.contents.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PACKAGE.VERSIONS">Package Versioning</H1
-><P
->Below each package directory there can be one or more version
-sub-directories, named after the versions. This is a requirement of
-the component framework: it must be possible for users to install
-multiple versions of a package and select which one to use for any
-given application. This has a number of advantages to users: most
-importantly it allows a single component repository to be shared
-between multiple users and multiple projects, as required; also it
-facilitates experiments, for example it is relatively easy to try out
-the latest version of some package and see if it makes any difference.
-There is a potential disadvantage in terms of disk space. However
-since <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages generally consist of source code intended for
-small embedded systems, and given typical modern disk sizes, keeping a
-number of different versions of a package installed will usually be
-acceptable. The administration tool can be used to remove versions
-that are no longer required.</P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN217"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="version.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->The version <TT
-CLASS="FILENAME"
->current</TT
-> is special. Typically it
-corresponds to the very latest version of the sources, obtained by
-anonymous <SPAN
-CLASS="APPLICATION"
->CVS</SPAN
->. These sources may change frequently, unlike full
-releases which do not change (or only when patches are produced).
-Component writers may also want to work on the
-<TT
-CLASS="FILENAME"
->current</TT
-> version.</P
-><P
->All other subdirectories of a package correspond to specific releases
-of that package. The component framework allows users to select the
-particular version of a package they want to use, but by default the
-most recent one will be used. This requires some rules for ordering
-version numbers, a difficult task because of the wide variety of ways
-in which versions can be identified.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The version <TT
-CLASS="FILENAME"
->current</TT
-> is always considered to be
-the most recent version.</P
-></LI
-><LI
-><P
->If the first character of both strings are either <TT
-CLASS="LITERAL"
->v</TT
->
-or <TT
-CLASS="LITERAL"
->V</TT
->, these are skipped because it makes little
-sense to enforce case sensitivity here. Potentially this could result
-in ambiguity if there are two version directories
-<TT
-CLASS="LITERAL"
->V1.0</TT
-> and <TT
-CLASS="LITERAL"
->v1.0</TT
->, but this will
-match the confusion experienced by any users of such a package.
-However if two subsequent releases are called <TT
-CLASS="LITERAL"
->V1.0</TT
->
-and <TT
-CLASS="LITERAL"
->v1.1</TT
->, e.g. because of a minor mix-up when
-making the distribution file, then the case difference is ignored.</P
-></LI
-><LI
-><P
->Next the two version strings are compared one character at a time.
-If both strings are currently at a digit then a string to number
-conversion takes place, and the resulting numbers are compared.
-For example <TT
-CLASS="LITERAL"
->v10</TT
-> is a more recent release than
-<TT
-CLASS="LITERAL"
->v2</TT
->. If the two numbers are the same then processing
-continues, so for <TT
-CLASS="LITERAL"
->v2b</TT
-> and <TT
-CLASS="LITERAL"
->v2c</TT
->
-the version comparison code would move on to <TT
-CLASS="LITERAL"
->b</TT
-> and
-<TT
-CLASS="LITERAL"
->c</TT
->. </P
-></LI
-><LI
-><P
->The characters dot <TT
-CLASS="LITERAL"
->.</TT
->, hyphen <TT
-CLASS="LITERAL"
->-</TT
->
-and underscore <TT
-CLASS="LITERAL"
->_</TT
-> are treated as equivalent
-separators, so if one release goes out as <TT
-CLASS="LITERAL"
->v1_1</TT
-> and
-the next goes out as <TT
-CLASS="LITERAL"
->v1.2</TT
-> the separator has no
-effect.</P
-></LI
-><LI
-><P
->If neither string has yet terminated but the characters are different,
-ASCII comparison is used. For example <TT
-CLASS="LITERAL"
->V1.1b</TT
-> is
-more recent than <TT
-CLASS="LITERAL"
->v1.1alpha</TT
->.</P
-></LI
-><LI
-><P
->If one version string terminates before the other, the current
-character determines which is the more recent. If the other string is
-currently at a separator character, for example
-<TT
-CLASS="LITERAL"
->v1.3.1</TT
-> and <TT
-CLASS="LITERAL"
->v1.3</TT
->, then the former
-is assumed to be a minor release and hence more recent than the
-latter. If the other string is not at a separator character, for
-example <TT
-CLASS="LITERAL"
->v1.3beta</TT
->, then it is treated as an
-experimental version of the <TT
-CLASS="LITERAL"
->v1.3</TT
-> release and hence
-older. </P
-></LI
-><LI
-><P
->There is no special processing of dates, so with two versions
-<TT
-CLASS="LITERAL"
->ss-20000316</TT
-> and <TT
-CLASS="LITERAL"
->ss-20001111</TT
->
-the numerical values <TT
-CLASS="LITERAL"
->20001111</TT
-> and
-<TT
-CLASS="LITERAL"
->20000316</TT
-> determine the result: larger values are
-more recent. It is suggested that the full year be used in such cases
-rather than a shorthand like <TT
-CLASS="LITERAL"
->00</TT
->, to avoid
-Y2100 problems.</P
-></LI
-><LI
-><P
->There is no limit on how many levels of versioning are used, so
-there could in theory be a <TT
-CLASS="LITERAL"
->v3.1.4.1.5.9.2.7</TT
-> release
-of a package. However this is unlikely to be of benefit to typical
-users of a package.</P
-></LI
-></OL
-><P
->The version comparison rules of the component framework may not be
-suitable for every version numbering scheme in existence, but they
-should cope with many common cases.</P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->There are some issues still to be resolved before it is possible to
-combine the <TT
-CLASS="FILENAME"
->current</TT
-> sources available via
-anonymous <SPAN
-CLASS="APPLICATION"
->CVS</SPAN
-> and full releases of <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> and additional packages in
-a single component repository. The first problem relates to the
-<SPAN
-CLASS="DATABASE"
->ecos.db</SPAN
-> database: if a new package is added via
-the CVS repository then this requires a database update, but the
-administration tool is bypassed. The second problem arises if an
-organization chooses to place its component repository under source
-code control using <SPAN
-CLASS="APPLICATION"
->CVS</SPAN
->, in which case different directories will
-belong to different <SPAN
-CLASS="APPLICATION"
->CVS</SPAN
-> servers. These issues will be addressed in a
-future release.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="package.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="package.contents.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Package Organization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="package.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Package Contents and Layout</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.active-if.html b/doc/html/cdl-guide/ref.active-if.html
deleted file mode 100644 (file)
index 3949bb8..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->active_if</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="cdl_interface"
-HREF="ref.cdl-interface.html"><LINK
-REL="NEXT"
-TITLE="calculated"
-HREF="ref.calculated.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-interface.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.calculated.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.ACTIVE-IF"><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3662"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->&nbsp;--&nbsp;Allow additional control over the active state of an
-option or other CDL entity.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3666"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    active_if &lt;condition&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3668"
-></A
-><H2
->Description</H2
-><P
->Configuration options or other entities may be either active or
-inactive. Typically this is controlled by the option's location in the
-overall hierarchy. Consider the option
-<TT
-CLASS="LITERAL"
->CYGDBG_INFRA_DEBUG_PRECONDITIONS</TT
->, which exists
-below the component <TT
-CLASS="LITERAL"
->CYGDBG_USE_ASSERT</TT
->. If the whole
-component is disabled then the options it contains are inactive: there
-is no point in enabling preconditions unless there is generic
-assertion support; any <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraints associated with
-preconditions are irrelevant; any <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property or other
-build-related property is ignored.</P
-><P
->In some cases the hierarchy does not provide sufficient control over
-whether or not a particular option should be active. For example, the
-math library could have support for floating point exceptions which
-is only worthwhile if the hardware implements appropriate
-functionality, as specified by the architectural HAL. The relevant
-math library configuration options should remain below the
-<TT
-CLASS="LITERAL"
->CYGPKG_LIBM</TT
-> package in the overall hierarchy, but
-should be inactive unless there is appropriate hardware support. In
-cases like this an <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> property is appropriate.</P
-><P
->Another common use of <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> properties is to avoid excessive
-nesting in the configuration hierarchy. If some option B is only
-relevant if option A is enabled, it is possible to turn A into a
-component that contains B. However adding another level to the
-hierarchy for a component which will contain just one entry may be
-considered excessive. In such cases it is possible for B to have an
-<SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> dependency on A.</P
-><P
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> takes a goal expression as argument. For details of goal
-expression syntax see <A
-HREF="language.values.html#LANGUAGE.GOAL-EXPRESSION"
->the Section called <I
->Goal Expressions</I
-> in Chapter 3</A
->. In
-most cases the goal expression will be very simple, often involving
-just one other option, but more complicated expressions can be used
-when appropriate. It is also possible to have multiple <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
->
-conditions in a single option, in which case all of the conditions
-have to be satisfied if the option is to be active.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> properties have certain similarities,
-but they serve a different purpose. Suppose there are two options A
-and B, and option B relies on functionality provided by A. This could
-be expressed as either <TT
-CLASS="LITERAL"
->active_if&nbsp;A</TT
-> or as
-<TT
-CLASS="LITERAL"
->requires&nbsp;A</TT
->. The points to note are:</P
-><P
-></P
-><UL
-><LI
-><P
->If <TT
-CLASS="LITERAL"
->active_if&nbsp;A</TT
-> is used and A is disabled or
-inactive, then graphical tools will generally prevent any attempt at
-modifying B. For example the text for B could be grayed out, and the
-associated checkbutton (if B is a boolean option) would be disabled.
-If the user needs the functionality provided by option B then it is
-necessary to go to option A first and manipulate it appropriately.</P
-></LI
-><LI
-><P
->If <TT
-CLASS="LITERAL"
->requires&nbsp;A</TT
-> is used and A is disabled or
-inactive, graphical tools will still allow B to be manipulated and
-enabled. This would result in a new conflict which may get resolved
-automatically or which may need user intervention.</P
-></LI
-><LI
-><P
->If there are hardware dependencies then an <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> condition is
-usually the preferred approach. There is no point in allowing the user
-to manipulate a configuration option if the corresponding
-functionality cannot possibly work on the currently-selected hardware.
-Much the same argument applies to coarse-grained dependencies, for
-example if an option depends on the presence of a TCP/IP stack then an
-<TT
-CLASS="LITERAL"
->active_if&nbsp;CYGPKG_NET</TT
-> condition is appropriate:
-it may be possible to satisfy the condition, but it requires the
-fairly drastic step of loading another package; further more, if the
-user wanted a TCP/IP stack in the configuration then it would probably
-have been loaded already. </P
-></LI
-><LI
-><P
->If option B exists to provide additional debugging information about
-the functionality provided by A then again an <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> constraint
-is appropriate. There is no point in letting users enable extra
-debugging facilities for a feature that is not actually present.</P
-></LI
-><LI
-><P
->The configuration system's inference engine will cope equally well
-with <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> properties. Suppose there is a
-conflict because some third option depends on B. If B is
-<TT
-CLASS="LITERAL"
->active_if&nbsp;A</TT
-> then the inference engine will
-attempt to make A active and enabled, and then to enable B if
-necessary. If B <TT
-CLASS="LITERAL"
->requires&nbsp;A</TT
-> then the inference
-engine will attempt to enable B and resolve the resulting conflict by
-causing A to be both active and enabled. Although the inference occurs
-in a different order, in most cases the effect will be the same.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3710"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># Do not provide extra semaphore debugging if there are no semaphores
-cdl_option CYGDBG_KERNEL_INSTRUMENT_BINSEM {
-    active_if CYGPKG_KERNEL_SYNCH
-    &#8230;
-}
-
-# Avoid another level in the configuration hierarchy
-cdl_option CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE_SIMPLE_RELAY {
-    active_if CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INHERITANCE_SIMPLE
-    &#8230;
-}
-
-# Functionality that is only relevant if another package is loaded
-cdl_option CYGSEM_START_UITRON_COMPATIBILITY {
-    active_if CYGPKG_UITRON
-    &#8230;
-}
-
-# Check that the hardware or HAL provide the appropriate functionality
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    active_if CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3713"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.cdl-interface.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.calculated.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.calculated.html b/doc/html/cdl-guide/ref.calculated.html
deleted file mode 100644 (file)
index 75bb1f9..0000000
+++ /dev/null
@@ -1,532 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->calculated</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="active_if"
-HREF="ref.active-if.html"><LINK
-REL="NEXT"
-TITLE="compile"
-HREF="ref.compile.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.active-if.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.compile.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.CALCULATED"><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3722"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->&nbsp;--&nbsp;Used if the current option's value is not user-modifiable,
-but is calculated using a suitable CDL expression.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3726"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    calculated &lt;expression&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3728"
-></A
-><H2
->Description</H2
-><P
->In some cases it is useful to have a configuration option whose value
-cannot be modified directly by the user. This can be achieved using a
-<SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->, which takes a CDL expression as argument (see <A
-HREF="language.values.html#LANGUAGE.EXPRESSION"
->the Section called <I
->Ordinary Expressions</I
-> in Chapter 3</A
-> for a description of expression
-syntax). The configuration system evaluates the expression when the
-current package is loaded and whenever there is a change to any other
-option referenced in the expression. The result depends on the
-option's flavor:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->flavor none</TT
-></DT
-><DD
-><P
->Options with this flavor have no value, so the <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->
-property is not applicable.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor bool</TT
-></DT
-><DD
-><P
->If the expression evaluates to a non-zero result the option is
-enabled, otherwise it is disabled.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor booldata</TT
-></DT
-><DD
-><P
->If the result of evaluating the expression is zero then the option is
-disabled, otherwise the option is enabled and its value is the result.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor data</TT
-></DT
-><DD
-><P
->The value of the option is the result of evaluating the expression.</P
-></DD
-></DL
-></DIV
-><P
->There are a number of valid uses for calculated options, and there are
-also many cases where some other CDL facility would be more
-appropriate. Valid uses of calculated options include the following:</P
-><P
-></P
-><UL
-><LI
-><P
->On some target hardware a particular feature may be user-configurable,
-while on other targets it is fixed. For example some processors can
-operate in either big-endian or little-endian mode, while other
-processors do not provide any choice. It is possible to have an
-option <TT
-CLASS="LITERAL"
->CYGARC_BIGENDIAN</TT
-> which is calculated in
-some architectural HAL packages but user-modifiable in others.</P
-></LI
-><LI
-><P
->Calculated options can provide an alternative way for one package to
-affect the behavior of another one. Suppose a package may provide two
-possible implementations, a preferred one involving self-modifying
-code and a slower alternative. If the system involves a ROM bootstrap
-then the slower alternative must be used, but it would be
-inappropriate to modify the startup option in every HAL to impose
-constraints on this package. Instead it is possible to have a
-calculated option whose value is
-<TT
-CLASS="LITERAL"
->{&nbsp;CYG_HAL_STARTUP&nbsp;==&nbsp;"ROM"&nbsp;}</TT
->,
-and which has appropriate consequences. Arguably this is a spurious
-example, and it should be a user choice whether or not to use
-self-modifying code with a <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> based on
-<TT
-CLASS="LITERAL"
->CYG_HAL_STARTUP</TT
->, but that is for the component
-writer to decide.</P
-></LI
-><LI
-><P
->Sometimes it should be possible to perform a particular test at
-compile-time, for example by using a C preprocessor
-<TT
-CLASS="LITERAL"
->#if</TT
-> construct. However the preprocessor has only
-limited functionality, for example it cannot perform string
-comparisons. CDL expressions are more powerful.</P
-></LI
-><LI
-><P
->Occasionally a particular sub-expression may occur multiple times in
-a CDL script. If the sub-expression is sufficiently complex then it
-may be worthwhile to have a calculated option whose value is the
-sub-expression, and then reference that calculated option in the
-appropriate places. </P
-></LI
-></UL
-><P
->Alternatives to using calculated options include the following:</P
-><P
-></P
-><UL
-><LI
-><P
->CDL <A
-HREF="language.interface.html"
->interfaces</A
-> are a form of
-calculated option intended as an abstraction mechanism. An interface
-can be used to express the concept of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->any
-scheduler</I
-></SPAN
->, as opposed to a specific one such as the bitmap scheduler.</P
-></LI
-><LI
-><P
->If a calculated option would serve only to add additional information
-to a configuration header file, it may be possible to achieve the same
-effect using a <A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->
-property or one of the other properties related to header file
-generation.</P
-></LI
-></UL
-><DIV
-CLASS="TIP"
-><BLOCKQUOTE
-CLASS="TIP"
-><P
-><B
->Tip: </B
->If the first entry in a <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> expression is a negative
-number, for example <TT
-CLASS="LITERAL"
->calculated&nbsp;-1</TT
-> then this
-can be misinterpreted as an option instead of as part of the
-expression. Currently the <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> property does not take any
-options, but this may change in future. Option processing halts at the
-sequence <TT
-CLASS="LITERAL"
->--</TT
->, so the desired value can be expressed
-safely using
-<TT
-CLASS="LITERAL"
->calculated&nbsp;--&nbsp;-1</TT
-></P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Some of the CDL scripts in current <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> releases make excessive use
-of calculated options. This is partly because the recommended
-alternatives were not always available at the time the scripts were
-written. It is also partly because there is still some missing
-functionality, for example <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> properties cannot yet access
-the configuration data so it may be necessary to use <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
->
-properties to access the data and perform the desired manipulation via
-a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression. New scripts should use calculated options only in
-accordance with the guidelines.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->For options with the booldata flavor the current CDL syntax does not
-allow the enabled flag and the value to be calculated separately.
-Functionality to permit this may be added in a future release.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->It has been suggested that having options which are not
-user-modifiable is potentially confusing, and that a top-level
-<TT
-CLASS="LITERAL"
->cdl_constant</TT
-> command should be added to the
-language instead of or in addition to the <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> property. Such
-a change is under consideration. However because the value of a
-calculated option can depend on other options, it is not necessarily
-constant.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3799"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># A constant on some target hardware, perhaps user-modifiable on other
-# targets.
-cdl_option CYGNUM_HAL_RTC_PERIOD {
-    display       "Real-time clock period"
-    flavor        data
-    calculated    12500
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3802"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
->,
-<A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
-> and
-<A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
->,</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.active-if.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.compile.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.cdl-component.html b/doc/html/cdl-guide/ref.cdl-component.html
deleted file mode 100644 (file)
index a3c0ec5..0000000
+++ /dev/null
@@ -1,632 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->cdl_component</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="cdl_option"
-HREF="ref.cdl-option.html"><LINK
-REL="NEXT"
-TITLE="cdl_package"
-HREF="ref.cdl-package.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-option.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-package.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.CDL-COMPONENT"><TT
-CLASS="LITERAL"
->cdl_component</TT
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3091"
-></A
-><H2
->Name</H2
->Command <TT
-CLASS="LITERAL"
->cdl_component</TT
->&nbsp;--&nbsp;Define a component, a collection of configuration options</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3095"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_component &lt;name&gt; {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3097"
-></A
-><H2
->Description</H2
-><P
->A component is a configuration option that can contain additional
-options and sub-components. The body of a <TT
-CLASS="LITERAL"
->cdl_component</TT
-> can contain
-the same properties as that of a <TT
-CLASS="LITERAL"
->cdl_option</TT
->. There is an additional
-property, <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> which allows configuration data to be split into
-multiple files. It is also possible for a component body to include
-<TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_option</TT
-> and <TT
-CLASS="LITERAL"
->cdl_interface</TT
-> entities that should
-go below this component in the configuration hierarchy.</P
-><P
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-> is implemented as a Tcl command that takes two
-arguments, a name and a body. The name must be a valid C preprocessor
-identifier: a sequence of upper or lower case letters, digits or
-underscores, starting with a non-digit character; identifiers
-beginning with an underscore should normally be avoided because they
-may clash with system packages or with identifiers reserved for use by
-the compiler. Within a single configuration, names must be unique. If
-a configuration contained two packages which defined the same entity
-<TT
-CLASS="LITERAL"
->CYGIMP_SOME_OPTION</TT
->, any references to that entity
-in a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property or any other expression would be ambiguous.
-It is possible for a given name to be used by two different packages
-if those packages should never be loaded into a single configuration.
-For example, architectural HAL packages are allowed to re-use certain
-names because a single configuration cannot target two different
-architectures. For a recommended naming convention see <A
-HREF="package.contents.html"
->the Section called <I
->Package Contents and Layout</I
-> in Chapter 2</A
->.</P
-><P
->The second argument to <TT
-CLASS="LITERAL"
->cdl_component</TT
-> is a body of properties and
-other commands, typically surrounded by braces so that the Tcl
-interpreter treats it as a single argument. This body will be
-processed by a recursive invocation of the Tcl interpreter, extended
-with additional commands for the various properties that are allowed
-inside a <TT
-CLASS="LITERAL"
->cdl_component</TT
->. The valid commands are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
-></DT
-><DD
-><P
->Allow additional control over the active state of this component.</P
-></DD
-><DT
-><A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
-></DT
-><DD
-><P
->The component's value is not directly user-modifiable, it is calculated
-using a suitable CDL expression.</P
-></DD
-><DT
-><A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
-></DT
-><DD
-><P
->Define a sub-component.</P
-></DD
-><DT
-><A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
-></DT
-><DD
-><P
->Define an interface which should appear immediately below this
-component in the configuration hierarchy.</P
-></DD
-><DT
-><A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
-></DT
-><DD
-><P
->Define a configuration option which should appear immediately below
-this component in the configuration hierarchy.</P
-></DD
-><DT
-><A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
-></DT
-><DD
-><P
->List the source files that should be built if this component is active
-and enabled.</P
-></DD
-><DT
-><A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
-></DT
-><DD
-><P
->Provide a default value for this component using a CDL expression.</P
-></DD
-><DT
-><A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
-></DT
-><DD
-><P
->Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that should go
-into the owning package's configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
-></DT
-><DD
-><P
->Control how the component's value will appear in the configuration header
-file.</P
-></DD
-><DT
-><A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
-></DT
-><DD
-><P
->Use a fragment of Tcl code to output additional data to
-configuration header files.</P
-></DD
-><DT
-><A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-></DT
-><DD
-><P
->Provide a textual description for this component.</P
-></DD
-><DT
-><A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
-></DT
-><DD
-><P
->Provide a short string describing this component.</P
-></DD
-><DT
-><A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
-></DT
-><DD
-><P
->The location of on-line documentation for this component.</P
-></DD
-><DT
-><A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
-></DT
-><DD
-><P
->Specify the nature of this component.</P
-></DD
-><DT
-><A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-></DT
-><DD
-><P
->Output a common preprocessor construct to a configuration header file. </P
-></DD
-><DT
-><A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
-></DT
-><DD
-><P
->Enabling this component provides one instance of a more general
-interface. </P
-></DD
-><DT
-><A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
-></DT
-><DD
-><P
->Impose constraints on the possible values for this component.</P
-></DD
-><DT
-><A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this component, resulting
-in a target that should not go directly into a library.</P
-></DD
-><DT
-><A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this component, resulting
-in an object file that should go into a library.</P
-></DD
-><DT
-><A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
-></DT
-><DD
-><P
->Suppress the normal generation of a preprocessor
-<TT
-CLASS="LITERAL"
->#define</TT
-> symbol in a configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
-></DT
-><DD
-><P
->Control the location of this component in the configuration hierarchy. </P
-></DD
-><DT
-><A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
-></DT
-><DD
-><P
->List constraints that the configuration should satisfy if this component is
-active and enabled.</P
-></DD
-><DT
-><A
-HREF="ref.script.html"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></A
-></DT
-><DD
-><P
->Include additional configuration information from another
-CDL script</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3255"
-></A
-><H2
->Example</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGDBG_USE_ASSERTS {
-    display       "Use asserts"
-    default_value 1
-    description   "
-        If this component is enabled, assertions in the code are
-        tested at run-time. Assert functions (CYG_ASSERT()) are
-        defined in 'include/cyg/infra/cyg_ass.h' within the 'install'
-        tree. If the component is disabled, these result in no
-        additional object code and no checking of the asserted
-        conditions."
-    script        assert.cdl
-}</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3259"
-></A
-><H2
->See Also</H2
-><P
->Command <A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
->,
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->,
-command <A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.cdl-option.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.cdl-package.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.cdl-interface.html b/doc/html/cdl-guide/ref.cdl-interface.html
deleted file mode 100644 (file)
index b3b0423..0000000
+++ /dev/null
@@ -1,697 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->cdl_interface</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="cdl_package"
-HREF="ref.cdl-package.html"><LINK
-REL="NEXT"
-TITLE="active_if"
-HREF="ref.active-if.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-package.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.active-if.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.CDL-INTERFACE"><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3484"
-></A
-><H2
->Name</H2
->Command <TT
-CLASS="LITERAL"
->cdl_interface</TT
->&nbsp;--&nbsp;Define an interface, functionality that can be provided by
-a number of different implementations.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3488"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_interface &lt;name&gt; {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3490"
-></A
-><H2
->Description</H2
-><P
->An interface is a special type of calculated configuration option.
-It provides an abstraction mechanism that is often useful in <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-expressions. As an example, suppose that some package relies on the
-presence of code that implements the standard kernel scheduling
-interface. However the requirement is no more stringent than this, so
-the constraint can be satisfied by the mlqueue scheduler, the bitmap
-scheduler, or any additional schedulers that may get implemented in
-future. A first attempt at expressing the dependency might be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGSEM_KERNEL_SCHED_MLQUEUE || CYGSEM_KERNEL_SCHED_BITMAP</PRE
-></TD
-></TR
-></TABLE
-><P
->This constraint is limited, it may need to be changed if a new
-scheduler were to be added to the system. Interfaces provide a way of
-expressing more general relationships:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGINT_KERNEL_SCHEDULER</PRE
-></TD
-></TR
-></TABLE
-><P
->The interface <TT
-CLASS="LITERAL"
->CYGINT_KERNEL_SCHEDULER</TT
-> is
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->implemented</I
-></SPAN
-> by both the mlqueue and bitmap
-schedulers, and may be implemented by future schedulers as well. The
-value of an interface is the number of implementors that are active
-and enabled, so in a typical configuration only one scheduler will be
-in use and the value of the interface will be <TT
-CLASS="LITERAL"
->1</TT
->. If
-all schedulers are disabled then the interface will have a value
-<TT
-CLASS="LITERAL"
->0</TT
-> and the <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraint will not be
-satisfied.</P
-><P
->Some component writers may prefer to use the first <SPAN
-CLASS="PROPERTY"
->requires</SPAN
->
-constraint on the grounds that the code will only have been tested
-with the mlqueue and bitmap schedulers and cannot be guaranteed to
-work with any new schedulers. Other component writers may take a more
-optimistic view and assume that their code will work with any
-scheduler until proven otherwise.</P
-><P
->Interfaces must be defined in CDL scripts, just like options,
-components and packages. This involves the command <TT
-CLASS="LITERAL"
->cdl_interface</TT
->
-which takes two arguments, a name and a body. The name must be a valid
-C preprocessor identifier: a sequence of upper or lower case letters,
-digits or underscores, starting with a non-digit character;
-identifiers beginning with an underscore should normally be avoided
-because they may clash with system packages or with identifiers
-reserved for use by the compiler. Within a single configuration, names
-must be unique. If a configuration contained two packages which
-defined the same entity <TT
-CLASS="LITERAL"
->CYGIMP_SOME_OPTION</TT
->, any
-references to that entity in a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property or any other
-expression would be ambiguous. It is possible for a given name to be
-used by two different packages if those packages should never be
-loaded into a single configuration. For example, architectural HAL
-packages are allowed to re-use names because a single configuration
-cannot target two different architectures. For a recommended naming
-convention see <A
-HREF="package.contents.html"
->the Section called <I
->Package Contents and Layout</I
-> in Chapter 2</A
->.</P
-><P
->The second argument to <TT
-CLASS="LITERAL"
->cdl_interface</TT
-> is a body of properties,
-typically surrounded by braces so that the Tcl interpreter treats it
-as a single argument. This body will be processed by a recursive
-invocation of the Tcl interpreter, extended with additional commands
-for the various properties that are allowed inside a <TT
-CLASS="LITERAL"
->cdl_interface</TT
->.
-The valid properties are a subset of those for a <TT
-CLASS="LITERAL"
->cdl_option</TT
->.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
-></DT
-><DD
-><P
->Allow additional control over the active state of this interface.</P
-></DD
-><DT
-><A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
-></DT
-><DD
-><P
->List the source files that should be built if this interface is active.</P
-></DD
-><DT
-><A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
-></DT
-><DD
-><P
->Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that should go
-into the owning package's configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
-></DT
-><DD
-><P
->Control how the interface's value will appear in the configuration header
-file.</P
-></DD
-><DT
-><A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
-></DT
-><DD
-><P
->Use a fragment of Tcl code to output additional data to
-configuration header files.</P
-></DD
-><DT
-><A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-></DT
-><DD
-><P
->Provide a textual description for this interface.</P
-></DD
-><DT
-><A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
-></DT
-><DD
-><P
->Provide a short string describing this interface.</P
-></DD
-><DT
-><A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
-></DT
-><DD
-><P
->The location of on-line documentation for this interface.</P
-></DD
-><DT
-><A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
-></DT
-><DD
-><P
->Interfaces have the <TT
-CLASS="LITERAL"
->data</TT
-> flavor by default, but
-they can also be given the <TT
-CLASS="LITERAL"
->bool</TT
-> or
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavor when necessary. A
-<TT
-CLASS="LITERAL"
->bool</TT
-> interface is disabled if there are no active
-and enabled implementors, otherwise it is enabled. A
-<TT
-CLASS="LITERAL"
->booldata</TT
-> interface is also disabled if there are no
-active and enabled implementors, otherwise it is enabled and the data
-is a number corresponding to the number of these implementors.</P
-></DD
-><DT
-><A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-></DT
-><DD
-><P
->Output a common preprocessor construct to a configuration header file. </P
-></DD
-><DT
-><A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
-></DT
-><DD
-><P
->If this interface is active it provides one instance of a more general
-interface. </P
-></DD
-><DT
-><A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
-></DT
-><DD
-><P
->Interfaces always have a small numerical value. The <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> can
-be used to apply additional constraints such as an upper limit.</P
-></DD
-><DT
-><A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this option, resulting
-in a target that should not go directly into a library.</P
-></DD
-><DT
-><A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this option, resulting
-in an object file that should go into a library.</P
-></DD
-><DT
-><A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
-></DT
-><DD
-><P
->Suppress the normal generation of a preprocessor
-<TT
-CLASS="LITERAL"
->#define</TT
-> symbol in a configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
-></DT
-><DD
-><P
->Control the location of this option in the configuration hierarchy. </P
-></DD
-><DT
-><A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
-></DT
-><DD
-><P
->List constraints that the configuration should satisfy if this option is
-active and enabled.</P
-></DD
-></DL
-></DIV
-><P
->A number of properties are not applicable to interfaces:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
-></DT
-><DD
-><P
->Interfaces are always calculated, based on the number of active and
-enabled entities that implement the interface.</P
-></DD
-><DT
-><A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
-></DT
-><DD
-><P
->Interface values are calculated so a <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property would be
-meaningless.</P
-></DD
-></DL
-></DIV
-><P
->Interfaces are not containers, so they cannot hold other entities such
-as options or components.</P
-><P
->A commonly used constraint on interface values takes the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    requires CYGINT_KERNEL_SCHEDULER == 1</PRE
-></TD
-></TR
-></TABLE
-><P
->This constraint specifies that there can be only one scheduler in the
-system. In some circumstances it is possible for the configuration
-tools to detect this pattern and act accordingly, so for example
-enabling the bitmap scheduler would automatically disable the mlqueue
-scheduler.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3644"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_interface CYGINT_KERNEL_SCHEDULER {
-    display  "Number of schedulers in this configuration"
-    requires 1 == CYGINT_KERNEL_SCHEDULER
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3647"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
->,
-command <A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
->.
-command <A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
->,
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.cdl-package.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.active-if.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.cdl-option.html b/doc/html/cdl-guide/ref.cdl-option.html
deleted file mode 100644 (file)
index b9adb59..0000000
+++ /dev/null
@@ -1,564 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->cdl_option</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="NEXT"
-TITLE="cdl_component"
-HREF="ref.cdl-component.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="reference.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-component.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.CDL-OPTION"><TT
-CLASS="LITERAL"
->cdl_option</TT
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2940"
-></A
-><H2
->Name</H2
->Command <TT
-CLASS="LITERAL"
->cdl_option</TT
->&nbsp;--&nbsp;Define a single configuration option</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN2944"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2946"
-></A
-><H2
->Description</H2
-><P
->The option is the basic unit of configurability. Generally each option
-corresponds to a single user choice. Typically there is a certain
-amount of information associated with an option to assist the user in
-manipulating that option, for example a textual description. There
-will also be some limits on the possible values that the user can
-choose, so an option may be a simple yes-or-no choice or it may be
-something more complicated such as an array size or a device name.
-Options may have associated constraints, so if that option is enabled
-then certain conditions have to satisfied elsewhere in the
-configuration. Options usually have direct consequences such as
-preprocessor <TT
-CLASS="LITERAL"
->#define</TT
-> symbols in a configuration
-header file.</P
-><P
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-> is implemented as a Tcl command that takes two arguments,
-a name and a body. The name must be a valid C preprocessor identifier:
-a sequence of upper or lower case letters, digits or underscores,
-starting with a non-digit character; identifiers beginning with an
-underscore should normally be avoided because they may clash with
-system packages or with identifiers reserved for use by the compiler.
-Within a single configuration, names must be unique. If a
-configuration contained two packages which defined the same entity
-<TT
-CLASS="LITERAL"
->CYGIMP_SOME_OPTION</TT
->, any references to that entity
-in a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property or any other expression
-would be ambiguous. It is possible for a given name to be used by two
-different packages if those packages should never be loaded into a
-single configuration. For example, architectural HAL packages are
-allowed to re-use names because a single configuration cannot target
-two different architectures. For a recommended naming convention see
-<A
-HREF="package.contents.html"
->the Section called <I
->Package Contents and Layout</I
-> in Chapter 2</A
->.</P
-><P
->The second argument to <TT
-CLASS="LITERAL"
->cdl_option</TT
-> is a body of
-properties, typically surrounded by braces so that the Tcl interpreter
-treats it as a single argument. This body will be processed by a
-recursive invocation of the Tcl interpreter, extended with additional
-commands for the various properties that are allowed inside a
-<TT
-CLASS="LITERAL"
->cdl_option</TT
->. The valid properties are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
-></DT
-><DD
-><P
->Allow additional control over the active state of this option.</P
-></DD
-><DT
-><A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
-></DT
-><DD
-><P
->The option's value is not directly user-modifiable, it is calculated
-using a suitable CDL expression.</P
-></DD
-><DT
-><A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
-></DT
-><DD
-><P
->List the source files that should be built if this option is active
-and enabled.</P
-></DD
-><DT
-><A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
-></DT
-><DD
-><P
->Provide a default value for this option using a CDL expression.</P
-></DD
-><DT
-><A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
-></DT
-><DD
-><P
->Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that should go
-into the owning package's configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
-></DT
-><DD
-><P
->Control how the option's value will appear in the configuration header
-file.</P
-></DD
-><DT
-><A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
-></DT
-><DD
-><P
->Use a fragment of Tcl code to output additional data to
-configuration header files.</P
-></DD
-><DT
-><A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-></DT
-><DD
-><P
->Provide a textual description for this option.</P
-></DD
-><DT
-><A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
-></DT
-><DD
-><P
->Provide a short string describing this option.</P
-></DD
-><DT
-><A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
-></DT
-><DD
-><P
->The location of on-line documentation for this option.</P
-></DD
-><DT
-><A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
-></DT
-><DD
-><P
->Specify the nature of this option.</P
-></DD
-><DT
-><A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-></DT
-><DD
-><P
->Output a common preprocessor construct to a configuration header file. </P
-></DD
-><DT
-><A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
-></DT
-><DD
-><P
->Enabling this option provides one instance of a more general
-interface. </P
-></DD
-><DT
-><A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
-></DT
-><DD
-><P
->Impose constraints on the possible values for this option.</P
-></DD
-><DT
-><A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this option, resulting
-in a target that should not go directly into a library.</P
-></DD
-><DT
-><A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this option, resulting
-in an object file that should go into a library.</P
-></DD
-><DT
-><A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
-></DT
-><DD
-><P
->Suppress the normal generation of a preprocessor
-<TT
-CLASS="LITERAL"
->#define</TT
-> symbol in a configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
-></DT
-><DD
-><P
->Control the location of this option in the configuration hierarchy. </P
-></DD
-><DT
-><A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
-></DT
-><DD
-><P
->List constraints that the configuration should satisfy if this option is
-active and enabled.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3075"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDBG_INFRA_DEBUG_PRECONDITIONS {
-    display       "Preconditions"
-    default_value 1
-    description   "
-        This option allows individual control of preconditions.
-        A precondition is one type of assert, which it is
-        useful to control separately from more general asserts.
-        The function is CYG_PRECONDITION(condition,msg)."
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3078"
-></A
-><H2
->See Also</H2
-><P
->Command <A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
->,
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->,
-command <A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.cdl-component.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CDL Language Specification</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.cdl-package.html b/doc/html/cdl-guide/ref.cdl-package.html
deleted file mode 100644 (file)
index c726879..0000000
+++ /dev/null
@@ -1,706 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->cdl_package</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="cdl_component"
-HREF="ref.cdl-component.html"><LINK
-REL="NEXT"
-TITLE="cdl_interface"
-HREF="ref.cdl-interface.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-component.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-interface.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.CDL-PACKAGE"><TT
-CLASS="LITERAL"
->cdl_package</TT
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3272"
-></A
-><H2
->Name</H2
->Command <TT
-CLASS="LITERAL"
->cdl_package</TT
->&nbsp;--&nbsp;Define a package, a component that can be distributed</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3276"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_package &lt;name&gt; {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3278"
-></A
-><H2
->Description</H2
-><P
->A package is a unit of distribution. It is also a configuration option
-in that users can choose whether or not a particular package is loaded
-into the configuration, and which version of that package should be
-loaded. It is also a component in that it can contain additional
-components and options in a hierarchy.</P
-><P
->The top-level <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> script for a package should begin with a <TT
-CLASS="LITERAL"
->cdl_package</TT
->
-command. This can contain most of the properties that can be used in a
-<TT
-CLASS="LITERAL"
->cdl_option</TT
-> command, and a number of additional ones which apply to a
-package as a whole. It is also possible to include <TT
-CLASS="LITERAL"
->cdl_component</TT
->,
-<TT
-CLASS="LITERAL"
->cdl_interface</TT
-> and <TT
-CLASS="LITERAL"
->cdl_option</TT
-> commands in the body of a package.
-However all configuration entities that occur at the top level of the
-script containing the <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command are automatically placed
-below that package in the configuration hierarchy, so putting them
-inside the body has no effect.</P
-><P
->The following properties cannot be used in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
->
-command:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></DT
-><DD
-><P
->Packages always have the flavor <TT
-CLASS="LITERAL"
->booldata</TT
->.</P
-></DD
-><DT
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></DT
-><DD
-><P
->The value of a package is its version number. This is specified at the
-time the package is loaded into the configuration, and cannot be
-calculated afterwards. Typically the most recent version of the
-package will be loaded.</P
-></DD
-><DT
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></DT
-><DD
-><P
->The legal values list for a given package is determined by which
-versions of that package are installed in the component repository,
-and cannot be further constrained in the CDL scripts.</P
-></DD
-><DT
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></DT
-><DD
-><P
->The value of a package is always selected at the time that it is
-loaded into the configuration, and cannot be re-calculated afterwards.</P
-></DD
-><DT
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></DT
-><DD
-><P
->This would be redundant since the CDL script containing the
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> command acts as that package's script.</P
-></DD
-></DL
-></DIV
-><P
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-> is implemented as a Tcl command that takes two
-arguments, a name and a body. The name must be a valid C preprocessor
-identifier: a sequence of upper or lower case letters, digits or
-underscores, starting with a non-digit character; identifiers
-beginning with an underscore should normally be avoided because they
-may clash with system packages or with identifiers reserved for use by
-the compiler. Packages should always have unique names within a given
-component repository. For a recommended naming convention see <A
-HREF="package.contents.html"
->the Section called <I
->Package Contents and Layout</I
-> in Chapter 2</A
->.</P
-><P
->The second argument to <TT
-CLASS="LITERAL"
->cdl_package</TT
-> is a body of properties and other
-commands, typically surrounded by braces so that the Tcl interpreter
-treats it as a single argument. This body will be processed by a
-recursive invocation of the Tcl interpreter, extended with additional
-commands for the various properties that are allowed inside a
-<TT
-CLASS="LITERAL"
->cdl_package</TT
->. The valid commands are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
-></DT
-><DD
-><P
->Allow additional control over the active state of this package.</P
-></DD
-><DT
-><A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
-></DT
-><DD
-><P
->Define a component which should appear immediately below this package
-in the configuration hierarchy.</P
-></DD
-><DT
-><A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
-></DT
-><DD
-><P
->Define an interface which should appear immediately below this
-package in the configuration hierarchy.</P
-></DD
-><DT
-><A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
-></DT
-><DD
-><P
->Define an option which should appear immediately below
-this package in the configuration hierarchy.</P
-></DD
-><DT
-><A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
-></DT
-><DD
-><P
->List the source files that should be built for this package.</P
-></DD
-><DT
-><A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
-></DT
-><DD
-><P
->Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that should go
-into the package's configuration header file.</P
-></DD
-><DT
-><A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
-></DT
-><DD
-><P
->Control how the package's value will appear in the global
-configuration header file <TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
-></P
-></DD
-><DT
-><A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
-></DT
-><DD
-><P
->Specify the configuration header file that will be generated for this package.</P
-></DD
-><DT
-><A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
-></DT
-><DD
-><P
->Use a fragment of Tcl code to output additional data to
-configuration header files.</P
-></DD
-><DT
-><A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-></DT
-><DD
-><P
->Provide a textual description for this component.</P
-></DD
-><DT
-><A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
-></DT
-><DD
-><P
->Provide a short string describing this component.</P
-></DD
-><DT
-><A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
-></DT
-><DD
-><P
->The location of on-line documentation for this component.</P
-></DD
-><DT
-><A
-HREF="ref.hardware.html"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></A
-></DT
-><DD
-><P
->This package is tied to specific hardware.</P
-></DD
-><DT
-><A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-></DT
-><DD
-><P
->Output a common preprocessor construct to a configuration header file. </P
-></DD
-><DT
-><A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
-></DT
-><DD
-><P
->Enabling this component provides one instance of a more general
-interface. </P
-></DD
-><DT
-><A
-HREF="ref.include-dir.html"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></A
-></DT
-><DD
-><P
->Specify the desired location of this package's exported header files in
-the install tree.</P
-></DD
-><DT
-><A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
-></DT
-><DD
-><P
->List the header files that are exported by this package.</P
-></DD
-><DT
-><A
-HREF="ref.library.html"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></A
-></DT
-><DD
-><P
->Specify which library should contain the object files
-generated by building this package.</P
-></DD
-><DT
-><A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this component, resulting
-in a target that should not go directly into a library.</P
-></DD
-><DT
-><A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
-></DT
-><DD
-><P
->An additional custom build step associated with this component, resulting
-in an object file that should go into a library.</P
-></DD
-><DT
-><A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
-></DT
-><DD
-><P
->Suppress the normal generation of the package's
-<TT
-CLASS="LITERAL"
->#define</TT
-> in the global configuration header file
-<TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->.</P
-></DD
-><DT
-><A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
-></DT
-><DD
-><P
->Control the location of this package in the configuration hierarchy. </P
-></DD
-><DT
-><A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
-></DT
-><DD
-><P
->List constraints that the configuration should satisfy if this package is
-active.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3468"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_INFRA {
-    display       "Infrastructure"
-    include_dir   cyg/infra
-    description   "
-        Common types and useful macros.
-        Tracing and assertion facilities.
-        Package startup options." 
-
-    compile startup.cxx prestart.cxx pkgstart.cxx userstart.cxx      \
-            dummyxxmain.cxx null.cxx simple.cxx fancy.cxx buffer.cxx \
-            diag.cxx tcdiag.cxx memcpy.c memset.c delete.cxx
-}&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3471"
-></A
-><H2
->See Also</H2
-><P
->Command <A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
->,
-command <A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
->,
-command <A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.cdl-component.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.cdl-interface.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.compile.html b/doc/html/cdl-guide/ref.compile.html
deleted file mode 100644 (file)
index 8db4d04..0000000
+++ /dev/null
@@ -1,460 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->compile</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="calculated"
-HREF="ref.calculated.html"><LINK
-REL="NEXT"
-TITLE="default_value"
-HREF="ref.default-value.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.calculated.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.default-value.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.COMPILE"><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3815"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->&nbsp;--&nbsp;List the source files that should be built if this option
-is active and enabled.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3819"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    compile [-library=libxxx.a] &lt;list of files&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3821"
-></A
-><H2
->Description</H2
-><P
->The <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property allows component developers to specify source
-files which should be compiled and added to one of the target
-libraries. Usually each source file will end up the library
-<TT
-CLASS="FILENAME"
->libtarget.a</TT
->. It is possible for component writers
-to specify an alternative library for an entire package using the
-<A
-HREF="ref.library.html"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></A
-> property. Alternatively
-the desired library can be specified on the <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> line itself. For
-example, to add a particular source file to the
-<TT
-CLASS="FILENAME"
->libextras.a</TT
-> library the following could be used:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_IO_SERIAL {
-    &#8230;
-    compile -library=libextras.a common/tty.c
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Details of the build process including such issues as compiler flags
-and the order in which things happen can be found in
-<A
-HREF="build.html"
->Chapter 4</A
->. </P
-><P
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties can occur in any of <TT
-CLASS="LITERAL"
->cdl_option</TT
->,
-<TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_package</TT
-> or <TT
-CLASS="LITERAL"
->cdl_interface</TT
->. A <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-property has effect if and only if the entity that contains it is
-active and enabled. Typically the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> will define
-any source files that need to be built irrespective of individual
-options, and each <TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_option</TT
->, and <TT
-CLASS="LITERAL"
->cdl_interface</TT
->
-will define source files that are more specific. A single <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-property can list any number of source files, all destined for the
-same library. A <TT
-CLASS="LITERAL"
->cdl_option</TT
-> or other entity can contain multiple
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties, each of which can specify a different library.
-It is possible for a given source file to be specified in <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-properties for several different options, in which case the source
-file will get built if any of these options are active and enabled.</P
-><P
->If the package follows the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory
-layout conventions</A
-> then the configuration tools will search for
-the specified source files first in the
-<TT
-CLASS="FILENAME"
->src</TT
-> subdirectory of the
-package, then relative to the package directory itself. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->A shortcoming of the current specification of <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties is
-that there is no easy way to specify source files that should be built
-unless an option is enabled. It would sometimes be useful to be able
-to say: &#8220;if option <TT
-CLASS="LITERAL"
->A</TT
-> is enabled then compile
-file <TT
-CLASS="FILENAME"
->x.c</TT
->, otherwise compile file
-<TT
-CLASS="FILENAME"
->y.c</TT
->. There are two simple ways of achieving this: </P
-><P
-></P
-><UL
-><LI
-><P
->Always compile <TT
-CLASS="FILENAME"
->y.c</TT
->, typically by listing it in
-the body of the <TT
-CLASS="LITERAL"
->cdl_package</TT
->, but use
-<TT
-CLASS="LITERAL"
->#ifndef&nbsp;A</TT
-> to produce an empty object file if
-option <TT
-CLASS="LITERAL"
->A</TT
-> is not enabled. This has the big
-disadvantage that the file always gets compiled and hence for some
-configurations builds will take longer than necessary.</P
-></LI
-><LI
-><P
->Use a <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> option whose value is <TT
-CLASS="LITERAL"
->!A</TT
->, and
-have a <TT
-CLASS="LITERAL"
->compile&nbsp;y.c</TT
-> property in its body. This
-has the big disadvantage of adding another calculated option to the
-configuration.</P
-></LI
-></UL
-><P
->It is likely that this will be resolved in the future, possibly by
-using some sort of expression as the argument to a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> property.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Currently it is not possible to control the priority of a <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-property, in other words the order in which a file gets compiled
-relative to other build steps. This functionality might prove useful
-for complicated packages and should be added.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3874"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_INFRA {
-    display       "Infrastructure"
-    include_dir   cyg/infra
-    description   "
-        Common types and useful macros.
-        Tracing and assertion facilities.
-        Package startup options." 
-
-    compile startup.cxx prestart.cxx pkgstart.cxx userstart.cxx \
-            dummyxxmain.cxx memcpy.c memset.c delete.cxx \
-            diag.cxx tcdiag.cxx
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3877"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.make.html"
->make</A
->,
-<A
-HREF="ref.make-object.html"
->make_object</A
-> and
-<A
-HREF="ref.library.html"
->library</A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.calculated.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.default-value.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.default-value.html b/doc/html/cdl-guide/ref.default-value.html
deleted file mode 100644 (file)
index 014d48a..0000000
+++ /dev/null
@@ -1,540 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->default_value</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="compile"
-HREF="ref.compile.html"><LINK
-REL="NEXT"
-TITLE="define"
-HREF="ref.define.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.compile.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.define.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DEFAULT-VALUE"><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3887"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->&nbsp;--&nbsp;Provide a default value for this option using a CDL expression.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3891"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    default_value &lt;expression&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3893"
-></A
-><H2
->Description</H2
-><P
->The <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property allows the initial value of a
-configuration option to depend on other configuration options. The
-arguments to the property should be a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> expression, see
-<A
-HREF="language.values.html#LANGUAGE.EXPRESSION"
->the Section called <I
->Ordinary Expressions</I
-> in Chapter 3</A
-> for the syntactic details.
-In many cases a simple constant value will suffice, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_KERNEL_EXCEPTIONS {
-    &#8230;
-    default_value 1
-
-    cdl_option CYGSEM_KERNEL_EXCEPTIONS_DECODE {
-        &#8230;
-        default_value 0
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->However it is also possible for an option's default value to depend on
-other options. For example the common HAL package provides some
-support functions that are needed by the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> kernel, but are
-unlikely to be useful if the kernel is not being used. This
-relationship can be expressed using:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGFUN_HAL_COMMON_KERNEL_SUPPORT {
-    ...
-    default_value CYGPKG_KERNEL
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If the kernel is loaded then this HAL option is automatically enabled,
-although the user can still disable it explicitly should this prove
-necessary. If the kernel is not loaded then the option is disabled,
-although it can still be enabled by the user if desired.
-<SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expressions can be more complicated than this if
-appropriate, and provide a very powerful facility for component
-writers who want their code to &#8220;just do the right thing&#8221;
-in a wide variety of configurations.</P
-><P
->The <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> configuration system evaluates the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->
-expression when the current package is loaded and whenever there is a
-change to any other option referenced in the expression. The result
-depends on the option's flavor:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->flavor none</TT
-></DT
-><DD
-><P
->Options with this flavor have no value, so the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->
-property is not applicable.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor bool</TT
-></DT
-><DD
-><P
->If the expression evaluates to a non-zero result the option is
-enabled by default, otherwise it is disabled.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor booldata</TT
-></DT
-><DD
-><P
->If the result of evaluating the expression is zero then the option is
-disabled, otherwise the option is enabled and its value is the result.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor data</TT
-></DT
-><DD
-><P
->The default value of the option is the result of evaluating the
-expression.</P
-></DD
-></DL
-></DIV
-><P
->A <TT
-CLASS="LITERAL"
->cdl_option</TT
-> or other entity can have at most one <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
->
-property, and it is illegal to have both a <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> and a
-<SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property in one body. If an option does not have
-either a <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> or a <SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-> property and it does not
-have the flavor <TT
-CLASS="LITERAL"
->none</TT
-> then the configuration tools
-will assume a default value expression of <TT
-CLASS="LITERAL"
->0</TT
->.</P
-><P
->On occasion it is useful to have a configuration option
-<TT
-CLASS="LITERAL"
->A</TT
-> which has both a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraint on some
-other option <TT
-CLASS="LITERAL"
->B</TT
-> and a <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expression of
-<TT
-CLASS="LITERAL"
->B</TT
->. If option <TT
-CLASS="LITERAL"
->B</TT
-> is not enabled
-then <TT
-CLASS="LITERAL"
->A</TT
-> will also be disabled by default and no
-conflict arises. If <TT
-CLASS="LITERAL"
->B</TT
-> is enabled then
-<TT
-CLASS="LITERAL"
->A</TT
-> also becomes enabled and again no conflict
-arises. If a user attempts to enable <TT
-CLASS="LITERAL"
->B</TT
-> but not
-<TT
-CLASS="LITERAL"
->A</TT
-> then there will be a conflict. Users should be
-able to deduce that the two options are closely interlinked and should
-not be manipulated independently except in very unusual circumstances.</P
-><DIV
-CLASS="TIP"
-><BLOCKQUOTE
-CLASS="TIP"
-><P
-><B
->Tip: </B
->If the first entry in a <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> expression is a negative
-number, for example <TT
-CLASS="LITERAL"
->default_value&nbsp;-1</TT
-> then this
-can be misinterpreted as an option instead of as part of the
-expression. Currently the <SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-> property does not take any
-options, but this may change in future. Option processing halts at the
-sequence <TT
-CLASS="LITERAL"
->--</TT
->, so the desired value can be expressed
-safely using
-<TT
-CLASS="LITERAL"
->default_value&nbsp;--&nbsp;-1</TT
-></P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In many cases it would be useful to calculate default values using
-some global preferences, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGIMP_LIBC_STRING_PREFER_SMALL_TO_FAST {
-    &#8230;
-    default_value CYGGLO_CODESIZE &#62; CYGGLO_SPEED
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Such global preference options do not yet exist, but are likely to be
-added in a future version.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->For options with the booldata flavor the current syntax does not allow
-the default values of the enabled flag and the value to be controlled
-separately. Functionality to permit this may be added in a future
-release.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3964"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    display       "Include GDB multi-threading debug support"
-    requires      CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    default_value CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT
-    description   "
-        This option enables some extra HAL code which is needed
-        to support multi-threaded source level debugging."
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3967"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
->,
-<A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
-> and
-<A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.compile.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.define.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.define-format.html b/doc/html/cdl-guide/ref.define-format.html
deleted file mode 100644 (file)
index 5dbd2b7..0000000
+++ /dev/null
@@ -1,398 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->define_format</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="define"
-HREF="ref.define.html"><LINK
-REL="NEXT"
-TITLE="define_header"
-HREF="ref.define-header.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.define.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.define-header.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DEFINE-FORMAT"><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4073"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
->&nbsp;--&nbsp;Control how an option's value will appear in the
-configuration header file.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4077"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    define_format &lt;format string&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4079"
-></A
-><H2
->Description</H2
-><P
->For active options with the <TT
-CLASS="LITERAL"
->data</TT
-> flavor, and for
-active and enabled options with the <TT
-CLASS="LITERAL"
->booldata</TT
->
-flavor, the configuration tools will normally generate two
-<TT
-CLASS="LITERAL"
->#define's</TT
-> in the package's configuration header
-file. These take the following forms:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define &lt;name&gt; &lt;value&gt;
-#define &lt;name&gt;_&lt;value&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> property can be used to control exactly what
-appears as the value for the first of these
-<TT
-CLASS="LITERAL"
->#define's</TT
->. For example, the following can be used
-to output some configuration data as a C string:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option &lt;name&gt; {
-    &#8230;
-    define -format="\\\"%s\\\"" &lt;symbol&gt;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The implementation of <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> involves concatenating the Tcl
-command <TT
-CLASS="LITERAL"
->format</TT
->, the format string, and the string
-representation of the option's value, and evaluating this in a Tcl
-interpreter. Therefore the format string will be processed twice by a
-Tcl parser, and appropriate care has to be taken with quoting.</P
-><P
->The second <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated only if is a
-valid C preprocessor macro symbol, and is not affected by the
-<SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> property. Also, the property is only relevant for
-options with the <TT
-CLASS="LITERAL"
->data</TT
-> or
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavor, and cannot be used in
-conjunction with the <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property since it makes no sense to
-specify the format if no <TT
-CLASS="LITERAL"
->#define</TT
-> is generated.</P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Because the Tcl interpreter's <TT
-CLASS="LITERAL"
->format</TT
-> command is
-used, this property is subject to any problems with the implementation
-of this in the Tcl library. Generally there should be no problems with
-string data or with integers up to 32 bits, but there may well be
-problems if 64-bit data is involved. This issue may be addressed in a
-future release.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4103"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_UITRON_VER_ID     {
-    display       "OS identification"
-    flavor        data
-    legal_values  0 to 0xFFFF
-    default_value 0
-    define_format "0x%04x"
-    description   "
-        This value is returned in the 'id'
-        field of the T_VER structure in
-        response to a get_ver() system call."
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4106"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->,
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-> and
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.define.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.define-header.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.define-header.html b/doc/html/cdl-guide/ref.define-header.html
deleted file mode 100644 (file)
index 9539706..0000000
+++ /dev/null
@@ -1,353 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->define_header</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="define_format"
-HREF="ref.define-format.html"><LINK
-REL="NEXT"
-TITLE="define_proc"
-HREF="ref.define-proc.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.define-format.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.define-proc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DEFINE-HEADER"><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4123"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
->&nbsp;--&nbsp;Specify the  configuration header file that
-will be generated for a given package.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4127"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_package &lt;name&gt; {
-    define_header &lt;file name&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4129"
-></A
-><H2
->Description</H2
-><P
->When the configuration tools generate a build tree, one of the steps
-is to output each package's configuration data to a header file. For
-example the kernel's configuration data gets output to
-<TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->. This allows
-each package's source code to <TT
-CLASS="LITERAL"
->#include</TT
-> the
-appropriate header file and adapt to the choices made by the user.</P
-><P
->By default the configuration tools will synthesize a file name from
-the package name. This involves removing any prefix such as
-<TT
-CLASS="LITERAL"
->CYGPKG_</TT
->, up to and including the first underscore,
-and then converting the remainder of the name to lower case. In some
-cases it may be desirable to use a different header file, for example
-an existing package may have been ported to <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> and the source code
-may already <TT
-CLASS="LITERAL"
->#include</TT
-> a particular file for
-configuration data. In such cases a <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property can be
-used to specify an alternative filename.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-> property can only be used in the body of a
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> command. It applies to a package as a whole and cannot
-be used at a finer grain. The name specified in a <SPAN
-CLASS="PROPERTY"
->define_header</SPAN
->
-property will always be interpreted as relative to the
-<TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> sub-directory
-of the install tree.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->For hardware-specific packages such as device drivers and HAL
-packages, the current scheme of generating a configuration header file
-name based on the package name may be abandoned. Instead all hardware
-packages would send their configuration data to a single header file,
-<TT
-CLASS="FILENAME"
->pkgconf/hardware.h</TT
->. This would
-make it easier for code to obtain details of the current hardware, but
-obviously there are compatibility issues. For now it is recommended
-that all hardware packages specify their configuration header file
-explicitly. </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4147"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_ARM {
-    display       "ARM architecture"
-    parent        CYGPKG_HAL
-    hardware
-    include_dir   cyg/hal
-    define_header hal_arm.h
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4150"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->,
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
->,
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
-> and
-<A
-HREF="ref.hardware.html"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></A
->,</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.define-format.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.define-proc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.define-proc.html b/doc/html/cdl-guide/ref.define-proc.html
deleted file mode 100644 (file)
index 80d6952..0000000
+++ /dev/null
@@ -1,408 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->define_proc</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="define_header"
-HREF="ref.define-header.html"><LINK
-REL="NEXT"
-TITLE="description"
-HREF="ref.description.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.define-header.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.description.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DEFINE-PROC"><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4169"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
->&nbsp;--&nbsp;Use a fragment of Tcl code to output additional data to
-configuration header files.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4173"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    define_proc &lt;Tcl script&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4175"
-></A
-><H2
->Description</H2
-><P
->For most configuration options it is sufficient to have an entry in
-the configuration header file of the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define &lt;name&gt; &lt;value&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->In some cases it is desirable to perform some more complicated
-processing when generating a configuration header file. There are a
-number of CDL properties for this, including <SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->if_define</SPAN
->. The most flexible is <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
->: this allows the
-component writer to specify a Tcl script that gets invoked whenever
-the configuration system generates the header file for the owning
-package. The script can output anything to the header file, for
-example it could generate a C data structure based on various
-configuration values.</P
-><P
->At the point that the <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> script is invoked there will be
-two channels to open files, accessible via Tcl variables:
-<TT
-CLASS="LITERAL"
->cdl_header</TT
-> is a channel to the current package's
-own header file for example
-<TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->;
-<TT
-CLASS="LITERAL"
->cdl_system_header</TT
-> is a channel to the global
-configuration file
-<TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->. A typical
-<SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> script will use the <TT
-CLASS="LITERAL"
->puts</TT
-> command to
-output data to one of these channels.</P
-><P
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-> properties only take effect if the current option is
-active and enabled. The default behavior of the configuration system
-for an option with the <TT
-CLASS="LITERAL"
->bool</TT
-> flavor corresponds to
-the following <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    cdl_option XXX {
-        &#8230;
-        define_proc {
-            puts $cdl_header "#define XXX 1"
-        }
-}</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->In the current implementation it is not possible for a <SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
->
-property to examine the current values of various configuration
-options and adapt accordingly. This is a major limitation, and will be
-addressed in future versions of the configuration tools.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4199"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_ARM_PID {
-    display       "ARM PID evaluation board"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_pid.h
-    include_dir   cyg/hal
-    hardware
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   &lt;pkgconf/hal_arm.h&gt;"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H &lt;pkgconf/hal_arm_pid.h&gt;"
-        puts $::cdl_header ""
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"ARM 7TDMI\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"PID\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
-        puts $::cdl_header ""
-    }
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4202"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-> and
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.define-header.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.description.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.define.html b/doc/html/cdl-guide/ref.define.html
deleted file mode 100644 (file)
index c429068..0000000
+++ /dev/null
@@ -1,544 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->define</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="default_value"
-HREF="ref.default-value.html"><LINK
-REL="NEXT"
-TITLE="define_format"
-HREF="ref.define-format.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.default-value.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.define-format.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DEFINE"><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3980"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->define</SPAN
->&nbsp;--&nbsp;Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that
-should go into the owning package's configuration header file.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3985"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    define [-file=&lt;filename&gt;] [-format=&lt;format&gt;] &lt;symbol&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3987"
-></A
-><H2
->Description</H2
-><P
->Normally the configuration system generates a single
-<TT
-CLASS="LITERAL"
->#define</TT
-> for each option that is active and enabled,
-with the defined symbol being the name of the option. These
-<TT
-CLASS="LITERAL"
->#define's</TT
-> go to the package's own configuration
-header file, for example <TT
-CLASS="FILENAME"
->pkgconf/kernel.h</TT
->
-for kernel configuration options. For the majority of options this is
-sufficient. Sometimes it is useful to have more control over which
-<TT
-CLASS="LITERAL"
->#define's</TT
-> get generated.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->define</SPAN
-> property can be used to generate an addition
-<TT
-CLASS="LITERAL"
->#define</TT
-> if the option is both active and enabled,
-for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_LIBC_STDIO_FOPEN_MAX {
-    &#8230;
-    define FOPEN_MAX
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If this option is given the value 40 then the following
-<TT
-CLASS="LITERAL"
->#define's</TT
-> will be generated in the configuration
-header <TT
-CLASS="FILENAME"
->pkgconf/libc.h</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->#define CYGNUM_LIBC_STDIO_FOPEN_MAX 40
-#define FOPEN_MAX 40</PRE
-></TD
-></TR
-></TABLE
-><P
->The default <TT
-CLASS="LITERAL"
->#define</TT
-> can be suppressed if desired
-using the <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property. This is useful if the symbol should
-only be defined in
-<TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
-> and not in
-the package's own configuration header file. The value that will be
-used for this <TT
-CLASS="LITERAL"
->#define</TT
-> is the same as for the
-default one, and depends on the option's flavor as follows:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->flavor none</TT
-></DT
-><DD
-><P
->Options with this flavor are always enabled and have no value, so the
-constant <TT
-CLASS="LITERAL"
->1</TT
-> will be used.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor bool</TT
-></DT
-><DD
-><P
->If the option is disabled then no <TT
-CLASS="LITERAL"
->#define</TT
-> will be
-generated. Otherwise the constant <TT
-CLASS="LITERAL"
->1</TT
-> will be used.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor booldata</TT
-></DT
-><DD
-><P
->If the option is disabled then no <TT
-CLASS="LITERAL"
->#define</TT
-> will be
-generated. Otherwise the option's current value will be used.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->flavor data</TT
-></DT
-><DD
-><P
->The option's current value will be used.</P
-></DD
-></DL
-></DIV
-><P
->For active options with the <TT
-CLASS="LITERAL"
->data</TT
-> flavor, and for
-active and enabled options with the <TT
-CLASS="LITERAL"
->booldata</TT
->
-flavor, either one or two <TT
-CLASS="LITERAL"
->#define's</TT
-> will be
-generated. These take the following forms:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define &lt;symbol&gt; &lt;value&gt;
-#define &lt;symbol&gt;_&lt;value&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->For the first <TT
-CLASS="LITERAL"
->#define</TT
-> it is possible to control the
-format used for the value using a
-<TT
-CLASS="LITERAL"
->-format=&lt;format&gt;</TT
-> option. For example, the
-following can be used to output some configuration data as a C string:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option &lt;name&gt; {
-    &#8230;
-    define -format="\\\"%s\\\"" &lt;symbol&gt;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The implementation of this facility involves concatenating the
-Tcl command <TT
-CLASS="LITERAL"
->format</TT
->, the format string, and the
-string representation of the option's value, and evaluating this in a
-Tcl interpreter. Therefore the format string will be processed twice
-by a Tcl parser, and appropriate care has to be taken with quoting.</P
-><P
->The second <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated only if is a
-valid C preprocessor macro symbol. By default the symbols generated by
-<SPAN
-CLASS="PROPERTY"
->define</SPAN
-> properties will end up in the package's own configuration
-header file. The <TT
-CLASS="LITERAL"
->-file</TT
-> option can be used to
-specify an alternative destination. At the time of writing the only
-valid alternative definition is <TT
-CLASS="LITERAL"
->-file=system.h</TT
->,
-which will send the output to the global configuration header file
-<TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->.</P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Care has to be taken with the <TT
-CLASS="LITERAL"
->-format</TT
-> option.
-Because the Tcl interpreter's <TT
-CLASS="LITERAL"
->format</TT
-> command is
-used, this property is subject to any problems with the implementation
-of this in the Tcl library. Generally there should be no problems with
-string data or with integers up to 32 bits, but there may well be
-problems if 64-bit data is involved. This issue may be addressed in a
-future release.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4053"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYG_HAL_STARTUP {
-    display       "Startup type"
-    flavor        data
-    legal_values  {"RAM" "ROM" }
-    default_value {"RAM"}
-    no_define
-    define -file=system.h CYG_HAL_STARTUP
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4056"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->,
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
-> and
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.default-value.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.define-format.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.description.html b/doc/html/cdl-guide/ref.description.html
deleted file mode 100644 (file)
index dd6bb97..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->description</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="define_proc"
-HREF="ref.define-proc.html"><LINK
-REL="NEXT"
-TITLE="display"
-HREF="ref.display.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.define-proc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.display.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DESCRIPTION"><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4219"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->description</SPAN
->&nbsp;--&nbsp;Provide a textual description for an option.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4223"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    description &lt;text&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4225"
-></A
-><H2
->Description</H2
-><P
->Users can only be expected to manipulate configuration options
-sensibly if they are given sufficient information about these options.
-There are three properties which serve to explain an option in plain
-text: the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> property gives a textual alias for an option,
-which is usually more comprehensible than something like
-<TT
-CLASS="LITERAL"
->CYGPKG_LIBC_TIME_ZONES</TT
->; the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> property
-gives a longer description, typically a paragraph or so; the <SPAN
-CLASS="PROPERTY"
->doc</SPAN
->
-property specifies the location of additional on-line documentation
-related to a configuration option. In the context of a graphical tool
-the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> string will be the primary way for users to identify
-configuration options; the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> paragraph will be visible
-whenever the option is selected; the on-line documentation will only
-be accessed when the user explicitly requests it.</P
-><P
->At present there is no way of providing any sort of formatting mark-up
-in a description. It is possible that future versions of the
-configuration tools will provide some control over the way the
-description text gets rendered.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4235"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDBG_INFRA_DEBUG_TRACE_MESSAGE {
-    display       "Use trace text"
-    default_value 1
-    description   "
-        All trace calls within eCos contain a text message
-        which should give some information about the circumstances.
-        These text messages will end up being embedded in the
-        application image and hence there is a significant penalty
-        in terms of image size.
-        It is possible to suppress the use of these messages by
-        disabling this option.
-        This results in smaller code size, but there is less
-        human-readable information available in the trace output,
-        possibly only filenames and line numbers."
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4238"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
-> and
-<A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.define-proc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.display.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.display.html b/doc/html/cdl-guide/ref.display.html
deleted file mode 100644 (file)
index 067234f..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->display</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="description"
-HREF="ref.description.html"><LINK
-REL="NEXT"
-TITLE="doc"
-HREF="ref.doc.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.description.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.doc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DISPLAY"><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4249"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->display</SPAN
->&nbsp;--&nbsp;Provide a short string describing this option.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4253"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    display &lt;string&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4255"
-></A
-><H2
->Description</H2
-><P
->Users can only be expected to manipulate configuration options
-sensibly if they are given sufficient information about these options.
-There are three properties which serve to explain an option in plain
-text: the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> property gives a textual alias for an option,
-which is usually more comprehensible than something like
-<TT
-CLASS="LITERAL"
->CYGPKG_LIBC_TIME_ZONES</TT
->; the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> property
-gives a longer description, typically a paragraph or so; the <SPAN
-CLASS="PROPERTY"
->doc</SPAN
->
-property specifies the location of additional on-line documentation
-related to a configuration option. In the context of a graphical tool
-the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> string will be the primary way for users to identify
-configuration options; the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> paragraph will be visible
-whenever the option is selected; the on-line documentation will only
-be accessed when the user explicitly requests it.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4264"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE {
-    display       "Message box queue size"
-    flavor        data
-    legal_values  1 to 65535
-    default_value 10
-    description   "
-        This configuration option controls the number of messages
-        that can be queued in a message box before a non-blocking
-        put() operation will fail or a blocking put() operation will
-        block. The cost in memory is one pointer per message box for
-        each possible message."
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4267"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-> and
-<A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.description.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.doc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.doc.html b/doc/html/cdl-guide/ref.doc.html
deleted file mode 100644 (file)
index 3e98af8..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->doc</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="display"
-HREF="ref.display.html"><LINK
-REL="NEXT"
-TITLE="flavor"
-HREF="ref.flavor.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.display.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.flavor.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.DOC"><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4278"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->doc</SPAN
->&nbsp;--&nbsp;The location of online-documentation for a configuration option.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4282"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    doc &lt;URL;&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4284"
-></A
-><H2
->Description</H2
-><P
->Users can only be expected to manipulate configuration options
-sensibly if they are given sufficient information about these options.
-There are three properties which serve to explain an option in plain
-text: the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> property gives a textual alias for an option,
-which is usually more comprehensible than something like
-<TT
-CLASS="LITERAL"
->CYGPKG_LIBC_TIME_ZONES</TT
->; the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> property
-gives a longer description, typically a paragraph or so; the <SPAN
-CLASS="PROPERTY"
->doc</SPAN
->
-property specifies the location of additional on-line documentation
-related to a configuration option. In the context of a graphical tool
-the <SPAN
-CLASS="PROPERTY"
->display</SPAN
-> string will be the primary way for users to identify
-configuration options; the <SPAN
-CLASS="PROPERTY"
->description</SPAN
-> paragraph will be visible
-whenever the option is selected; the on-line documentation will only
-be accessed when the user explicitly requests it.</P
-><P
->The documentation may be an absolute URL, but more generally the
-on-line documentation will be shipped with the package and can be
-accessed via a relative URL. If the package follows the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory layout conventions</A
-> then
-the configuration tools will search for the specified html file
-first in the <TT
-CLASS="FILENAME"
->doc</TT
-> subdirectory
-of the package, then relative to the package directory itself. The URL
-may contain a <TT
-CLASS="LITERAL"
->#</TT
-> character to specify an anchor
-within a page.</P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->At the time of writing the <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> packages in the standard
-distribution do not conform to the directory layout conventions when
-it comes to the documentation. Instead of organizing the documentation
-on a per-package basis and placing it in the corresponding
-<TT
-CLASS="FILENAME"
->doc</TT
-> sub-directories, all the
-documentation is kept in a central location. This should get addressed
-in a future release of the system. Third party component writers
-should follow the layout conventions.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4301"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_KERNEL {
-    display       "eCos kernel"
-    doc           ref/ecos-ref.4.html
-    include_dir   cyg/kernel
-    description   "
-        This package contains the core functionality of the eCos
-        kernel. It relies on functionality provided by various HAL
-        packages and by the eCos infrastructure. In turn the eCos
-        kernel provides support for other packages such as the device
-        drivers and the uITRON compatibility layer."
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4304"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
-> and
-<A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.display.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.flavor.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.flavor.html b/doc/html/cdl-guide/ref.flavor.html
deleted file mode 100644 (file)
index 222ba32..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->flavor</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="doc"
-HREF="ref.doc.html"><LINK
-REL="NEXT"
-TITLE="hardware"
-HREF="ref.hardware.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.doc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.hardware.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.FLAVOR"><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4315"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
->&nbsp;--&nbsp;Specify the nature of a configuration option.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4319"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    flavor &lt;flavor&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4321"
-></A
-><H2
->Description</H2
-><P
->The state of a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> configuration option is a somewhat complicated
-concept. This state determines what happens when a build tree is
-generated: it controls what files get built and what
-<TT
-CLASS="LITERAL"
->#define's</TT
-> end up in configuration header files. The
-state also controls the values used during expression evaluation. The
-key concepts are:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->An option may or may not be loaded into the current configuration.
-However it is still possible for packages to reference options which
-are not loaded in a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraint or other expression. If an
-option is not loaded then it will have no direct effect on the build
-process, and <TT
-CLASS="LITERAL"
->0</TT
-> will be used for expression
-evaluation. </P
-></LI
-><LI
-><P
->Even if an option is loaded it may still be inactive. Usually this is
-controlled by the option's location in the configuration hierarchy. If
-an option's parent is active and enabled then the option will normally
-be active. If the parent is either inactive or disabled then the
-option will be inactive. For example, if kernel timeslicing is diabled
-then the option <TT
-CLASS="LITERAL"
->CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS</TT
->
-is irrelevant and must have no effect. The <SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> property can be
-used to specify additional constraints. If an option is inactive then
-it will have no direct effect on the build process, in other words it
-will not cause any files to get built or <TT
-CLASS="LITERAL"
->#define's</TT
->
-to be generated. For the purposes of expression evaluation an inactive
-option has a value of <TT
-CLASS="LITERAL"
->0</TT
->.</P
-></LI
-><LI
-><P
->An option may be enabled or disabled. Most options are boolean in
-nature, for example a particular function may get inlined or it may
-involve a full procedure call. If an option is disabled then it has no
-direct effect on the build process, and for the purposes of expression
-evaluation it has a value of 0.</P
-></LI
-><LI
-><P
->An option may also have additional data associated with it, for
-example a numerical value used to control the size of an array.</P
-></LI
-></OL
-><P
->Most options are boolean in nature and do not have any additional
-associated data. For some options only the data part makes sense and
-users should be unable to manipulate the enabled/disabled part of the
-state. For a comparatively small number of options it makes sense to
-have the ability to disable that option or to enable it and associate
-data as well. Finally, when constructing an option hierarchy it is
-occasionally useful to have entities which serve only as placeholders.
-The <SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-> property can be used to control all this. There are four
-possible values. It should be noted that the active or inactive state
-of an option takes priority over the flavor: if an option is inactive
-then no <TT
-CLASS="LITERAL"
->#define's</TT
-> will be generated and any
-build-related properties such as <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> will be ignored.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->flavor&nbsp;<TT
-CLASS="LITERAL"
->none</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="LITERAL"
->none</TT
-> is intended primarily for placeholder
-components in the hierarchy, although it can be used for other
-purposes. Options with this flavor are always enabled and do not have
-any additional data associated with them, so there is no way for users
-to modify the option. For the purposes of expression evaluation an
-option with flavor <TT
-CLASS="LITERAL"
->none</TT
-> always has the value
-<TT
-CLASS="LITERAL"
->1</TT
->. Normal <TT
-CLASS="LITERAL"
->#define</TT
-> processing
-will take place, so typically a single <TT
-CLASS="LITERAL"
->#define</TT
-> will
-be generated using the option name and a value of
-<TT
-CLASS="LITERAL"
->1</TT
->. Similarly build-related properties such as
-<SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> will take effect.</P
-></DD
-><DT
->flavor&nbsp;<TT
-CLASS="LITERAL"
->bool</TT
-></DT
-><DD
-><P
->Boolean options can be either enabled or disabled, and there is no
-additional data associated with them. If a boolean option is disabled
-then no <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated and any
-build-related properties such as <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> will be ignored. For the
-purposes of expression evaluation a disabled option has the value
-<TT
-CLASS="LITERAL"
->0</TT
->. If a boolean option is enabled then normal
-<TT
-CLASS="LITERAL"
->#define</TT
-> processing will take place, all
-build-related properties take effect, and the option's value will be
-<TT
-CLASS="LITERAL"
->1</TT
->.</P
-></DD
-><DT
->flavor&nbsp;<TT
-CLASS="LITERAL"
->data</TT
-></DT
-><DD
-><P
->Options with this flavor are always enabled, and have some additional
-data associated with them which can be edited by the user. This data
-can be any sequence of characters, although in practice the
-<SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property will often be used to impose constraints. In
-appropriate contexts such as expressions the configuration tools will
-attempt to interpret the data as integer or floating point numbers.
-Since an option with the <TT
-CLASS="LITERAL"
->data</TT
-> flavor cannot be
-disabled, normal <TT
-CLASS="LITERAL"
->#define</TT
-> processing takes place and
-the data will be used for the value. Similarly all build-related
-properties take effect, and the option's value for the purposes of
-expression evaluation is the data.</P
-></DD
-><DT
->flavor&nbsp;<TT
-CLASS="LITERAL"
->booldata</TT
-></DT
-><DD
-><P
->This combines the <TT
-CLASS="LITERAL"
->bool</TT
-> and <TT
-CLASS="LITERAL"
->data</TT
->
-flavors. The option may be enabled or disabled, and in addition the
-option has some associated data. If the option is disabled then no
-<TT
-CLASS="LITERAL"
->#define</TT
-> will be generated, the build-related
-properties have no effect, and for the purposes of expression
-evaluation the option's value is <TT
-CLASS="LITERAL"
->0</TT
->. If the option
-is enabled then a <TT
-CLASS="LITERAL"
->#define</TT
-> will be generated using
-the data as the value, all build-related properties take effect, and
-the option's value for the purposes of expression evaluation is the
-data. If <TT
-CLASS="LITERAL"
->0</TT
-> is legal data then it is not possible to
-distinguish this case from the option being disabled or inactive.</P
-></DD
-></DL
-></DIV
-><P
->Options and components have the <TT
-CLASS="LITERAL"
->bool</TT
-> flavor by
-default, but this can be changed as desired. Packages always have the
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavor, and this cannot be changed.
-Interfaces have the <TT
-CLASS="LITERAL"
->data</TT
-> flavor by default, since
-the value of an interface is a count of the number of active and
-enabled interfaces, but they can be given the <TT
-CLASS="LITERAL"
->bool</TT
->
-or <TT
-CLASS="LITERAL"
->booldata</TT
-> flavors.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The expression syntax needs to be extended to allow the loaded,
-active, enabled and data aspects of an option's state to be examined
-individually. This would allow component writers to distinguish
-between a disabled <TT
-CLASS="LITERAL"
->booldata</TT
-> option and an enabled
-one which has a value of <TT
-CLASS="LITERAL"
->0</TT
->. Such an enhancement to
-the expression syntax may also prove useful in other circumstances.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4397"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;cdl_component CYGPKG_LIBM_COMPATIBILITY {
-
-    cdl_component CYGNUM_LIBM_COMPATIBILITY {
-        flavor booldata
-        &#8230;
-
-        cdl_option CYGNUM_LIBM_COMPAT_DEFAULT {
-            flavor data
-            &#8230;
-        }
-    }
-
-    &#8230;
-}
-
-cdl_component CYGPKG_LIBM_TRACE {
-    flavor        bool
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4400"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
->,
-<A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
-> and
-<A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
->,</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.doc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.hardware.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.hardware.html b/doc/html/cdl-guide/ref.hardware.html
deleted file mode 100644 (file)
index a1cf9ae..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->hardware</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="flavor"
-HREF="ref.flavor.html"><LINK
-REL="NEXT"
-TITLE="if_define"
-HREF="ref.if-define.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.flavor.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.if-define.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.HARDWARE"><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4413"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
->&nbsp;--&nbsp;Specify that a package is tied to specific hardware.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4417"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    active_if &lt;condition&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4419"
-></A
-><H2
->Description</H2
-><P
->Some packages such as device drivers and HAL packages are
-hardware-specific, and generally it makes no sense to add such
-packages to a configuration unless the corresponding hardware is
-present on your target system. Typically hardware package selection
-happens automatically when you select your target. The <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
->
-property can be used in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command to
-indicate that the package is hardware-specific.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At the time of writing the <SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-> property is largely ignored by
-the configuration tools, but this may change in future. Amongst other
-possible changes, for hardware-specific packages such as device
-drivers and HAL packages, the current scheme of generating a
-configuration header file name based purely on the package name may be
-abandoned. Instead all hardware packages would send their
-configuration data to a single header file, <TT
-CLASS="FILENAME"
->pkgconf/hardware.h</TT
->. This would make it
-easier for code to obtain details of the current hardware, but
-obviously there are compatibility issues. For now it is recommended
-that all hardware packages specify their configuration header file
-explicitly.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4428"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_ARM {
-    display       "ARM architecture"
-    parent        CYGPKG_HAL
-    hardware
-    include_dir   cyg/hal
-    define_header hal_arm.h
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4431"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->, and
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.flavor.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.if-define.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.if-define.html b/doc/html/cdl-guide/ref.if-define.html
deleted file mode 100644 (file)
index 8b4e676..0000000
+++ /dev/null
@@ -1,494 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->if_define</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="hardware"
-HREF="ref.hardware.html"><LINK
-REL="NEXT"
-TITLE="implements"
-HREF="ref.implements.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.hardware.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.implements.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.IF-DEFINE"><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4442"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
->&nbsp;--&nbsp;Output a common preprocessor construct to a configuration
-header file.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4446"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    if_define [-file=&lt;filename&gt;] &lt;symbol1&gt; &lt;symbol2&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4448"
-></A
-><H2
->Description</H2
-><P
->The purpose of the <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property is best explained by an
-example. Suppose you want finer-grained control over assertions, say
-on a per-package or even a per-file basis rather than globally. The
-assertion macros can be defined by an exported header file in an
-infrastructure package, using code like the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef CYGDBG_USE_ASSERTS
-# define CYG_ASSERT( _bool_, _msg_ )    \
-        CYG_MACRO_START                 \
-        if ( ! ( _bool_ ) )             \
-            CYG_ASSERT_DOCALL( _msg_ ); \
-        CYG_MACRO_END
-#else
-# define CYG_ASSERT( _bool_, _msg_ ) CYG_EMPTY_STATEMENT
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->Assuming this header file is <TT
-CLASS="LITERAL"
->#include'd</TT
-> directly or
-indirectly by any code which may need to be built with assertions
-enabled, the challenge is now to control whether or not
-<TT
-CLASS="VARNAME"
->CYGDBG_USE_ASSERTS</TT
-> is defined for any given source
-file. This is the purpose of the <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDBG_KERNEL_USE_ASSERTS {
-    &#8230;
-    if_define CYGSRC_KERNEL CYGDBG_USE_ASSERTS
-    requires  CYGDBG_INFRA_ASSERTION_SUPPORT
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If this option is active and enabled then the kernel's configuration
-header file would end up containing the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef CYGSRC_KERNEL
-# define CYGDBG_USE_ASSERTS 1
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->Kernel source code can now begin with the following construct:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGSRC_KERNEL 1
-#include &lt;pkgconf/kernel.h&gt;
-#include &lt;cyg/infra/cyg_ass.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->The configuration option only affects kernel source code, assuming
-nothing else <TT
-CLASS="LITERAL"
->#define's</TT
-> the symbol
-<TT
-CLASS="VARNAME"
->CYGSRC_KERNEL</TT
->. If the per-package assertion option
-is disabled then <TT
-CLASS="VARNAME"
->CYGDBG_USE_ASSERTS</TT
-> will not get
-defined. If the option is enabled then
-<TT
-CLASS="VARNAME"
->CYGDBG_USE_ASSERTS</TT
-> will get defined and assertions
-will be enabled for the kernel sources. It is possible to use the same
-mechanism for other facilities such as tracing, and to apply it at a
-finer grain such as individual source files by having multiple options
-with <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> properties and multiple symbols such as
-<TT
-CLASS="VARNAME"
->CYGSRC_KERNEL_SCHED_BITMAP_CXX</TT
->.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> property takes two arguments, both of which must be
-valid C preprocessor symbols. If the current option is active and
-enabled then three lines will be output to the configuration header
-file:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef &lt;symbol1&gt;
-# define &lt;symbol2&gt;
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->If the option is inactive or disabled then these lines will not be
-output. By default the current package's configuration header file
-will be used, but it is possible to specify an alternative destination
-using a <TT
-CLASS="LITERAL"
->-file</TT
-> option. At present the only
-legitimate alternative destination is <TT
-CLASS="LITERAL"
->system.h</TT
->, the
-global configuration header. <SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-> processing happens in
-addition to, not instead of, the normal <TT
-CLASS="LITERAL"
->#define</TT
->
-processing or the handling of other header-file related properties.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The infrastructure in the current <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> release does not yet work
-this way. In future it may do so, and the intention is that suitable
-configuration options get generated semi-automatically by the
-configuration system rather than having to be defined explicitly.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="TIP"
-><BLOCKQUOTE
-CLASS="TIP"
-><P
-><B
->Tip: </B
->As an alternative to changing the configuration, updating the build
-tree, and so on, it is possible to enable assertions by editing a
-source file directly, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGSRC_KERNEL 1
-#define CYGDBG_USE_ASSERTS 1
-#include &lt;pkgconf/kernel.h&gt;
-#include &lt;cyg/infra/cyg_ass.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->The assertion header file does not care whether
-<TT
-CLASS="VARNAME"
->CYGDBG_USE_ASSERTS</TT
-> is <TT
-CLASS="LITERAL"
->#define'd</TT
->
-via a configuration option or by explicit code. This technique can be
-useful to component writers when debugging their source code, although
-care has to be taken to remove any such <TT
-CLASS="LITERAL"
->#define's</TT
->
-later on.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4487"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDBG_KERNEL_USE_ASSERTS {
-    display "Assertions in the kernel package"
-    &#8230;
-    if_define CYGSRC_KERNEL CYGDBG_USE_ASSERTS
-    requires  CYGDBG_INFRA_ASSERTION_SUPPORT
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4490"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
-> and
-<A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.hardware.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.implements.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.implements.html b/doc/html/cdl-guide/ref.implements.html
deleted file mode 100644 (file)
index 7a81b69..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->implements</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="if_define"
-HREF="ref.if-define.html"><LINK
-REL="NEXT"
-TITLE="include_dir"
-HREF="ref.include-dir.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.if-define.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.include-dir.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.IMPLEMENTS"><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4507"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->implements</SPAN
->&nbsp;--&nbsp;Enabling this option provides one instance of a more
-general interface.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4511"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    implements &lt;interface&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4513"
-></A
-><H2
->Description</H2
-><P
->The <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> interface concept provides an abstraction mechanism that can
-be useful in many different circumstances. Essentially an interface is
-a calculated option whose value is the number of active and enabled
-options which implement that interface. For example the interface
-<TT
-CLASS="VARNAME"
->CYGINT_KERNEL_SCHEDULER</TT
-> has a value corresponding
-to the number of schedulers in the system, typically just one.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->implements</SPAN
-> property takes a single argument, which should be the
-name of an interface. This interface may be defined in the same
-package as the implementor or in some other package. In the latter
-case it may sometimes be appropriate for the implementor or the
-implementor's package to have a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property for the package
-containing the interface. An option may contain multiple <SPAN
-CLASS="PROPERTY"
->implements</SPAN
->
-properties. It is possible for an option to implement a given
-interface multiple times, and on occasion this is actually useful.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4522"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {
-    display       "Multi-level queue scheduler"
-    default_value 1
-    implements    CYGINT_KERNEL_SCHEDULER
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4525"
-></A
-><H2
->See Also</H2
-><P
->Command <A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.if-define.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.include-dir.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.include-dir.html b/doc/html/cdl-guide/ref.include-dir.html
deleted file mode 100644 (file)
index 0c4f580..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->include_dir</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="implements"
-HREF="ref.implements.html"><LINK
-REL="NEXT"
-TITLE="include_files"
-HREF="ref.include-files.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.implements.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.include-files.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.INCLUDE-DIR"><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4534"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
->&nbsp;--&nbsp;Specify the desired location of a package's exported
-header files in the install tree.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4538"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_package &lt;name&gt; {
-    include_dir &lt;sub-directory&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4540"
-></A
-><H2
->Description</H2
-><P
->Most packages export one or more header files defining their public
-interface. For example the C library exports header files such as
-<TT
-CLASS="FILENAME"
->stdio.h</TT
-> and
-<TT
-CLASS="FILENAME"
->ctype.h</TT
->. 
-If the package follows the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory
-layout conventions</A
-> then the exported header files will normally
-be found in the package's
-<TT
-CLASS="FILENAME"
->include</TT
-> sub-directory.
-Alternatively the <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property can be used to specify
-which header files should be exported.</P
-><P
->By default a package's exported header files will be copied to
-the <TT
-CLASS="FILENAME"
->include</TT
-> sub-directory of
-the install tree. This is correct for packages like the C library
-because that is the correct location for files such as
-<TT
-CLASS="FILENAME"
->stdio.h</TT
->. However to reduce the
-probability of name clashes it is desirable for packages to use
-different sub-directories, for example infrastructure header files get
-copied to <TT
-CLASS="FILENAME"
->include/cyg/infra</TT
->
-rather than to the top-level
-<TT
-CLASS="FILENAME"
->include</TT
-> directory itself.</P
-><P
->It would be possible to replicate these sub-directories in each
-package's source tree, such that the infrastructure header file
-sources lived in
-<TT
-CLASS="FILENAME"
->include/cyg/infra</TT
-> in the source
-tree as well as in the install tree. This would make things more
-difficult for the package developers. Instead it is possible to
-specify the desired install tree sub-directory using an <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
->
-property, for example <TT
-CLASS="LITERAL"
->include_dir&nbsp;cyg/infra</TT
->.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-> property can only be used in the body of a
-<TT
-CLASS="LITERAL"
->cdl_package</TT
-> command, since it applies to all of the header files
-exported by a package, and only one <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-> property can be
-used. If there is no <SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-> property then exported header files
-will end up in the top-level <TT
-CLASS="FILENAME"
->include</TT
->
-directory of the install tree.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4563"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_INFRA {
-    display       "Infrastructure"
-    include_dir   cyg/infra
-    description   "
-        Common types and useful macros.
-        Tracing and assertion facilities.
-        Package startup options."
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4566"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
->, and
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.implements.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.include-files.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.include-files.html b/doc/html/cdl-guide/ref.include-files.html
deleted file mode 100644 (file)
index ab41ca6..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->include_files</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="include_dir"
-HREF="ref.include-dir.html"><LINK
-REL="NEXT"
-TITLE="legal_values"
-HREF="ref.legal-values.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.include-dir.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.legal-values.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.INCLUDE-FILES"><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4577"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
->&nbsp;--&nbsp;List the header files that are exported by a package.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4581"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_package &lt;name&gt; {
-    include_files &lt;file1&gt; &#8230;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4583"
-></A
-><H2
->Description</H2
-><P
->Most packages export one or more header files defining their public
-interface. For example the C library exports header files such as
-<TT
-CLASS="FILENAME"
->stdio.h</TT
-> and
-<TT
-CLASS="FILENAME"
->ctype.h</TT
->. 
-If the package follows the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory
-layout conventions</A
-> then the exported header files will normally
-be found in the package's
-<TT
-CLASS="FILENAME"
->include</TT
-> sub-directory. For
-packages which do not follow these conventions, typically simple ones
-for which a complicated sub-directory hierarchy is undesirable, there
-has to be an alternative way of specifying which header file or files
-define the public interface. The <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property provides
-support for this.</P
-><P
->By default, if a package does not have an
-<TT
-CLASS="FILENAME"
->include</TT
-> subdirectory and it
-does not have an <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property then all files with a suffix
-of <TT
-CLASS="LITERAL"
->.h</TT
->, <TT
-CLASS="LITERAL"
->.hxx</TT
->,
-<TT
-CLASS="LITERAL"
->.inl</TT
-> or <TT
-CLASS="LITERAL"
->.inc</TT
-> will be treated as
-public header files. However some of these may be private files
-containing implementation details. If there is an
-<SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property then only the files listed in that property
-will be exported.</P
-><P
->If a package should not export any header files but does contain
-private implementation headers, an <SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-> property with no
-arguments should be used.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4601"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;SOME_PACKAGE&gt; {
-    &#8230;
-    include_dir   &lt;some directory&gt;
-    include_files interface.h
-}
-
-cdl_package &lt;ANOTHER_PACKAGE&gt; {
-    &#8230;
-    include_files
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4604"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.include-dir.html"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></A
->, and
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.include-dir.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.legal-values.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.legal-values.html b/doc/html/cdl-guide/ref.legal-values.html
deleted file mode 100644 (file)
index 0c60092..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->legal_values</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="include_files"
-HREF="ref.include-files.html"><LINK
-REL="NEXT"
-TITLE="library"
-HREF="ref.library.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.include-files.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.library.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.LEGAL-VALUES"><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4615"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
->&nbsp;--&nbsp;Impose constraints on the possible values for an option.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4619"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    legal_values &lt;list expression&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4621"
-></A
-><H2
->Description</H2
-><P
->Options with the <TT
-CLASS="LITERAL"
->data</TT
-> or
-<TT
-CLASS="LITERAL"
->booldata</TT
-> flavors can have an arbitrary sequence of
-characters as their data. In nearly all cases some restrictions have
-to be imposed, for example the data should correspond to a number
-within a certain range, or it should be one of a small number of
-constants. The <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property can be used to impose such
-constraints. The arguments to the property should be a <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> list
-expression, see <A
-HREF="language.values.html#LANGUAGE.LIST-EXPRESSION"
->the Section called <I
->List Expressions</I
-> in Chapter 3</A
-> for the
-syntactic details. Common examples include:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    legal_values 0 to 0x7fff
-    legal_values 9600 19200 38400
-    legal_values { "RAM" "ROM" }</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property can only be used for options with the
-<TT
-CLASS="LITERAL"
->data</TT
-> or <TT
-CLASS="LITERAL"
->booldata</TT
-> flavors, since
-it makes little sense to further constrain the legal values of a
-boolean option. An option can have at most one <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
->
-property.</P
-><DIV
-CLASS="TIP"
-><BLOCKQUOTE
-CLASS="TIP"
-><P
-><B
->Tip: </B
->If the first entry in a <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> list expression is a negative
-number, for example
-<TT
-CLASS="LITERAL"
->legal_values&nbsp;-1&nbsp;to&nbsp;1</TT
->  then this can
-be misinterpreted as an option instead of as part of the expression.
-Currently the <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property does not take any options, but
-this may change in future. Option processing halts at the sequence
-<TT
-CLASS="LITERAL"
->--</TT
->, so the desired range can be expressed safely
-using <TT
-CLASS="LITERAL"
->legal_values&nbsp;--&nbsp;-1&nbsp;to&nbsp;1</TT
-></P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Architectural HAL packages should provide constants which can be used
-in <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> list expressions. For example it should be possible
-to specify a numeric range such as
-<TT
-CLASS="LITERAL"
->0&nbsp;to&nbsp;CYGARC_MAXINT</TT
->, rather than
-hard-wiring numbers such as <TT
-CLASS="LITERAL"
->0x7fffffff</TT
-> which may
-not be valid on all targets. Current HAL packages do not define such
-constants. </P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The <SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-> property is restricted mainly to numerical ranges
-and simple enumerations, and cannot cope with more complicated data
-items. Future versions of the configuration system will provide
-additional data validation facilities, for example a
-<TT
-CLASS="LITERAL"
->check_proc</TT
-> property which specifies a Tcl script
-that can be used to perform the validation.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4651"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_LIBC_TIME_STD_DEFAULT_OFFSET {
-    display       "Default Standard Time offset"
-    flavor        data
-    legal_values  -- -90000 to 90000
-    default_value -- 0
-    description   "
-        This option controls the offset from UTC in
-        seconds when in local Standard Time. This
-        value can be positive or negative. It
-        can also be set at run time using the
-        cyg_libc_time_setzoneoffsets() function."
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4654"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
->,
-<A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
->, and
-<A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.include-files.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.library.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.library.html b/doc/html/cdl-guide/ref.library.html
deleted file mode 100644 (file)
index 7974cdd..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->library</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="legal_values"
-HREF="ref.legal-values.html"><LINK
-REL="NEXT"
-TITLE="make"
-HREF="ref.make.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.legal-values.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.make.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.LIBRARY"><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4667"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->library</SPAN
->&nbsp;--&nbsp;Specify which library should contain the object files
-generated by building this package.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4671"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_package &lt;name&gt; {
-    library &lt;library name&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4673"
-></A
-><H2
->Description</H2
-><P
->By default all object files that get built for all packages end up in
-a single library, <TT
-CLASS="FILENAME"
->libtarget.a</TT
->. This makes things
-easier for the typical application developer because it is only
-necessary to link with a single library, rather than with separate
-libraries for each package. It is possible to specify an alternative
-library for specific files as an option to the <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> and
-<SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties, and there is one library <A
-HREF="build.html"
-><TT
-CLASS="FILENAME"
->libextras.a</TT
-></A
-> which serves a
-specific purpose in the build system. The <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property allows an
-alternative library to be specified for all the object files that will
-be generated for a given package.</P
-><P
->The use of the <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property should be avoided, since it makes
-things more difficult for application developers. The property is
-intended only for special cases, for example if there are legal
-objections to mingling object files from different packages in a
-single library. It could also be used to work around name clash
-problems if two packages happen to define an exported symbol with the
-same name, but any attempt to use multiple libraries in this way is
-error-prone and should be avoided.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property takes a single argument, the name of a library,
-which should follow the standard naming convention of
-<TT
-CLASS="LITERAL"
->lib&lt;something&gt;.a</TT
->. A <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property can
-only occur in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command and applies to all
-object files generated for that package (except where explicitly
-overwritten with a <TT
-CLASS="LITERAL"
->-library=</TT
-> option to one of the
-build-related properties). A <TT
-CLASS="LITERAL"
->cdl_package</TT
-> body can contain at most
-one <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4692"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package &lt;SOME_PACKAGE&gt; {
-    &#8230;
-    library  libSomePackage.a
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4695"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
->,
-<A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
->, and
-<A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
->,
-command <A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.legal-values.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.make.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.make-object.html b/doc/html/cdl-guide/ref.make-object.html
deleted file mode 100644 (file)
index db2a7d4..0000000
+++ /dev/null
@@ -1,426 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->make_object</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="make"
-HREF="ref.make.html"><LINK
-REL="NEXT"
-TITLE="no_define"
-HREF="ref.no-define.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.make.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.no-define.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.MAKE-OBJECT"><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4770"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
->&nbsp;--&nbsp;Define a custom build step, resulting in an object file
-that should go into a library.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4774"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    make_object [-library=&lt;library&gt;] [-priority=&lt;pri&gt;]  {
-        &lt;custom build step&gt;
-    }
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4776"
-></A
-><H2
->Description</H2
-><P
->When building an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> configuration the primary target is a single
-library, <TT
-CLASS="FILENAME"
->libtarget.a</TT
->. Most of the object files
-which go into this library will be generated as a result of <SPAN
-CLASS="PROPERTY"
->compile</SPAN
->
-properties. Occasionally it may be necessary to have special build
-steps for a given object file, and this can be achieved with a
-<SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property. The use of this property should be avoided
-whenever possible because it greatly increases the risk of portability
-problems, both on the host side because of possible problems with the
-tools, and on the target side because a custom build step may not
-allow adequately for the wide variety of architectures supported by
-<SPAN
-CLASS="APPLICATION"
->eCos</SPAN
->.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property takes a single argument, which resembles a
-makefile rule: it consists of a target, a list of dependencies, and
-one or more commands that should be executed. The target should be an
-object file. However the <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> argument is not a makefile
-fragment, and custom build steps may get executed in build
-environments that do not involve make. For full details of custom
-build steps see <A
-HREF="build.make.html#BUILD.CUSTOM"
->the Section called <I
->Custom Build Steps</I
-> in Chapter 4</A
->.</P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->The exact syntax and limitations of custom build steps have not yet
-been finalized, and may change in future versions of the
-configuration tools.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property takes an optional library argument. If no
-library is specified then the default library for the current package
-will be used, which will be <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> unless
-the <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command contains a <SPAN
-CLASS="PROPERTY"
->library</SPAN
-> property.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> property also takes an optional priority argument
-indicating the order in which build steps take place. This priority
-complements the dependency list, and avoids problems with packages
-needing to know details of custom build steps in other packages (which
-may change between releases). The defined order is:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Priority 0</DT
-><DD
-><P
->The header files exported by the current set of packages are copied
-to the appropriate places in the
-<TT
-CLASS="FILENAME"
->include</TT
-> subdirectory of the
-install tree. Any unnecessary copies are avoided, to prevent rebuilds
-of package and application source modules caused by header file dependencies.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->A possible future enhancement of the build system may result in the
-build and install trees being updated automatically if there has been
-a change to the <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> configuration savefile.</P
-></BLOCKQUOTE
-></DIV
-></DD
-><DT
->Priority 100</DT
-><DD
-><P
->All files specified in <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties will get built, producing
-the corresponding object files. In addition any custom build steps
-defined by <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties get executed, unless there is a
-<TT
-CLASS="LITERAL"
->-priority=</TT
-> option.</P
-></DD
-><DT
->Priority 200</DT
-><DD
-><P
->The libraries now get built using the appropriate object files.</P
-></DD
-><DT
->Priority 300</DT
-><DD
-><P
->Any custom build steps specified by <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> properties now get
-executed, unless the priority for a particular build step is changed
-from its default.</P
-></DD
-></DL
-></DIV
-><P
->For example, if a custom build step needs to take place before any of
-the normal source files get compiled then it should be given a
-priority somewhere between 0 and 100. If a custom build step involves
-post-processing an object file prior to its incorporation into a
-library then a priority between 100 and 200 should be used. It is not
-sensible to have a priority above 200, since that would imply building
-an additional object file for a library that has already been created.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4823"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option XXX {
-    &#8230;
-    make_object {
-        parser.o: parser.y
-                yacc $&lt;
-                $(CC) $(CFLAGS) -o $@ y.tab.c
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4826"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.compile.html"
->compile</A
->,
-<A
-HREF="ref.make.html"
->make</A
-> and
-<A
-HREF="ref.library.html"
->library</A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.make.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.no-define.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.make.html b/doc/html/cdl-guide/ref.make.html
deleted file mode 100644 (file)
index baf5bf7..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->make</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="library"
-HREF="ref.library.html"><LINK
-REL="NEXT"
-TITLE="make_object"
-HREF="ref.make-object.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.library.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.make-object.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.MAKE"><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4710"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->make</SPAN
->&nbsp;--&nbsp;Define an additional custom build step associated with an
-option, resulting in a target that should not go directly into a library.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4714"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    make [-priority=&lt;pri&gt;]  {
-        &lt;custom build step&gt;
-    }
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4716"
-></A
-><H2
->Description</H2
-><P
->When building an <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> configuration the primary target is a single
-library, <TT
-CLASS="FILENAME"
->libtarget.a</TT
->. In some cases it is
-necessary to build some additional targets. For example architectural
-HAL packages typically build a linker script and some start-up code.
-Such additional targets can be specified by a <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property. Any
-option can have one or more <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> properties, although typically such
-properties only occur in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> command.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property takes a single argument, which resembles a
-makefile rule: it consists of a target, a list of dependencies, and
-one or more commands that should be executed. However the argument is
-not a makefile fragment, and custom build steps may get executed in
-build environments that do not involve make. For full details of
-custom build steps see <A
-HREF="build.make.html#BUILD.CUSTOM"
->the Section called <I
->Custom Build Steps</I
-> in Chapter 4</A
->.</P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->The exact syntax and limitations of custom build steps have not yet
-been finalized, and are subject to change in future versions of the
-configuration tools.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> property takes an optional priority argument indicating the
-order in which build steps take place. This priority complements the
-dependency list, and avoids problems with packages needing to know
-details of custom build steps in other packages (which may change
-between releases). The defined order is:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Priority 0</DT
-><DD
-><P
->The header files exported by the current set of packages are copied
-to the appropriate places in the
-<TT
-CLASS="FILENAME"
->include</TT
-> subdirectory of the
-install tree. Any unnecessary copies are avoided, to prevent rebuilds
-of package and application source modules caused by header file dependencies.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->A possible future enhancement of the build system may result in the
-build and install trees being updated automatically if there has been
-a change to the <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> configuration savefile.</P
-></BLOCKQUOTE
-></DIV
-></DD
-><DT
->Priority 100</DT
-><DD
-><P
->All files specified in <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties will get built, producing
-the corresponding object files. In addition any custom build steps
-defined by <SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-> properties get executed, unless there is
-a <TT
-CLASS="LITERAL"
->-priority=</TT
-> option.</P
-></DD
-><DT
->Priority 200</DT
-><DD
-><P
->The libraries now get built using the appropriate object files.</P
-></DD
-><DT
->Priority 300</DT
-><DD
-><P
->Any custom build steps specified by <SPAN
-CLASS="PROPERTY"
->make</SPAN
-> properties now get
-executed, unless the priority for a particular build step is changed
-from its default.</P
-></DD
-></DL
-></DIV
-><P
->For example, if a custom build step needs to take place before any of
-the normal source files get compiled then it should be given a
-priority somewhere between 0 and 100. If a custom build step involves
-post-processing an object file prior to its incorporation into a
-library then a priority between 100 and 200 should be used.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4757"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_MN10300_AM33 {
-    display       "MN10300 AM33 variant"
-    parent        CYGPKG_HAL_MN10300
-    implements    CYGINT_HAL_MN10300_VARIANT
-    hardware
-    include_dir   cyg/hal
-    define_header hal_mn10300_am33.h
-    description   "
-           The MN10300 AM33 variant HAL package provides generic
-           support for this processor architecture. It is also
-           necessary to select a specific target platform HAL
-           package."
-
-    make {
-        &lt;PREFIX&gt;/lib/target.ld: &lt;PACKAGE&gt;/src/mn10300_am33.ld
-        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $&lt;
-        @echo $@ ": \\" &gt; $(notdir $@).deps
-        @tail +2 target.tmp &gt;&gt; $(notdir $@).deps
-        @echo &gt;&gt; $(notdir $@).deps
-        @rm target.tmp
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4760"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.compile.html"
->compile</A
->,
-<A
-HREF="ref.make-object.html"
->make_object</A
-> and
-<A
-HREF="ref.library.html"
->library</A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.library.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.make-object.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.no-define.html b/doc/html/cdl-guide/ref.no-define.html
deleted file mode 100644 (file)
index 83c6fa5..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->no_define</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="make_object"
-HREF="ref.make-object.html"><LINK
-REL="NEXT"
-TITLE="parent"
-HREF="ref.parent.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.make-object.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.parent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.NO-DEFINE"><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4836"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
->&nbsp;--&nbsp;Suppress the normal generation of a preprocessor
-<TT
-CLASS="LITERAL"
->#define</TT
-> symbol in a configuration header file.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4841"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    no_define
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4843"
-></A
-><H2
->Description</H2
-><P
->By default all active and enabled properties result in either one or
-two <TT
-CLASS="LITERAL"
->#define'd</TT
-> symbols in the package's
-configuration header file, and this is one of the main ways in which
-options can affect packages at build-time. It is possible to suppress
-the default <TT
-CLASS="LITERAL"
->#define's</TT
-> by specifying a
-<SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property in the body of an option or other <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
-> entity. 
-This property takes no arguments and should occur only once in a given
-body. </P
-><P
->The <SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property is frequently used in conjunction with one of
-the other header-file related properties such as <SPAN
-CLASS="PROPERTY"
->define</SPAN
->. If one of
-the other properties is used to export the required information to a
-configuration header file then often there is little point in
-exporting the default <TT
-CLASS="LITERAL"
->#define</TT
-> as
-well&nbsp;&#8212;&nbsp; in fact there could be a name clash. The
-<SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-> property can also be useful if the sole purpose of an
-option is to affect which files get built, and the default
-<TT
-CLASS="LITERAL"
->#define</TT
-> would never get tested in any source code.
-However in such cases the default <TT
-CLASS="LITERAL"
->#define</TT
-> is
-mostly harmless and there is little to be gained by suppressing it.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4857"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYG_HAL_STARTUP {
-    display       "Startup type"
-    flavor        data
-    legal_values  { "RAM" "ROM" }
-    default_value {"RAM"}
-    no_define
-    define -file system.h CYG_HAL_STARTUP
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4860"
-></A
-><H2
->See Also</H2
-><P
->Properties <A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->,
-<A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->,
-<A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->,
-<A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
-> and
-<A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.make-object.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.parent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.parent.html b/doc/html/cdl-guide/ref.parent.html
deleted file mode 100644 (file)
index ae2c066..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->parent</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="no_define"
-HREF="ref.no-define.html"><LINK
-REL="NEXT"
-TITLE="requires"
-HREF="ref.requires.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.no-define.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.requires.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.PARENT"><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4877"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->parent</SPAN
->&nbsp;--&nbsp;Control the location of an option in the configuration hierarchy.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4881"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    parent &lt;component or package&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4883"
-></A
-><H2
->Description</H2
-><P
->Configuration options live in a hierarchy of packages and components.
-By default a given option's position in the hierarchy is a simple
-consequence of its position within the CDL scripts. Packages are
-generally placed at the top-level of the configuration. Any components
-or options that are defined at the same level as the <TT
-CLASS="LITERAL"
->cdl_package</TT
->
-command in a package's top-level CDL script are placed immediately
-below that package in the hierarchy. Any options or components that
-are defined in the body of a <TT
-CLASS="LITERAL"
->cdl_package</TT
-> or <TT
-CLASS="LITERAL"
->cdl_component</TT
-> command,
-or that are read in as a result of processing a component's <SPAN
-CLASS="PROPERTY"
->script</SPAN
->
-property, will be placed immediately below that package or component
-in the hierarchy.</P
-><P
->In some circumstances it is useful to specify an alternative position
-in the hierarchy for a given option. For example it is often
-convenient to re-parent device driver packages below
-<TT
-CLASS="VARNAME"
->CYGPKG_IO</TT
-> in the configuration hierarchy, thus
-reducing the number of packages at the top level of the hierarchy and
-making navigation easier. The <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property can be used to achieve
-this. </P
-><P
->The <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property takes a single argument, which should be the
-name of a package or component. The body of a <TT
-CLASS="LITERAL"
->cdl_option</TT
-> or other
-CDL entity can contain at most one <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property.</P
-><P
->Although the <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property affects an option's position in the
-overall hierarchy and hence whether or not that option is active, a
-re-parented option still belongs to the package that defines it. By
-default any <TT
-CLASS="LITERAL"
->#define's</TT
-> will be exported to that
-package's configuration header file. Any <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> properties can only
-reference source files present in that package, and it is not directly
-possible to cause some file in another package to be built by
-re-parenting. </P
-><P
->As a special case, if an empty string is specified for the parent then
-the option is placed at the top of the hierarchy, ahead of any
-packages which are not explicitly re-parented in this way. This
-facility is useful for configuration options such as global
-preferences and default compiler flags.</P
-><DIV
-CLASS="TIP"
-><BLOCKQUOTE
-CLASS="TIP"
-><P
-><B
->Tip: </B
->If an option is re-parented somewhere below another package and that
-other package is not actually loaded, the option is an orphan and its
-active/inactive state is undefined. In such cases it is a good idea
-for the owning package to require the presence of the other one.
-Unfortunately this technique does not work if a package as a whole is
-reparented below another one that has not been loaded: the package is
-orphaned so it may be automatically inactive, and hence any <SPAN
-CLASS="PROPERTY"
->requires</SPAN
->
-properties would have no effect.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4905"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_I386 {
-    display       "i386 architecture"
-    parent        CYGPKG_HAL
-    hardware
-    include_dir   cyg/hal
-    define_header hal_i386.h
-    &#8230;
-}
-
-cdl_component CYGBLD_GLOBAL_OPTIONS {
-    display       "Global build options"
-    parent        ""
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4908"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.script.html"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></A
->,
-commands <A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
-> and
-<A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.no-define.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.requires.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.requires.html b/doc/html/cdl-guide/ref.requires.html
deleted file mode 100644 (file)
index cf8bfef..0000000
+++ /dev/null
@@ -1,304 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->requires</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="parent"
-HREF="ref.parent.html"><LINK
-REL="NEXT"
-TITLE="script"
-HREF="ref.script.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.parent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.script.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.REQUIRES"><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4921"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->requires</SPAN
->&nbsp;--&nbsp;List constraints that the configuration should satisfy if
-a given option is active and enabled..</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4925"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_option &lt;name&gt; {
-    requires &lt;goal expression&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4927"
-></A
-><H2
->Description</H2
-><P
->Configuration options are not independent. For example the C library
-can provide thread-safe implementations of certain functions, but only
-if the kernel is present, if the kernel provides multi-threading, and
-if the kernel options related to per-thread data are enabled. It is
-possible to express such constraints using <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> properties.</P
-><P
->The arguments to a <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> property should constitute a goal
-expression, as described in <A
-HREF="language.values.html#LANGUAGE.LIST-EXPRESSION"
->the Section called <I
->List Expressions</I
-> in Chapter 3</A
->.
-Most goal expressions are relatively simple because the constraints
-being described are simple, but complicated expressions can be used
-when necessary. The body of an option or other CDL entity can contain
-any number of <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraints. If the option is active and
-enabled then all these constraints should be satisfied, and any goal
-expressions which evaluate to <TT
-CLASS="LITERAL"
->0</TT
-> will result in
-conflicts being raised. It is possible for users to ignore such
-conflicts and attempt to build the current configuration anyway, but
-there is no guarantee that anything will work. If an option is
-inactive or disabled then its <SPAN
-CLASS="PROPERTY"
->requires</SPAN
-> constraints will be ignored. </P
-><P
->The configuration system contains an inference engine which can
-resolve many types of conflicts automatically. For example, if option
-<TT
-CLASS="LITERAL"
->A</TT
-> is enabled and requires an option
-<TT
-CLASS="LITERAL"
->B</TT
-> that is currently disabled then the inference
-engine may attempt to resolve the conflict by enabling
-<TT
-CLASS="LITERAL"
->B</TT
->. However this will not always be possible, for
-example there may be other constraints in the configuration which
-force <TT
-CLASS="LITERAL"
->B</TT
-> to be disabled at present, in which case
-user intervention is required.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4942"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_IO_SERIAL_POWERPC_COGENT_SERIAL_A {
-    display       "Cogent PowerPC serial port A driver"
-    flavor        bool
-    default_value 0
-    requires      (CYGIMP_KERNEL_INTERRUPTS_CHAIN || \
-                   !CYGPKG_IO_SERIAL_POWERPC_COGENT_SERIAL_B)
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4945"
-></A
-><H2
->See Also</H2
-><P
->Property <A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.parent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.script.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/ref.script.html b/doc/html/cdl-guide/ref.script.html
deleted file mode 100644 (file)
index a6886f7..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->script</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="UP"
-TITLE="CDL Language Specification"
-HREF="reference.html"><LINK
-REL="PREVIOUS"
-TITLE="requires"
-HREF="ref.requires.html"><LINK
-REL="NEXT"
-TITLE="Templates, Targets and Other Topics"
-HREF="advanced.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ref.requires.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="advanced.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="REF.SCRIPT"><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4954"
-></A
-><H2
->Name</H2
->Property <SPAN
-CLASS="PROPERTY"
->script</SPAN
->&nbsp;--&nbsp;Include additional configuration information from another
-CDL script.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4958"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->cdl_component &lt;name&gt; {
-    script &lt;filename&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4960"
-></A
-><H2
->Description</H2
-><P
->It is possible to define all the configuration options and
-sub-components for a given package in a single CDL script, either by
-nesting them in the appropriate command bodies, by extensive use of
-the <SPAN
-CLASS="PROPERTY"
->parent</SPAN
-> property, or by some combination of these two. However
-for large packages this is inconvenient and it is better to split the
-raw configuration data over several different files. The <SPAN
-CLASS="PROPERTY"
->script</SPAN
->
-property can be used to achieve this. It takes a single filename as
-argument. If the package follows the <A
-HREF="package.html#PACKAGE.HIERARCHY"
->directory layout conventions</A
-> then
-the configuration tools will look for the specified file in the
-<TT
-CLASS="FILENAME"
->cdl</TT
-> sub-directory of the
-package, otherwise it will look for the file relative to the package's
-top-level directory.</P
-><P
->The <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property can only occur in the body of a <TT
-CLASS="LITERAL"
->cdl_component</TT
->command, and only one <SPAN
-CLASS="PROPERTY"
->script</SPAN
-> property per body is allowed.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4971"
-></A
-><H2
->Example</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYGPKG_UITRON_TASKS {
-    display      "Tasks"
-    flavor        none
-    description   "
-        uITRON Tasks are the basic blocks of multi-tasking
-        in the uITRON world; they are threads or lightweight
-        processes, sharing the address space and the CPU.
-        They communicate using the primitives outlined above.
-        Each has a stack, an entry point (a C or C++ function),
-        and (where appropriate) a scheduling priority."
-
-    script        tasks.cdl
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4974"
-></A
-><H2
->See Also</H2
-><P
->Command  <A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
->,
-and property <A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ref.requires.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="advanced.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Templates, Targets and Other Topics</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/reference.html b/doc/html/cdl-guide/reference.html
deleted file mode 100644 (file)
index 4ab50a0..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CDL Language Specification</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="The eCos Component Writer's Guide"
-HREF="cdl-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Building Test Cases"
-HREF="build.tests.html"><LINK
-REL="NEXT"
-TITLE="cdl_option"
-HREF="ref.cdl-option.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->The <SPAN
-CLASS="APPLICATION"
->eCos</SPAN
-> Component Writer's Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="build.tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ref.cdl-option.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="REFERENCE">Chapter 5. CDL Language Specification</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="ref.cdl-option.html"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></A
->&nbsp;--&nbsp;Define a single configuration option</DT
-><DT
-><A
-HREF="ref.cdl-component.html"
-><TT
-CLASS="LITERAL"
->cdl_component</TT
-></A
->&nbsp;--&nbsp;Define a component, a collection of configuration options</DT
-><DT
-><A
-HREF="ref.cdl-package.html"
-><TT
-CLASS="LITERAL"
->cdl_package</TT
-></A
->&nbsp;--&nbsp;Define a package, a component that can be distributed</DT
-><DT
-><A
-HREF="ref.cdl-interface.html"
-><TT
-CLASS="LITERAL"
->cdl_interface</TT
-></A
->&nbsp;--&nbsp;Define an interface, functionality that can be provided by
-a number of different implementations.</DT
-><DT
-><A
-HREF="ref.active-if.html"
-><SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-></A
->&nbsp;--&nbsp;Allow additional control over the active state of an
-option or other CDL entity.</DT
-><DT
-><A
-HREF="ref.calculated.html"
-><SPAN
-CLASS="PROPERTY"
->calculated</SPAN
-></A
->&nbsp;--&nbsp;Used if the current option's value is not user-modifiable,
-but is calculated using a suitable CDL expression.</DT
-><DT
-><A
-HREF="ref.compile.html"
-><SPAN
-CLASS="PROPERTY"
->compile</SPAN
-></A
->&nbsp;--&nbsp;List the source files that should be built if this option
-is active and enabled.</DT
-><DT
-><A
-HREF="ref.default-value.html"
-><SPAN
-CLASS="PROPERTY"
->default_value</SPAN
-></A
->&nbsp;--&nbsp;Provide a default value for this option using a CDL expression.</DT
-><DT
-><A
-HREF="ref.define.html"
-><SPAN
-CLASS="PROPERTY"
->define</SPAN
-></A
->&nbsp;--&nbsp;Specify additional <TT
-CLASS="LITERAL"
->#define</TT
-> symbols that
-should go into the owning package's configuration header file.</DT
-><DT
-><A
-HREF="ref.define-format.html"
-><SPAN
-CLASS="PROPERTY"
->define_format</SPAN
-></A
->&nbsp;--&nbsp;Control how an option's value will appear in the
-configuration header file.</DT
-><DT
-><A
-HREF="ref.define-header.html"
-><SPAN
-CLASS="PROPERTY"
->define_header</SPAN
-></A
->&nbsp;--&nbsp;Specify the  configuration header file that
-will be generated for a given package.</DT
-><DT
-><A
-HREF="ref.define-proc.html"
-><SPAN
-CLASS="PROPERTY"
->define_proc</SPAN
-></A
->&nbsp;--&nbsp;Use a fragment of Tcl code to output additional data to
-configuration header files.</DT
-><DT
-><A
-HREF="ref.description.html"
-><SPAN
-CLASS="PROPERTY"
->description</SPAN
-></A
->&nbsp;--&nbsp;Provide a textual description for an option.</DT
-><DT
-><A
-HREF="ref.display.html"
-><SPAN
-CLASS="PROPERTY"
->display</SPAN
-></A
->&nbsp;--&nbsp;Provide a short string describing this option.</DT
-><DT
-><A
-HREF="ref.doc.html"
-><SPAN
-CLASS="PROPERTY"
->doc</SPAN
-></A
->&nbsp;--&nbsp;The location of online-documentation for a configuration option.</DT
-><DT
-><A
-HREF="ref.flavor.html"
-><SPAN
-CLASS="PROPERTY"
->flavor</SPAN
-></A
->&nbsp;--&nbsp;Specify the nature of a configuration option.</DT
-><DT
-><A
-HREF="ref.hardware.html"
-><SPAN
-CLASS="PROPERTY"
->hardware</SPAN
-></A
->&nbsp;--&nbsp;Specify that a package is tied to specific hardware.</DT
-><DT
-><A
-HREF="ref.if-define.html"
-><SPAN
-CLASS="PROPERTY"
->if_define</SPAN
-></A
->&nbsp;--&nbsp;Output a common preprocessor construct to a configuration
-header file.</DT
-><DT
-><A
-HREF="ref.implements.html"
-><SPAN
-CLASS="PROPERTY"
->implements</SPAN
-></A
->&nbsp;--&nbsp;Enabling this option provides one instance of a more
-general interface.</DT
-><DT
-><A
-HREF="ref.include-dir.html"
-><SPAN
-CLASS="PROPERTY"
->include_dir</SPAN
-></A
->&nbsp;--&nbsp;Specify the desired location of a package's exported
-header files in the install tree.</DT
-><DT
-><A
-HREF="ref.include-files.html"
-><SPAN
-CLASS="PROPERTY"
->include_files</SPAN
-></A
->&nbsp;--&nbsp;List the header files that are exported by a package.</DT
-><DT
-><A
-HREF="ref.legal-values.html"
-><SPAN
-CLASS="PROPERTY"
->legal_values</SPAN
-></A
->&nbsp;--&nbsp;Impose constraints on the possible values for an option.</DT
-><DT
-><A
-HREF="ref.library.html"
-><SPAN
-CLASS="PROPERTY"
->library</SPAN
-></A
->&nbsp;--&nbsp;Specify which library should contain the object files
-generated by building this package.</DT
-><DT
-><A
-HREF="ref.make.html"
-><SPAN
-CLASS="PROPERTY"
->make</SPAN
-></A
->&nbsp;--&nbsp;Define an additional custom build step associated with an
-option, resulting in a target that should not go directly into a library.</DT
-><DT
-><A
-HREF="ref.make-object.html"
-><SPAN
-CLASS="PROPERTY"
->make_object</SPAN
-></A
->&nbsp;--&nbsp;Define a custom build step, resulting in an object file
-that should go into a library.</DT
-><DT
-><A
-HREF="ref.no-define.html"
-><SPAN
-CLASS="PROPERTY"
->no_define</SPAN
-></A
->&nbsp;--&nbsp;Suppress the normal generation of a preprocessor
-<TT
-CLASS="LITERAL"
->#define</TT
-> symbol in a configuration header file.</DT
-><DT
-><A
-HREF="ref.parent.html"
-><SPAN
-CLASS="PROPERTY"
->parent</SPAN
-></A
->&nbsp;--&nbsp;Control the location of an option in the configuration hierarchy.</DT
-><DT
-><A
-HREF="ref.requires.html"
-><SPAN
-CLASS="PROPERTY"
->requires</SPAN
-></A
->&nbsp;--&nbsp;List constraints that the configuration should satisfy if
-a given option is active and enabled..</DT
-><DT
-><A
-HREF="ref.script.html"
-><SPAN
-CLASS="PROPERTY"
->script</SPAN
-></A
->&nbsp;--&nbsp;Include additional configuration information from another
-CDL script.</DT
-></DL
-></DIV
-><P
->This chapter contains reference information for the main <SPAN
-CLASS="APPLICATION"
->CDL</SPAN
->
-commands <TT
-CLASS="LITERAL"
->cdl_option</TT
->, <TT
-CLASS="LITERAL"
->cdl_component</TT
->, <TT
-CLASS="LITERAL"
->cdl_package</TT
-> and
-<TT
-CLASS="LITERAL"
->cdl_interface</TT
->, followed by the various properties such as
-<SPAN
-CLASS="PROPERTY"
->active_if</SPAN
-> and <SPAN
-CLASS="PROPERTY"
->compile</SPAN
-> in alphabetical order.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="build.tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ref.cdl-option.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building Test Cases</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><TT
-CLASS="LITERAL"
->cdl_option</TT
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/cdl-guide/repo.png b/doc/html/cdl-guide/repo.png
deleted file mode 100644 (file)
index 599a62b..0000000
Binary files a/doc/html/cdl-guide/repo.png and /dev/null differ
diff --git a/doc/html/cdl-guide/version.png b/doc/html/cdl-guide/version.png
deleted file mode 100644 (file)
index 5b0f4fa..0000000
Binary files a/doc/html/cdl-guide/version.png and /dev/null differ
diff --git a/doc/html/ecos.gif b/doc/html/ecos.gif
deleted file mode 100644 (file)
index 3dad40c..0000000
Binary files a/doc/html/ecos.gif and /dev/null differ
diff --git a/doc/html/index.html b/doc/html/index.html
deleted file mode 100644 (file)
index ed02e9a..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<HTML>
-<HEAD>
-<TITLE>eCos 2.0 Documentation</TITLE>
-</HEAD>
-<BODY>
-<DIV><IMG SRC="ecos.gif" HEIGHT="35" WIDTH="111" ALT="eCos" BORDER=0>
-<H1>eCos 2.0 Documentation</H1>
-<HR NOSHADE SIZE=3>
-
-<H2>Master Index</H2>
-<UL>
-<LI><A HREF="user-guide/ecos-user-guide.html">User guide</A><BR>A guide for installing eCos and using the host tools.</LI><P>
-<LI><A HREF="ref/ecos-ref.html">eCos reference</A><BR>Reference documentation for all eCos packages.</LI><P>
-<LI><A HREF="cdl-guide/cdl-guide.html">Component writer's guide</A><BR>A guide for authors of new eCos packages.</LI><P>
-</UL>
-
-<H2>Downloads</H2>
-<UL>
-<LI><A HREF="http://sources.redhat.com/ecos/docs-2.0/pdf/">eCos 2.0 documentation in PDF format</A><P>
-<LI><A HREF="http://sources.redhat.com/ecos/docs-latest/">Current eCos documentation</A><P>
-</UL>
-
-</BODY>
-</HTML>
diff --git a/doc/html/ref/aaed2000.html b/doc/html/ref/aaed2000.html
deleted file mode 100644 (file)
index 1f91bdb..0000000
+++ /dev/null
@@ -1,707 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM9 Agilent AAED2000</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312) "
-HREF="edb7xxx.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM9 Altera Excalibur"
-HREF="excaliburarm9.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="edb7xxx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="excaliburarm9.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AAED2000">ARM/ARM9 Agilent AAED2000</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5379">Overview</H2
-><P
->RedBoot supports the serial and ethernet ports
-on the board. The default serial port settings are 38400,8,N,1.
-RedBoot also supports flash management on the AAED2000.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5389"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_primary_ROMRAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_primary_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5408">Initial Installation Method</H2
-><P
->It is possible to install RedBoot in one of two ways. Either as
-the primary bootmonitor on the board (installed to blocks 0-1 of the
-flash) or as the secondary bootmonitor on the board (installed to
-blocks 1-2 of the flash).</P
-><P
->Presently, only the former method is supported.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN5412">RedBoot as Primary Bootmonitor</H3
-><P
->RedBoot is installed in flash using the on-board ARM Boot
-Monitor.</P
-><P
->Boot the board while pressing SPACE. This should bring up the
-Boot Monitor:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->ARM bootPROM [Version 1.3] Rebuilt on Jul 16 2001 at 16:21:36                   
-Running on a P920 board Evaluation Board                                        
-Board Revision V1.0, ARM920T processor Processor                                
-Memory Size is 32MBytes, Flash Size is 32MBytes                                 
-Copyright (c) ARM Limited 1999 - 2001. All rights reserved.                     
-Board designed by ARM Limited                                                   
-Hardware support provided at http://www.arm.com/                                
-For help on the available commands type ? or h                                  
-boot Monitor &#62;                                                                  </PRE
-></TD
-></TR
-></TABLE
->
-
-Download the RAM mode image of RedBoot configured as a primary
-bootmonitor using the ARM bootmonitor's SREC-download command:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->boot Monitor &gt; <TT
-CLASS="USERINPUT"
-><B
->m</B
-></TT
->
-Load Motorola S-Record image into memory and execute it
-The S-Record loader only accepts input on the serial port.
-Record addresses must be between 0x00008000 and 0x01E0F510.
-Type Ctrl/C to exit loader.</PRE
-></TD
-></TR
-></TABLE
->
-
-Use the terminal emulator's ASCII upload command, or (on Linux) simply
-cat the file to the serial port:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot_primary_RAM/redboot.srec &gt;/dev/ttyS1</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-
-You should see RedBoot start up:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->FLASH configuration checksum error or invalid key
-Ethernet eth0: MAC address 00:30:d3:03:04:99                                    
-IP: 192.168.42.111, Default server: 192.168.42.3                                
-                                                                                
-RedBoot(tm) bootstrap and debug environment [RAM]                               
-Non-certified release, version UNKNOWN - built 13:15:40, Nov  9 2001            
-                                                                                
-Platform: AAED2000 system (ARM9) [Primary]                                      
-Copyright (C) 2000, 2001, Red Hat, Inc.                                         
-                                                                                
-RAM: 0x00000000-0x01f80000, 0x0006f208-0x01f51000 available                     
-FLASH: 0x60000000 - 0x62000000, 256 blocks of 0x00020000 bytes each.            
-RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
->
-
-As can be seen from the output above, the network has been configured
-to give the board an IP address and information about the default
-server. If things are not set up on your network, you can still
-continue, but use the Y-modem download method when loading the RedBoot
-ROMRAM mode image.
-
-Now initialize RedBoot's FIS:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->fis init</B
-></TT
->                                                                
-About to initialize [format] FLASH image system - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-*** Initialize FLASH Image System
-    Warning: device contents not erased, some blocks may not be usable
-... Erase from 0x61fe0000-0x62000000: .
-... Program from 0x01f5f000-0x01f5f300 at 0x61fe0000: .</PRE
-></TD
-></TR
-></TABLE
->
-
-Download the ROMRAM mode image of RedBoot via ethernet:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->load -b %{FREEMEMLO} redboot_primary_ROMRAM/redboot.srec</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-
-or using serial Y-modem protocol:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->load -mode ymodem -b %{FREEMEMLO}</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-
-(Use the terminal emulator's Y-modem upload command to send the file 
-<TT
-CLASS="FILENAME"
->redboot_primary_ROMRAM/redboot.srec</TT
->.)
-
-When the image has been downloaded, program it into flash:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Address offset = 0x00ff8000
-Entry point: 0x00008040, address range: 0x00008000-0x0002da80
-RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->fi cr RedBoot</B
-></TT
->
-An image named 'RedBoot' exists - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-* CAUTION * about to program 'RedBoot'
-            at 0x60000000..0x6003ffff from 0x00100000 - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0x60000000-0x60040000: ..
-... Program from 0x00100000-0x00140000 at 0x60000000: ..
-... Erase from 0x61fe0000-0x62000000: .
-... Program from 0x01f5f000-0x01f7f000 at 0x61fe0000: .</PRE
-></TD
-></TR
-></TABLE
->
-
-Now reset the board. You should see the RedBoot banner.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5434">Special RedBoot Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels,
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the AAED2000 are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location Linux kernel was loaded to</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->'initrd' ramdisk location</P
-></DD
-><DT
->-s <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of initrd ramdisk</P
-></DD
-></DL
-></DIV
-><P
->The parameters for kernel image base and size are automatically
-set after a load operation. So one way of starting the kernel would
-be:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->load -r -b 0x100000 zImage</B
-></TT
->
-Raw file loaded 0x00100000-0x001a3d6c
-RedBoot&gt; exec -c "console=ttyAC0,38400"
-Using base address 0x00100000 and length 0x000a3d6c
-Uncompressing Linux.....</PRE
-></TD
-></TR
-></TABLE
->
-
-An image could also be put in flash and started directly:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->exec -b 0x60040000 -l 0xc0000 -c "console=ttyAC0,38400"</B
-></TT
->
-Uncompressing Linux.....</PRE
-></TD
-></TR
-></TABLE
->&#13;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5471">Memory Maps</H2
-><P
->The MMU page tables are located at 0x4000. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x01ffffff    Flash
-0x10000000 - 0x100fffff    Ethernet
-0x30000000 - 0x300fffff    Board registers
-0x40000000 - 0x4fffffff    PCMCIA Slot (0)
-0x50000000 - 0x5fffffff    Compact Flash Slot (1)
-0x80000000 - 0x800037ff    I/O registers
-0xb0060000 - 0xb00fffff    On-chip SRAM
-0xf0000000 - 0xfd3fffff    SDRAM
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x01f7ffff  Y Y  SDRAM
-0x01f80000 - 0x01ffffff  Y Y  SDRAM (used for LCD frame buffer)
-0x10000000 - 0x100fffff  N N  Ethernet
-0x30000000 - 0x300fffff  N N  Board registers
-0x40000000 - 0x4fffffff  N N  PCMCIA Slot (0)
-0x50000000 - 0x5fffffff  N N  Compact Flash Slot (1)
-0x60000000 - 0x61ffffff  N N  Flash
-0x80000000 - 0x800037ff  N N  I/O registers
-0xf0000000 - 0xffffffff  N N  SDRAM (uncached)&#13;</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5478">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=aaed
-export ARCH_DIR=arm
-export PLATFORM_DIR=arm9/aaed2000</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="edb7xxx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="excaliburarm9.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM9 Altera Excalibur</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/alias-command.html b/doc/html/ref/alias-command.html
deleted file mode 100644 (file)
index d589cab..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->alias</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="NEXT"
-TITLE="baudrate"
-HREF="baudrate-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="common-commands.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="baudrate-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="ALIAS-COMMAND">alias</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2927"
-></A
-><H2
->Name</H2
->alias&nbsp;--&nbsp;Manipulate command line aliases</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN2930"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->alias</B
->  {<TT
-CLASS="REPLACEABLE"
-><I
-> name</I
-></TT
->} [<TT
-CLASS="REPLACEABLE"
-><I
-> value</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2937"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN2939"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The name for this alias.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->value</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Replacement value for the alias.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2966"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->alias</B
-> command is used to maintain simple command
-line aliases.  These aliases are shorthand for longer expressions.
-When the pattern %{name} appears in a command line, including in a script,
-the corresponding value will be substituted.  Aliases may be nested.
-      </P
-><P
->If no value is provided, then the current value of the alias is displayed.
-      </P
-><P
->If the system supports non-volatile configuration data via the 
-<B
-CLASS="COMMAND"
->fconfig</B
-> command (see <A
-HREF="persistent-state-flash.html"
->the Section called <I
->Persistent State Flash-based Configuration and Control</I
-> in Chapter 2</A
->),
-then the value will be saved and used when the system is reset.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN2974"
-></A
-><H2
->Examples</H2
-><P
->Set an alias.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->alias joe "This is Joe"</B
-></TT
->
-Update RedBoot non-volatile configuration - continue (y/n)? n</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Display an alias.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->alias joe</B
-></TT
->
-'joe' = 'This is Joe'</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Use an alias.  Note: the <B
-CLASS="COMMAND"
->"="</B
-> command simply echoes the command to to console.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->= %{joe}</B
-></TT
->
-This is Joe</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Aliases can be nested.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->alias frank "Who are you? %{joe}"</B
-></TT
->
-Update RedBoot non-volatile configuration - continue (y/n)? n
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->= %{frank}</B
-></TT
->
-Who are you? This is Joe</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Notice how the value of %{frank} changes when %{joe} is changed since
-the value of %{joe} is not evaluated until %{frank} is evaluated.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->alias joe "This is now Josephine"</B
-></TT
->
-Update RedBoot non-volatile configuration - continue (y/n)? n
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->= %{frank}</B
-></TT
->
-Who are you? This is now Josephine</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="baudrate-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Common Commands</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->baudrate</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/asleep.png b/doc/html/ref/asleep.png
deleted file mode 100644 (file)
index c127379..0000000
Binary files a/doc/html/ref/asleep.png and /dev/null differ
diff --git a/doc/html/ref/assabet.html b/doc/html/ref/assabet.html
deleted file mode 100644 (file)
index b34fd34..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA1110) Intel SA1110 (Assabet) </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board "
-HREF="sa1100mm.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine"
-HREF="nano.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="sa1100mm.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="nano.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ASSABET">ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5748">Overview</H2
-><P
->RedBoot
-supports the board serial port and the compact flash ethernet port. The default
-serial port settings are 38400,8,N,1. RedBoot also supports flash management
-on the Assabet. </P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5758"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5777">Initial Installation Method</H2
-><P
->A Windows or Linux utility is used to program flash over parallel port
-driven JTAG interface. See board documentation for details on in situ flash
-programming. </P
-><P
->The flash parts are also socketed and may be programmed in a suitable
-device programmer.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5781">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5784">Memory Maps</H2
-><P
->The first level page table is located at physical address 0xc0004000.
-No second level tables are used.<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x07ffffff    flash
-0x08000000 - 0x0fffffff    SA-1111 Board flash
-0x10000000 - 0x17ffffff    Board Registers
-0x18000000 - 0x1fffffff    Ethernet
-0x20000000 - 0x2fffffff    SA-1111 Board PCMCIA
-0x30000000 - 0x3fffffff    Compact Flash
-0x40000000 - 0x47ffffff    SA-1111 Board
-0x48000000 - 0x4bffffff    GFX
-0x80000000 - 0xbfffffff    SA-1110 Internal Registers
-0xc0000000 - 0xc7ffffff    DRAM Bank 0
-0xc8000000 - 0xcfffffff    DRAM Bank 1
-0xd0000000 - 0xd7ffffff    DRAM Bank 2
-0xd8000000 - 0xdfffffff    DRAM Bank 3
-0xe0000000 - 0xe7ffffff    Cache Clean
-
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x01ffffff  Y Y  DRAM Bank 0
-0x08000000 - 0x0fffffff  Y Y  SA-1111 Board flash
-0x10000000 - 0x17ffffff  N N  Board Registers
-0x18000000 - 0x1fffffff  N N  Ethernet
-0x20000000 - 0x2fffffff  N N  SA-1111 Board PCMCIA
-0x30000000 - 0x3fffffff  N N  Compact Flash
-0x40000000 - 0x47ffffff  N N  SA-1111 Board
-0x48000000 - 0x4bffffff  N N  GFX
-0x50000000 - 0x57ffffff  Y Y  flash
-0x80000000 - 0xbfffffff  N N  SA-1110 Internal Registers
-0xc0000000 - 0xc1ffffff  N Y  DRAM Bank 0
-0xe0000000 - 0xe7ffffff  Y Y  Cache Clean</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5791">Platform Resource Usage</H2
-><P
->The SA11x0 OS timer is used as a polled timer to provide timeout support
-for network and XModem file transfers.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5794">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=assabet
-export ARCH_DIR=arm
-export PLATFORM_DIR=sa11x0/assabet</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="sa1100mm.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="nano.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/at91.html b/doc/html/ref/at91.html
deleted file mode 100644 (file)
index 30cace7..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9"
-HREF="pid.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312) "
-HREF="edb7xxx.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="pid.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="edb7xxx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AT91">ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5256">Overview</H2
-><P
->RedBoot supports both serial ports.
-The default serial port settings are 38400,8,N,1. RedBoot
-also supports minimal flash management on the EB40.
-However, since the flash device (AT29LV1024) is so small (only the upper 64K is
-available for general use), only the simple flash write command 'fis
-write' is supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5266"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5290">Initial Installation Method</H2
-><P
->This development board comes with ARM's debug tool, Angel, installed in flash.
-At this time, Angel will not be replaced.  Rather, RedBoot will be placed in
-the alternate half of flash.  Switch SW1 is used which monitor to boot.  Selecting
-SW1 to "lower mem" will choose Angel.  Select SW1 to "Upper mem" for RedBoot once
-it has been installed.</P
-><P
->Set SW1 to "lower mem" and connect serial port A to a host computer.  Using GDB
-from the host and Angel on the board, download the RAM mode image of RedBoot
-to the board. SW1 should then be set to "upper mem" just before starting RedBoot using
-the 'cont' command. Once RedBoot is started, the Angel session must be interrupted (on
-Linux this can be done using ^Z).  Follow this by connecting to the board using
-minicom at 38400-8N1.  At this point, RedBoot will be running on the board in
-RAM.  Now, download the ROMRAM mode image and program it to flash.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->arm-elf-gdb redboot_RAM.elf</B
-></TT
->
-(gdb) <TT
-CLASS="USERINPUT"
-><B
->tar rdi s=/dev/ttyS0</B
-></TT
->
-Angel Debug Monitor (serial) 1.04 (Advanced RISC Machines SDT 2.5) for
-AT91EB40 (2.00)
-Angel Debug Monitor rebuilt on Apr 07 2000 at 12:40:31
-Serial Rate:   9600
-Connected to ARM RDI target.
-(gdb) <TT
-CLASS="USERINPUT"
-><B
->set $cpsr=0xd3</B
-></TT
->
-(gdb) <TT
-CLASS="USERINPUT"
-><B
->load</B
-></TT
->
-Loading section .rom_vectors, size 0x40 lma 0x2020000
-Loading section .text, size 0x7fd8 lma 0x2020040
-Loading section .rodata, size 0x15a0 lma 0x2028018
-Loading section .data, size 0x2e4 lma 0x20295b8
-Start address 0x2020040 , load size 39068
-Transfer rate: 6250 bits/sec, 500 bytes/write.</PRE
-></TD
-></TR
-></TABLE
->
-At this point, set SW1 to "upper mem".
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->(gdb) <TT
-CLASS="USERINPUT"
-><B
->cont</B
-></TT
->
-Continuing.</PRE
-></TD
-></TR
-></TABLE
->
-At this point, suspend the GDB session (use Ctrl-Z) and start a
-terminal emulator:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->version</B
-></TT
->
-
-RedBoot(tm) bootstrap and debug environment [RAM]
-Non-certified release, version UNKNOWN - built 14:09:27, Jul 20 2001
-
-Platform: Atmel AT91/EB40 (ARM7TDMI)
-Copyright (C) 2000, 2001, Red Hat, Inc.
-
-RAM: 0x02000000-0x02080000, 0x020116d8-0x0207fd00 available
-FLASH: 0x01010000 - 0x01020000, 256 blocks of 0x00000100 bytes each.
-
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -m ymodem -b %{FREEMEMLO}</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Use minicom to send the file redboot_ROMRAM.srec via YModem.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi wr -f 0x01010000 -b %{FREEMEMLO} -l 0xe100</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Press the "reset" pushbutton and RedBoot
-should come up on the board.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5306">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5309">Memory Maps</H2
-><P
->This processor has no MMU, so the only memory map is for physical addresses.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x00000fff    On-chip SRAM
-0x01000000 - 0x0101ffff    Flash
-0x02000000 - 0x0207ffff    RAM
-0xffe00000 - 0xffffffff    I/O registers
-
-The flash based RedBoot image occupies virtual addresses 0x01010000 - 0x0101dfff</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5313">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=eb40
-export ARCH_DIR=arm
-export PLATFORM_DIR=at91</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="pid.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="edb7xxx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/atlas.html b/doc/html/ref/atlas.html
deleted file mode 100644 (file)
index 2808fe3..0000000
+++ /dev/null
@@ -1,777 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="IA32/x86 x86-Based PC"
-HREF="x86pc.html"><LINK
-REL="NEXT"
-TITLE="MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board "
-HREF="malta.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="x86pc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="malta.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ATLAS">MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6659">Overview</H2
-><P
->RedBoot supports the DgbSer
-serial port and the built in ethernet port for communication and downloads.
-The default serial port settings are 115200,8,N,1. RedBoot runs from and supports
-flash management for the system flash region.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6669"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6688">Initial Installation</H2
-><P
->RedBoot is installed using the code download facility built into the
-Atlas board. See the Atlas User manual for details, and also the Atlas download
-format in <A
-HREF="atlas.html#ATLAS-DOWNLOAD-FORMAT"
->the Section called <I
->Atlas download format</I
-></A
->.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6692">Quick download instructions</H3
-><P
->Here are quick start instructions for downloading the prebuilt RedBoot
-image.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Locate the prebuilt files in the bin directory: <TT
-CLASS="FILENAME"
->deleteall.dl</TT
-> and <TT
-CLASS="FILENAME"
->redboot.dl</TT
->.</P
-></LI
-><LI
-><P
->Make sure switch S1-1 is OFF and switch S5-1 is ON. Reset
-the board and verify that the LED display reads <TT
-CLASS="COMPUTEROUTPUT"
->Flash DL</TT
->.</P
-></LI
-><LI
-><P
->Make sure your parallel port is connected to the 1284 port
-Of the Atlas board. </P
-></LI
-><LI
-><P
->Send the <TT
-CLASS="FILENAME"
->deleteall.dl</TT
-> file to the
-parallel port to erase previous images:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat deleteall.dl &#62;/dev/lp0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-When this is complete, the LED display should read
-<TT
-CLASS="COMPUTEROUTPUT"
->Deleted</TT
->.</P
-></LI
-><LI
-><P
->Send the ROM mode RedBoot image to the board:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot.dl &#62;/dev/lp0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-When this is complete, the LED display should show the last
-address programmed. This will be something like: <TT
-CLASS="COMPUTEROUTPUT"
->1fc17000</TT
->. </P
-></LI
-><LI
-><P
->Change switch S5-1 to OFF and reset the board. The LED display
-should read <TT
-CLASS="COMPUTEROUTPUT"
->RedBoot</TT
->. </P
-></LI
-><LI
-><P
->Run the RedBoot <B
-CLASS="COMMAND"
->fis init</B
->
-and <B
-CLASS="COMMAND"
->fconfig</B
-> commands to initialize the flash.
-See <A
-HREF="atlas.html#ATLAS-ADDITIONAL-FCONFIG-OPTIONS"
->the Section called <I
->Additional config options</I
-></A
->, <A
-HREF="flash-image-system.html"
->the Section called <I
->Flash Image System (FIS)</I
-> in Chapter 2</A
->
-and <A
-HREF="persistent-state-flash.html"
->the Section called <I
->Persistent State Flash-based Configuration and Control</I
-> in Chapter 2</A
-> for details. </P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="ATLAS-DOWNLOAD-FORMAT">Atlas download format</H3
-><P
->In order to download RedBoot to the Atlas board, it must be converted
-to the Atlas download format. There are different ways of doing this depending
-on which version of the developer's kit is shipped with the board.   </P
-><P
->The <I
-CLASS="CITETITLE"
->Atlas Developer's Kit</I
-> CD contains an <SPAN
-CLASS="APPLICATION"
->srec2flash</SPAN
-> utility. The source code for this utility is part
-of the <TT
-CLASS="FILENAME"
->yamon/yamon-src-01.01.tar.gz</TT
-> tarball
-on the Dev Kit CD. The path in the expanded tarball is <TT
-CLASS="FILENAME"
->yamon/bin/tools</TT
->.  To use
-<SPAN
-CLASS="APPLICATION"
->srec2flash</SPAN
-> to convert the S-record file:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->srec2flash -EL -S29 redboot.srec &#62;redboot.dl</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-The <I
-CLASS="CITETITLE"
->Atlas/Malta Developer's Kit</I
-> CD
-contains an <SPAN
-CLASS="APPLICATION"
->srecconv.pl</SPAN
-> utility which requires
-Perl. This utilty is part of the <TT
-CLASS="FILENAME"
->yamon/yamon-src-02.00.tar.gz</TT
->
-tarball on the Dev Kit CD. The path in the expanded tarball
-is <TT
-CLASS="FILENAME"
->yamon/bin/tools</TT
->.   To use <SPAN
-CLASS="APPLICATION"
->srecconv</SPAN
-> to convert the S-record file:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cp redboot_ROM.srec redboot_ROM.rec</B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->srecconv.pl -ES L -A 29 redboot_ROM</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-The resulting file is named <TT
-CLASS="FILENAME"
->redboot_ROM.fl</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6746">Flash management</H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="ATLAS-ADDITIONAL-FCONFIG-OPTIONS">Additional config options</H3
-><P
->The ethernet MAC address is stored in flash manually using the <B
-CLASS="COMMAND"
->fconfig</B
-> command. You can use the YAMON <B
-CLASS="COMMAND"
->setenv
-ethaddr</B
-> command to print out the board ethernet address.
-Typically, it is:    <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->00:0d:a0:00:<TT
-CLASS="REPLACEABLE"
-><I
->xx:xx</I
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> where
-<TT
-CLASS="REPLACEABLE"
-><I
->xx.xx</I
-></TT
-> is the hex representation of the
-board serial number.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6756">Additional commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the
-loading and execution of Linux kernels, is supported for this architecture
- (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The
-<B
-CLASS="COMMAND"
->exec</B
-> parameters used for MIPS boards are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location to store command line and environment passed to kernel</P
-></DD
-><DT
->-w <TT
-CLASS="REPLACEABLE"
-><I
->&lt;time&#62;</I
-></TT
-></DT
-><DD
-><P
->Wait time in seconds before starting kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
-><TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Kernel entry point, defaulting to the entry point of the last image
-loaded</P
-></DD
-></DL
-></DIV
-><P
->Linux kernels on MIPS platforms expect the entry point to be called with arguments
-in the registers equivalent to a C call with prototype:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void Linux(int argc, char **argv, char **envp);</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->RedBoot will place the appropriate data at the offset specified by the
-<TT
-CLASS="PARAMETER"
-><I
->-b</I
-></TT
-> parameter, or by default at address 0x80080000, and will set the
-arguments accordingly when calling into the kernel.</P
-><P
->The default entry point, if no image with explicit entry point has been loaded and
-none is specified, is 0x80000750.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6788">Interrupts</H2
-><P
->RedBoot uses an interrupt vector table which is located at address 0x80000400.
-Entries in this table are pointers to functions with this protoype:      <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int irq_handler( unsigned vector, unsigned data )</PRE
-></TD
-></TR
-></TABLE
->On an atlas
-board, the vector argument is one of 25 interrupts defined in <TT
-CLASS="COMPUTEROUTPUT"
->hal/mips/atlas/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/include/plf_intr.h</TT
->: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_HAL_INTERRUPT_SER                 0
-#define CYGNUM_HAL_INTERRUPT_TIM0                1
-#define CYGNUM_HAL_INTERRUPT_2                   2
-#define CYGNUM_HAL_INTERRUPT_3                   3
-#define CYGNUM_HAL_INTERRUPT_RTC                 4
-#define CYGNUM_HAL_INTERRUPT_COREHI              5
-#define CYGNUM_HAL_INTERRUPT_CORELO              6
-#define CYGNUM_HAL_INTERRUPT_7                   7
-#define CYGNUM_HAL_INTERRUPT_PCIA                8
-#define CYGNUM_HAL_INTERRUPT_PCIB                9
-#define CYGNUM_HAL_INTERRUPT_PCIC               10
-#define CYGNUM_HAL_INTERRUPT_PCID               11
-#define CYGNUM_HAL_INTERRUPT_ENUM               12
-#define CYGNUM_HAL_INTERRUPT_DEG                13
-#define CYGNUM_HAL_INTERRUPT_ATXFAIL            14
-#define CYGNUM_HAL_INTERRUPT_INTA               15
-#define CYGNUM_HAL_INTERRUPT_INTB               16
-#define CYGNUM_HAL_INTERRUPT_INTC               17
-#define CYGNUM_HAL_INTERRUPT_INTD               18
-#define CYGNUM_HAL_INTERRUPT_SERR               19
-#define CYGNUM_HAL_INTERRUPT_HW1                20
-#define CYGNUM_HAL_INTERRUPT_HW2                21
-#define CYGNUM_HAL_INTERRUPT_HW3                22
-#define CYGNUM_HAL_INTERRUPT_HW4                23
-#define CYGNUM_HAL_INTERRUPT_HW5                24</PRE
-></TD
-></TR
-></TABLE
->The data
-passed to the ISR is pulled from a data table (<TT
-CLASS="COMPUTEROUTPUT"
->hal_interrupt_data</TT
->) which immediately follows the interrupt vector table. With
-25 interrupts, the data table starts at address 0x80000464 on atlas.</P
-><P
->An application may create a normal C function with the above prototype
-to be an ISR. Just poke its address into the table at the correct index and
-enable the interrupt at its source. The return value of the ISR is ignored
-by RedBoot. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6797">Memory Maps</H2
-><P
->Memory Maps RedBoot sets up the following memory map on the Atlas board.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range Description
------------------------ -------------
-0x00000000 - 0x07ffffff SDRAM
-0x08000000 - 0x17ffffff PCI Memory Space
-0x18000000 - 0x1bdfffff PCI I/O Space
-0x1be00000 - 0x1bffffff System Controller
-0x1c000000 - 0x1dffffff System flash
-0x1e000000 - 0x1e3fffff Monitor flash
-0x1f000000 - 0x1fbfffff FPGA</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6801">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=atlas_mips32_4kc
-export TARGET=atlas_mips64_5kc
-export ARCH_DIR=mips
-export PLATFORM_DIR=atlas</PRE
-></TD
-></TR
-></TABLE
->
-
-Use one of the TARGET settings only.&#13;</P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="x86pc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="malta.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->IA32/x86 x86-Based PC</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/awake.png b/doc/html/ref/awake.png
deleted file mode 100644 (file)
index c3504dc..0000000
Binary files a/doc/html/ref/awake.png and /dev/null differ
diff --git a/doc/html/ref/baudrate-command.html b/doc/html/ref/baudrate-command.html
deleted file mode 100644 (file)
index ccac1cd..0000000
+++ /dev/null
@@ -1,354 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->baudrate</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="alias"
-HREF="alias-command.html"><LINK
-REL="NEXT"
-TITLE="cache"
-HREF="cache-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="alias-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cache-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="BAUDRATE-COMMAND">baudrate</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2995"
-></A
-><H2
->Name</H2
->baudrate&nbsp;--&nbsp;Set the baud rate for the system serial console</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN2998"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->baudrate</B
->  [-b<TT
-CLASS="REPLACEABLE"
-><I
-> rate</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3003"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3005"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b <TT
-CLASS="REPLACEABLE"
-><I
->rate</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The baud rate to use for the serial console.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3025"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->baudrate</B
-> command sets the baud rate for the system serial console.
-      </P
-><P
->If no value is provided, then the current value of the console baud rate is displayed.
-      </P
-><P
->If the system supports non-volatile configuration data via the 
-<B
-CLASS="COMMAND"
->fconfig</B
-> command (see <A
-HREF="persistent-state-flash.html"
->the Section called <I
->Persistent State Flash-based Configuration and Control</I
-> in Chapter 2</A
->),
-then the value will be saved and used when the system is reset.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3033"
-></A
-><H2
->Examples</H2
-><P
->Show the current baud rate.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->baudrate</B
-></TT
->
-Baud rate = 38400</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Change the console baud rate.  In order to make this operation safer,
-there will be a slight pause after the
-first message to give you time to change to the new baud rate.
-If it doesn't work, or a less than affirmative answer is given to the 
-"continue" prompt, then the baud rate will revert to the current value.
-Only after the baud rate has been firmly established will <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->RedBoot</I
-></SPAN
->
-give you an opportunity to save the value in persistent storage.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->baudrate -b 57600</B
-></TT
->
-Baud rate will be changed to 57600 - update your settings
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Device baud rate changed at this point</I
-></SPAN
->
-Baud rate changed to 57600 - continue (y/n)? y
-Update RedBoot non-volatile configuration - continue (y/n)? n</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="alias-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cache-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->alias</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->cache</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/brutus.html b/doc/html/ref/brutus.html
deleted file mode 100644 (file)
index 22c7cd5..0000000
+++ /dev/null
@@ -1,359 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA1100) Intel Brutus</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA110) Intel EBSA 285"
-HREF="ebsa285.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board "
-HREF="sa1100mm.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ebsa285.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="sa1100mm.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BRUTUS">ARM/StrongARM(SA1100) Intel Brutus</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5642">Overview</H2
-><P
->RedBoot
-supports both board serial ports on the Brutus board. The default serial port
-settings are 38400,8,N,1. flash management is not currently supported. </P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5652"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5671">Initial Installation Method</H2
-><P
->Device programmer is used to program socketed flash parts.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5674">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5677">Memory Maps</H2
-><P
->The first level page table is located at physical address 0xc0004000.
-No second level tables are used.
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x000fffff    Boot ROM
-0x08000000 - 0x083fffff    Application flash
-0x10000000 - 0x100fffff    SRAM
-0x18000000 - 0x180fffff    Chip Select 3
-0x20000000 - 0x3fffffff    PCMCIA
-0x80000000 - 0xbfffffff    SA-1100 Internal Registers
-0xc0000000 - 0xc7ffffff    DRAM Bank 0
-0xc8000000 - 0xcfffffff    DRAM Bank 1
-0xd0000000 - 0xd7ffffff    DRAM Bank 2
-0xd8000000 - 0xdfffffff    DRAM Bank 3
-0xe0000000 - 0xe7ffffff    Cache Clean
-
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x003fffff  Y Y  DRAM Bank 0
-0x00400000 - 0x007fffff  Y Y  DRAM Bank 1
-0x00800000 - 0x00bfffff  Y Y  DRAM Bank 2
-0x00c00000 - 0x00ffffff  Y Y  DRAM Bank 3
-0x08000000 - 0x083fffff  Y Y  Application flash
-0x10000000 - 0x100fffff  Y N  SRAM
-0x20000000 - 0x3fffffff  N N  PCMCIA
-0x40000000 - 0x400fffff  Y Y  Boot ROM
-0x80000000 - 0xbfffffff  N N  SA-1100 Internal Registers
-0xe0000000 - 0xe7ffffff  Y Y  Cache Clean</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5684">Platform Resource Usage</H2
-><P
->The SA11x0 OS timer is used as a polled timer to provide timeout
-support for XModem file transfers.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5687">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=brutus
-export ARCH_DIR=arm
-export PLATFORM_DIR=sa11x0/brutus</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ebsa285.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="sa1100mm.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA110) Intel EBSA 285</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/c-and-math-library-overview.html b/doc/html/ref/c-and-math-library-overview.html
deleted file mode 100644 (file)
index c3781c2..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->C and math library overview</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The ISO Standard C and Math Libraries"
-HREF="libc.html"><LINK
-REL="PREVIOUS"
-TITLE="The ISO Standard C and Math Libraries"
-HREF="libc.html"><LINK
-REL="NEXT"
-TITLE="Math library compatibility modes"
-HREF="math-library-compatibility-modes.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="libc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="math-library-compatibility-modes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="C-AND-MATH-LIBRARY-OVERVIEW">Chapter 13. C and math library overview</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="c-and-math-library-overview.html#INCLUDE-NON-ISO-FUNCTIONS"
->Included non-ISO functions</A
-></DT
-><DT
-><A
-HREF="math-library-compatibility-modes.html"
->Math library compatibility modes</A
-></DT
-><DT
-><A
-HREF="libc-implementation-details.html"
->Some implementation details</A
-></DT
-><DT
-><A
-HREF="libc-thread-safety.html"
->Thread safety</A
-></DT
-><DT
-><A
-HREF="c-library-startup.html"
->C library startup</A
-></DT
-></DL
-></DIV
-><A
-NAME="ISO-C-AND-MATH-LIBRARIES"
-></A
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> provides compatibility with the
-       ISO 9899:1990 specification for the standard C library, which
-       is essentially the same as the better-known ANSI C3.159-1989
-       specification (C-89).</P
-><P
->There are three aspects of this compatibility supplied by <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->.
-First there is a <I
-CLASS="FIRSTTERM"
->C library</I
-> which
-implements the functions defined by the ISO standard, except for the
-mathematical functions. This is provided by the eCos C library
-packages. </P
-><P
->Then <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> provides a math
-library, which implements the mathematical functions from the ISO
-C library. This distinction between C and math libraries is frequently
-drawn &#8212; most standard C library implementations provide
-separate linkable files for the two, and the math library contains
-all the functions from the <TT
-CLASS="FILENAME"
->math.h</TT
-> header
-file.</P
-><P
->There is a third element to the ISO C library, which is the
-environment in which applications run when they use the standard
-C library. This environment is set up by the C library startup procedure
-(<A
-HREF="c-library-startup.html"
->the Section called <I
->C library startup</I
-></A
->)
-and it provides (among other things) a <TT
-CLASS="FUNCTION"
->main()</TT
-> entry
-point function, an <TT
-CLASS="FUNCTION"
->exit()</TT
-> function that
-does the cleanup required by the standard (including handlers registered
-using the <TT
-CLASS="FUNCTION"
->atexit()</TT
-> function), and an environment
-that can be read with <TT
-CLASS="FUNCTION"
->getenv()</TT
->. </P
-><P
->The description in this manual focuses on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->-specific
-aspects of the C library (mostly related to <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->'s
-configurability) as well as mentioning the omissions from the standard
-in this release. We do not attempt to define the semantics of each
-function, since that information can be found in the ISO, ANSI,
-POSIX and IEEE standards, and the many good books that have been
-written about the standard C library, that cover usage of these
-functions in a more general and useful way.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="INCLUDE-NON-ISO-FUNCTIONS">Included non-ISO functions</H1
-><P
->The following functions from the POSIX specification
-are included for convenience: </P
-><P
->      <TT
-CLASS="LITERAL"
->extern char **</TT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->environ</I
-></SPAN
-> variable
-(for setting up the environment for use with <TT
-CLASS="FUNCTION"
->getenv()</TT
->)</P
-><P
->      <TT
-CLASS="FUNCTION"
->_exit()</TT
-> </P
-><P
->      <TT
-CLASS="FUNCTION"
->strtok_r()</TT
-> </P
-><P
->      <TT
-CLASS="FUNCTION"
->rand_r()</TT
-> </P
-><P
->      <TT
-CLASS="FUNCTION"
->asctime_r()</TT
-> </P
-><P
->      <TT
-CLASS="FUNCTION"
->ctime_r()</TT
-> </P
-><P
->      <TT
-CLASS="FUNCTION"
->localtime_r()</TT
-> </P
-><P
->      <TT
-CLASS="FUNCTION"
->gmtime_r()</TT
-> </P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> provides the following additional
-implementation-specific functions within the standard C library
-to adjust the date and time settings:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->cyg_libc_time_setdst</TT
->( 
-  cyg_libc_time_dst state
-);</PRE
-></TD
-></TR
-></TABLE
-><P
->This function sets the state of Daylight Savings Time. The
-values for state are:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYG_LIBC_TIME_DSTNA   unknown
-CYG_LIBC_TIME_DSTOFF  off
-CYG_LIBC_TIME_DSTON   on</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->cyg_libc_time_setzoneoffsets</TT
->( 
-  time_t stdoffset, time_t dstoffset
-);</PRE
-></TD
-></TR
-></TABLE
-><P
->This function sets the offsets from UTC used when Daylight
-Savings Time is enabled or disabled. The offsets are in time_t&#8217;s,
-which are seconds in the current inplementation.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><TT
-CLASS="FUNCTION"
->Cyg_libc_time_dst cyg_libc_time_getzoneoffsets</TT
->( 
-  time_t *stdoffset, time_t *dstoffset
-);</PRE
-></TD
-></TR
-></TABLE
-><P
->This function retrieves the current setting for Daylight Savings
-Time along with the offsets used for both STD and DST. The offsets
-are both in time_t&#8217;s, which are seconds in the
-current implementation.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><TT
-CLASS="FUNCTION"
->cyg_bool cyg_libc_time_settime</TT
->( 
-  time_t utctime
-);</PRE
-></TD
-></TR
-></TABLE
-><P
->This function sets the current time for the system The time
-is specified as a <SPAN
-CLASS="TYPE"
->time_t</SPAN
-> in UTC.
-It returns non-zero on error.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="libc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="math-library-compatibility-modes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The ISO Standard C and Math Libraries</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="libc.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Math library compatibility modes</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/c-library-startup.html b/doc/html/ref/c-library-startup.html
deleted file mode 100644 (file)
index 9c4ccb2..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->C library startup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="C and math library overview"
-HREF="c-and-math-library-overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread safety"
-HREF="libc-thread-safety.html"><LINK
-REL="NEXT"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="libc-thread-safety.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 13. C and math library overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="C-LIBRARY-STARTUP">C library startup</H1
-><P
->The C library includes a function declared as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->cyg_iso_c_start</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to start an environment in which an
-ISO C style program can run in the most compatible way.</P
-><P
->What this function does is to create a thread which will invoke <TT
-CLASS="FUNCTION"
->main()</TT
-> &#8212; normally
-considered a program's entry point. In particular, it can
-supply arguments to <TT
-CLASS="FUNCTION"
->main()</TT
-> using the CYGDAT_LIBC_ARGUMENTS
-configuration option, and when returning from <TT
-CLASS="FUNCTION"
->main()</TT
->,
-or calling <TT
-CLASS="FUNCTION"
->exit()</TT
->, pending stdio file output
-is flushed and any functions registered with <TT
-CLASS="FUNCTION"
->atexit()</TT
-> are
-invoked. This is all compliant with the ISO C standard in this respect. </P
-><P
->This thread starts execution when the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> scheduler
-is started. If the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> kernel package is not
-available (and hence there is no scheduler), then <TT
-CLASS="FUNCTION"
->cyg_iso_c_start()</TT
-> will
-invoke the <TT
-CLASS="FUNCTION"
->main()</TT
-> function directly, i.e.
-it will not return until the <TT
-CLASS="FUNCTION"
->main()</TT
-> function
-returns. </P
-><P
->The <TT
-CLASS="FUNCTION"
->main()</TT
-> function should be defined
-as the following, and if defined in a C&#0043;&#0043; file,
-should have &#8220;C&#8221; linkage: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->extern int <TT
-CLASS="FUNCTION"
->main</TT
->( 
-  int <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->argc,</I
-></SPAN
->
-  char *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->argv[] </I
-></SPAN
->)</PRE
-></TD
-></TR
-></TABLE
-><P
->The thread that is started by <TT
-CLASS="FUNCTION"
->cyg_iso_c_start()</TT
-> can
-be manipulated directly, if you wish. For example you can suspend
-it. The kernel C API needs a handle to do this, which is available
-by including the following in your source code.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->extern cyg_handle_t cyg_libc_main_thread;</PRE
-></TD
-></TR
-></TABLE
-><P
->Then for example, you can suspend the thread with the line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_thread_suspend( cyg_libc_main_thread );</PRE
-></TD
-></TR
-></TABLE
-><P
->If you call <TT
-CLASS="FUNCTION"
->cyg_iso_c_start()</TT
-> and
-do not provide your own <TT
-CLASS="FUNCTION"
->main()</TT
-> function,
-the system will provide a <TT
-CLASS="FUNCTION"
->main()</TT
-> for you
-which will simply return immediately.</P
-><P
->In the default configuration, <TT
-CLASS="FUNCTION"
->cyg_iso_c_start()</TT
-> is
-invoked automatically by the <TT
-CLASS="FUNCTION"
->cyg_package_start()</TT
-> function
-in the infrastructure configuration. This means that in the simplest
-case, your program can indeed consist of simply:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int main( int argc, char *argv[] )
-{
- printf("Hello eCos\n");
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If you override <TT
-CLASS="FUNCTION"
->cyg_package_start()</TT
-> or <TT
-CLASS="FUNCTION"
->cyg_start()</TT
->,
-or disable the infrastructure configuration option CYGSEM_START_ISO_C_COMPATIBILITY
-then you must ensure that you call <TT
-CLASS="FUNCTION"
->cyg_iso_c_start()</TT
-> yourself
-if you want to be able to have your program start at the entry point
-of <TT
-CLASS="FUNCTION"
->main()</TT
-> automatically.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="libc-thread-safety.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread safety</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->I/O Package (Device Drivers)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/cache-command.html b/doc/html/ref/cache-command.html
deleted file mode 100644 (file)
index 346d01e..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->cache</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="baudrate"
-HREF="baudrate-command.html"><LINK
-REL="NEXT"
-TITLE="channel"
-HREF="channel-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="baudrate-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="channel-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="CACHE-COMMAND">cache</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3044"
-></A
-><H2
->Name</H2
->cache&nbsp;--&nbsp;Control hardware caches</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3047"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->cache</B
->  [on | off]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3053"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3055"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->on</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Turn the caches on</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->off</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Turn the caches off</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3080"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->cache</B
-> command is used to manipulate the caches on the processor. </P
-><P
->With no options, this command specifies the state of the system caches.</P
-><P
->When an option is given, the caches are turned off or on appropriately.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3086"
-></A
-><H2
->Examples</H2
-><P
->Show the current cache state.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cache</B
-></TT
->
-Data cache: On, Instruction cache: On</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Disable the caches.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cache off</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cache</B
-></TT
->
-Data cache: Off, Instruction cache: Off</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Enable the caches.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cache on</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cache</B
-></TT
->
-Data cache: On, Instruction cache: On</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="baudrate-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="channel-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->baudrate</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->channel</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/calmrisc16.html b/doc/html/ref/calmrisc16.html
deleted file mode 100644 (file)
index 86ac0f8..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/Xscale Intel IQ80321"
-HREF="iq80321.html"><LINK
-REL="NEXT"
-TITLE="CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board "
-HREF="calmrisc32.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="iq80321.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="calmrisc32.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CALMRISC16">CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6447">Overview</H2
-><P
-> The
-Samsung CalmRISC16 evaluation platform consists of two boards connected by a
-ribbon cable. One board contains the CPU core and memory. The other board is
-called the MDSChip board and provides the host interface. The calmRISC16 is a
-harvard architecture with separate 22-bit program and data addresses. The
-instruction set provides no instruction for writing to program memory. The
-MDSChip board firmware (called CalmBreaker) provides a pseudo register interface
-so that code running on the core has access to a serial channel and a mechanism
-to write to program memory. The serial channel is fixed at 57600-8-N-1 by the
-firmware. The CalmBreaker firmware also provides a serial protocol which
-allows a host to download a program and to start or stop the core board.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6457"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running via the MDSChip board.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6471">Initial Installation Method</H2
-><P
->The CalmRISC16 core is controlled through the MDSChip board. There is
-no non-volatile storage available for RedBoot, so RedBoot must be downloaded
-to the board on every power cycle. A small utility program is used to download
-S-record files to the eval board. Sources and build instructions for this
-utility are located in the RedBoot sources in:
-<TT
-CLASS="FILENAME"
->packages/hal/calmrisc16/ceb/current/support</TT
-></P
-><P
->To download the RedBoot image, first press the reset button on the MDSChip
-board. The green 'Run' LED on the core board should go off. Now, use the
-utility to download the RedBoot image with:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Note that the '-p /dev/term/b' specifies the serial port to use and will vary
-from system to system. The download will take about two minutes. After it
-finishes, start RedBoot with:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->calmbreaker -p /dev/term/b --run</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-The 'Run' LED on the core board should be on. Connecting to the MDSboard with
-a terminal and typing enter should result in RedBoot reprinting the command
-prompt.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6480">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6483">Special Note on Serial Channel</H2
-><P
->The MDSChip board uses a relatively slow microcontroller to provide
-the pseudo-register interface to the core board. This pseudo-register
-interface provides access to the serial channel and write access to program
-memory. Those interfaces are slow and the serial channel is easily overrun
-by a fast host. For this reason, GDB must be told to limit the size of code
-download packets to avoid serial overrun. This is done with the following
-GDB command:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->(gdb) <TT
-CLASS="USERINPUT"
-><B
->set download-write-size 25</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6488">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=calm16_ceb
-export ARCH_DIR=calmrisc16
-export PLATFORM_DIR=ceb</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="iq80321.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="calmrisc32.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/Xscale Intel IQ80321</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/calmrisc32.html b/doc/html/ref/calmrisc32.html
deleted file mode 100644 (file)
index 8d41c11..0000000
+++ /dev/null
@@ -1,363 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board "
-HREF="calmrisc16.html"><LINK
-REL="NEXT"
-TITLE="FRV/FRV400 Fujitsu FR-V 400 (MB-93091)"
-HREF="frv400.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="calmrisc16.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="frv400.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CALMRISC32">CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6496">Overview</H2
-><P
-> The
-Samsung CalmRISC32 evaluation platform consists of two boards connected by a
-ribbon cable. One board contains the CPU core and memory. The other board is
-called the MDSChip board and provides the host interface. The calmRISC32 is a
-harvard architecture with separate 32-bit program and data addresses. The
-instruction set provides no instruction for writing to program memory. The
-MDSChip board firmware (called CalmBreaker) provides a pseudo register interface
-so that code running on the core has access to a serial channel and a mechanism
-to write to program memory. The serial channel is fixed at 57600-8-N-1 by the
-firmware. The CalmBreaker firmware also provides a serial protocol which
-allows a host to download a program and to start or stop the core board.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6506"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running via the MDSChip board.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6520">Initial Installation Method</H2
-><P
->The calmRISC32 core is controlled through the MDSChip board. There is
-no non-volatile storage available for RedBoot, so RedBoot must be downloaded
-to the board on every power cycle. A small utility program is used to download
-S-record files to the eval board. Sources and build instructions for this
-utility are located in the RedBoot sources in:
-<TT
-CLASS="FILENAME"
->packages/hal/calmrisc32/ceb/current/support</TT
-></P
-><P
->To download the RedBoot image, first press the reset button on the MDSChip
-board. The green 'Run' LED on the core board should go off. Now, use the
-utility to download the RedBoot image with:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->calmbreaker -p /dev/term/b --reset --srec-code -f redboot.elf</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Note that the '-p /dev/term/b' specifies the serial port to use and will vary
-from system to syetm. The download will take about two minutes. After it
-finishes, start RedBoot with:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->calmbreaker -p /dev/term/b --run</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-The 'Run' LED on the core board should be on. Connecting to the MDSboard with
-a terminal and typing enter should result in RedBoot reprinting the command
-prompt.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6529">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6532">Special Note on Serial Channel</H2
-><P
->The MDSChip board uses a relatively slow microcontroller to provide
-the pseudo-register interface to the core board. This pseudo-register
-interface provides access to the serial channel and write access to program
-memory. Those interfaces are slow and the serial channel is easily overrun
-by a fast host. For this reason, GDB must be told to limit the size of code
-download packets to avoid serial overrun. This is done with the following
-GDB command:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->(gdb) <TT
-CLASS="USERINPUT"
-><B
->set download-write-size 25</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6537">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=calm32_ceb
-export ARCH_DIR=calmrisc32
-export PLATFORM_DIR=ceb</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="calmrisc16.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="frv400.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/cerfcube.html b/doc/html/ref/cerfcube.html
deleted file mode 100644 (file)
index af81906..0000000
+++ /dev/null
@@ -1,474 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA11X0) Intrinsyc CerfCube</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC"
-HREF="ipaq.html"><LINK
-REL="NEXT"
-TITLE="ARM/Xscale Cyclone IQ80310"
-HREF="iq80310.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ipaq.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="iq80310.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CERFCUBE">ARM/StrongARM(SA11X0) Intrinsyc CerfCube</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6082">Overview</H2
-><P
->RedBoot supports the serial port and the builtin
-ethernet connection for communication and downloads. </P
-><P
->The default serial port settings are 38400,8,N,1. RedBoot runs from
-and supports flash management for the system flash region. </P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6087"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6106">Initial Installation</H2
-><P
->The original boot loader supplied with the CerfCube can be used to install
-RedBoot.  Connect to the device using a serial port at 38400/8N1.
-Copy the binary RedBoot ROM mode image to an available TFTP server.
-Issue these commands to the Instrinsyc loader:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->download tftp:<TT
-CLASS="REPLACEABLE"
-><I
->x.x.x.x</I
-></TT
-> redboot_ROM.bin 0xc0000000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->flashloader 0x00000000 0xc0000000 0x20000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-where <TT
-CLASS="REPLACEABLE"
-><I
->x.x.x.x</I
-></TT
-> is the IP address of the TFTP
-server.
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Other installation methods may be available via the Intrinsyc loader.
-Contact Intrinsyc for details.</P
-></BLOCKQUOTE
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6117">Additional commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels,
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the CerfCube are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location Linux kernel was loaded to</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->'initrd' ramdisk location</P
-></DD
-><DT
->-s <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of initrd ramdisk</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6149">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the CerfCube:   The first level
-page table is located at physical address 0xC0004000.  No second level tables
-are used.   <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-> <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x01ffffff    16Mb to 32Mb FLASH (nCS0) [organized as below]
-  0x000000 - 0x0001ffff      RedBoot
-  0x020000 - 0x0003ffff      RedBoot [RAM version]
-  0xfc0000 - 0x00fdffff      Fconfig data
-  0xfe0000 - 0x00ffffff      FIS directory
-0x0f000000 - 0x0fffffff    Onboard ethernet
-0x10000000 - 0x17ffffff    CerfCube internal registers
-0x20000000 - 0x3fffffff    PCMCIA / Compact Flash
-0x80000000 - 0xbfffffff    SA-1110 Internal Registers
-0xc0000000 - 0xc1ffffff    DRAM Bank 0 - 32Mb SDRAM
-0xe0000000 - 0xe7ffffff    Cache Clean
-
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x01ffffff  Y Y  DRAM - 32Mb
-0x08000000 - 0x0fffffff  N N  Onboard ethernet controller
-0x10000000 - 0x17ffffff  N N  CerfCube internal registers
-0x20000000 - 0x3fffffff  N N  PCMCIA / Compact Flash
-0x50000000 - 0x51ffffff  Y Y  Up to 32Mb FLASH (nCS0)
-0x80000000 - 0xbfffffff  N N  SA-1110 Internal Registers
-0xc0000000 - 0xc1ffffff  N Y  DRAM Bank 0: 32Mb
-0xe0000000 - 0xe7ffffff  Y Y  Cache Clean   </PRE
-></TD
-></TR
-></TABLE
-> </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6156">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=cerf
-export ARCH_DIR=arm
-export PLATFORM_DIR=sa11x0/cerf</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ipaq.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="iq80310.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/Xscale Cyclone IQ80310</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/channel-command.html b/doc/html/ref/channel-command.html
deleted file mode 100644 (file)
index b6a1258..0000000
+++ /dev/null
@@ -1,369 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->channel</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="cache"
-HREF="cache-command.html"><LINK
-REL="NEXT"
-TITLE="cksum"
-HREF="cksum-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cache-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cksum-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="CHANNEL-COMMAND">channel</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3100"
-></A
-><H2
->Name</H2
->channel&nbsp;--&nbsp;Select the system console channel</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3103"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->channel</B
->  [-1 | <TT
-CLASS="REPLACEABLE"
-><I
->channel_number</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3110"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3112"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Reset the console channel</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->channel_number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Select a channel</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3137"
-></A
-><H2
->Description</H2
-><P
->With no arguments, the <B
-CLASS="COMMAND"
->channel</B
-> command displays the current console channel number.</P
-><P
->When passed an argument of 0 upward, this command switches the console
-channel to that channel number. The mapping between channel numbers and
-physical channels is platform specific but will typically be something like
-channel 0 is the first serial port, channel 1 is the second, etc.</P
-><P
->When passed an argument of -1, this command reverts RedBoot to responding
-to whatever channel receives input first, as happens when RedBoot initially
-starts execution.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3143"
-></A
-><H2
->Examples</H2
-><P
->Show the current channel.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->channel</B
-></TT
->
-Current console channel id: 0</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Change to an invalid channel.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->channel 99</B
-></TT
->
-**Error: bad channel number '99'</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Revert to the default channel setting (any console mode).
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->channel -1</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cache-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cksum-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->cache</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->cksum</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/cksum-command.html b/doc/html/ref/cksum-command.html
deleted file mode 100644 (file)
index b5ddfb6..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->cksum</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="channel"
-HREF="channel-command.html"><LINK
-REL="NEXT"
-TITLE="disks"
-HREF="disks-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="channel-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="disks-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="CKSUM-COMMAND">cksum</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3155"
-></A
-><H2
->Name</H2
->cksum&nbsp;--&nbsp;Compute POSIX checksums</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3158"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->cksum</B
->  {-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3165"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3167"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Memory address</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Location in memory for stat of data.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of data</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3194"
-></A
-><H2
->Description</H2
-><P
->Computes the POSIX checksum on a range of memory (either RAM or FLASH).
-The values printed (decimal cksum, decimal length, hexadecimal cksum,
-         hexadecimal length) can be compared with the output from the Linux program 'cksum'.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3197"
-></A
-><H2
->Examples</H2
-><P
->Checksum a buffer.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cksum -b 0x100000 -l 0x100</B
-></TT
->
-POSIX cksum = 3286483632 256 (0xc3e3c2b0 0x00000100)</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-><P
->Checksum an area of memory after loading a file. Note that the base
-address and length parameters are provided by the preceding
-load command.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -r -b %{FREEMEMLO} redboot.bin</B
-></TT
->
-Raw file loaded 0x06012800-0x0602f0a8
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cksum</B
-></TT
->
-Computing cksum for area 0x06012800-0x0602f0a8
-POSIX cksum = 2092197813 116904 (0x7cb467b5 0x0001c8a8)</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="channel-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="disks-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->channel</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->disks</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/common-commands.html b/doc/html/ref/common-commands.html
deleted file mode 100644 (file)
index ba7a1c4..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Common Commands</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot Commands and Examples"
-HREF="redboot-commands-and-examples.html"><LINK
-REL="PREVIOUS"
-TITLE="RedBoot Commands and Examples"
-HREF="redboot-commands-and-examples.html"><LINK
-REL="NEXT"
-TITLE="alias"
-HREF="alias-command.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. RedBoot Commands and Examples</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="alias-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMMON-COMMANDS">Common Commands</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="alias-command.html"
->alias</A
->&nbsp;--&nbsp;Manipulate command line aliases</DT
-><DT
-><A
-HREF="baudrate-command.html"
->baudrate</A
->&nbsp;--&nbsp;Set the baud rate for the system serial console</DT
-><DT
-><A
-HREF="cache-command.html"
->cache</A
->&nbsp;--&nbsp;Control hardware caches</DT
-><DT
-><A
-HREF="channel-command.html"
->channel</A
->&nbsp;--&nbsp;Select the system console channel</DT
-><DT
-><A
-HREF="cksum-command.html"
->cksum</A
->&nbsp;--&nbsp;Compute POSIX checksums</DT
-><DT
-><A
-HREF="disks-command.html"
->disks</A
->&nbsp;--&nbsp;List available disk partitions.</DT
-><DT
-><A
-HREF="dump-command.html"
->dump</A
->&nbsp;--&nbsp;Display memory.</DT
-><DT
-><A
-HREF="help-command.html"
->help</A
->&nbsp;--&nbsp;Display help on available commands</DT
-><DT
-><A
-HREF="ip-address-command.html"
->ip_address</A
->&nbsp;--&nbsp;Set IP addresses</DT
-><DT
-><A
-HREF="download-command.html"
->load</A
->&nbsp;--&nbsp;Download programs or data to the RedBoot platform</DT
-><DT
-><A
-HREF="mcmp-command.html"
->mcmp</A
->&nbsp;--&nbsp;Compare two segments of memory</DT
-><DT
-><A
-HREF="mfill-command.html"
->mfill</A
->&nbsp;--&nbsp;Fill RAM with a specified pattern</DT
-><DT
-><A
-HREF="ping-command.html"
->ping</A
->&nbsp;--&nbsp;Verify network connectivity</DT
-><DT
-><A
-HREF="reset-command.html"
->reset</A
->&nbsp;--&nbsp;Reset the device</DT
-><DT
-><A
-HREF="version-command.html"
->version</A
->&nbsp;--&nbsp;Display RedBoot version information</DT
-></DL
-></DIV
-><P
->  </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="alias-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->RedBoot Commands and Examples</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->alias</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-configuration-faq.html b/doc/html/ref/compat-uitron-configuration-faq.html
deleted file mode 100644 (file)
index 7696a6f..0000000
+++ /dev/null
@@ -1,684 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->µITRON Configuration FAQ</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="          Network Support Functions"
-HREF="compat-uitron-network-support-functions.html"><LINK
-REL="NEXT"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-network-support-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-CONFIGURATION-FAQ">&micro;ITRON Configuration FAQ</H1
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q: How are &micro;ITRON objects created?</I
-></SPAN
-></P
-><P
->For each type of uITRON object (tasks, semaphores, flags, mboxes, mpf, mpl)
-these two quantities are controlled by configuration:</P
-><P
-></P
-><UL
-><LI
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->maximum</I
-></SPAN
-> number of this type of object.</P
-></LI
-><LI
-><P
->The number of these objects which exist <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->initially</I
-></SPAN
->.</P
-></LI
-></UL
-><P
->This is assuming that for the relevant object type,
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->create</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->delete</I
-></SPAN
->
-operations are enabled; enabled is the default.  For example, the option
-<TT
-CLASS="LITERAL"
->CYGPKG_UITRON_MBOXES_CREATE_DELETE</TT
->
-controls whether the functions
-<TT
-CLASS="FUNCTION"
->cre_mbx()</TT
->
-and
-<TT
-CLASS="FUNCTION"
->del_mbx()</TT
->
-exist in the API.  If not, then the maximum number of
-mboxes is the same as the initial number of mboxes, and so on for all
-&micro;ITRON object types.</P
-><P
->Mboxes have no initialization, so there are only a few, simple
-configuration options:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="LITERAL"
->CYGNUM_UITRON_MBOXES</TT
->
-is the total number of mboxes that you can have in the
-system.  By default this is 4, so you can use mboxes 1,2,3 and 4.  You
-cannot create mboxes outside this range; trying to
-<TT
-CLASS="FUNCTION"
->cre_mbx(5,...)</TT
->
-will return an error.</P
-></LI
-><LI
-><P
-><TT
-CLASS="LITERAL"
->CYGNUM_UITRON_MBOXES_INITIALLY</TT
->
-is the number of mboxes created
-automatically for you, during startup.  By default this is 4, so all 4
-mboxes exist already, and an attempt to create one of these
-eg. <TT
-CLASS="FUNCTION"
->cre_mbx(3,...)</TT
->
-will return an error because the mbox in quesion already
-exists.  You can delete a pre-existing mbox, and then re-create it.</P
-></LI
-></UL
-><P
->If you change 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_MBOXES_INITIALLY</TT
->,
-for example to 0, no mboxes
-are created automatically for you during startup.  Any attempt to use an
-mbox without creating it will return E_NOEXS because the mbox does not
-exist.  You can create an mbox, say <TT
-CLASS="FUNCTION"
->cre_mbx(3,...)</TT
->
-and then use it, say
-<TT
-CLASS="FUNCTION"
->snd_msg(3,&amp;foo)</TT
->, and all will be well.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q: How are &micro;ITRON objects initialized?</I
-></SPAN
-></P
-><P
->Some object types have optional initialization.  Semaphores are an
-example.  You could have 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_SEMAS</TT
->=10 and
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_SEMAS_INITIALLY</TT
->=5
-which means you can use semaphores 1-5
-straight off, but you must create semaphores 6-10 before you can use them.
-If you decide not to initialize semaphores, semaphores 1-5 will have an
-initial count of zero.  If you decide to initialize them, you must supply
-a dummy initializer for semaphores 6-10 also.  For example,
-in terms of the configuration output in
-<TT
-CLASS="FILENAME"
->pkgconf/uitron.h</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->   #define CYGDAT_UITRON_SEMA_INITIALIZERS \
-        CYG_UIT_SEMA(  1 ),     \
-        CYG_UIT_SEMA(  0 ),     \
-        CYG_UIT_SEMA(  0 ),     \
-        CYG_UIT_SEMA( 99 ),     \
-        CYG_UIT_SEMA(  1 ),     \
-        CYG_UIT_SEMA_NOEXS,     \
-        CYG_UIT_SEMA_NOEXS,     \
-        CYG_UIT_SEMA_NOEXS,     \
-        CYG_UIT_SEMA_NOEXS,     \
-        CYG_UIT_SEMA_NOEXS</PRE
-></TD
-></TR
-></TABLE
-><P
->Semaphore 1 will have initial count 1, semaphores 2 and 3 will be zero,
-number 4 will be 99 initially, 5 will be one and numbers 6 though 10 do not
-exist initially.</P
-><P
->Aside: this is how the definition of the symbol would appear in the
-configuration header file <TT
-CLASS="FILENAME"
->pkgconf/uitron.h</TT
-> &#8212;
-unfortunately editing such a long, multi-line definition is somewhat
-cumbersome in the GUI config tool in current releases.  The macros
-<TT
-CLASS="LITERAL"
->CYG_UIT_SEMA()</TT
->
-&#8212; to create a semaphore initializer &#8212; and
-<TT
-CLASS="LITERAL"
->CYG_UIT_SEMA_NOEXS</TT
->
-&#8212; to invoke a dummy initializer &#8212;
-are provided in in the environment to help with this.  Similar macros are
-provided for other object types.  The resulting #define symbol is used in
-the context of a C++ array initializer, such as:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Cyg_Counting_Semaphore2 cyg_uitron_SEMAS[ CYGNUM_UITRON_SEMAS ] = {
-       CYGDAT_UITRON_SEMA_INITIALIZERS
-};</PRE
-></TD
-></TR
-></TABLE
->
-which is eventually macro-processed to give
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Cyg_Counting_Semaphore2 cyg_uitron_SEMAS[ 10 ] = {
-       Cyg_Counting_Semaphore2( ( 1 ) ), 
-       Cyg_Counting_Semaphore2( ( 0 ) ), 
-       Cyg_Counting_Semaphore2( ( 0 ) ), 
-       Cyg_Counting_Semaphore2( ( 99 ) ), 
-       Cyg_Counting_Semaphore2( ( 1 ) ), 
-       Cyg_Counting_Semaphore2(0), 
-       Cyg_Counting_Semaphore2(0), 
-       Cyg_Counting_Semaphore2(0), 
-       Cyg_Counting_Semaphore2(0), 
-       Cyg_Counting_Semaphore2(0), 
-};</PRE
-></TD
-></TR
-></TABLE
->
-so you can see how it is necessary to include the dummy entries in that
-definition, otherwise the resulting code will not compile correctly.</P
-><P
->If you choose 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_SEMAS_INITIALLY</TT
->=0
-it is meaningless to initialize them, for they must be created and so
-initialized then, before use.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q: What about &micro;ITRON tasks?</I
-></SPAN
-></P
-><P
->Some object types require initialization.  Tasks are an example of this.
-You must provide a task with a priority, a function to enter when the task
-starts, a name (for debugging purposes), and some memory to use for the stack.
-For example (again in terms of the resulting
-definitions in <TT
-CLASS="FILENAME"
->pkgconf/uitron.h</TT
->):</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_UITRON_TASKS 4           // valid task ids are 1,2,3,4
-#define CYGNUM_UITRON_TASKS_INITIALLY 4 // they all exist at start
-
-#define CYGDAT_UITRON_TASK_EXTERNS             \
-extern "C" void startup( unsigned int );       \
-extern "C" void worktask( unsigned int );      \
-extern "C" void lowtask( unsigned int );        \
-static char stack1[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack2[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack3[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack4[ CYGNUM_UITRON_STACK_SIZE ];
-
-#define CYGDAT_UITRON_TASK_INITIALIZERS \
- CYG_UIT_TASK("main task", 8, startup,  &amp;stack1, sizeof( stack1 )), \
- CYG_UIT_TASK("worker 2" , 9, worktask, &amp;stack2, sizeof( stack2 )), \
- CYG_UIT_TASK("worker 3" , 9, worktask, &amp;stack3, sizeof( stack3 )), \
- CYG_UIT_TASK("low task" ,20, lowtask,  &amp;stack4, sizeof( stack4 )), \&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->So this example has all four tasks statically configured to exist, ready to
-run, from the start of time.  The &#8220;main task&#8221; runs a routine
-called <TT
-CLASS="FUNCTION"
->startup()</TT
-> at priority 8.  Two
-&#8220;worker&#8221; tasks run both a priority 9, and a &#8220;low
-priority&#8221; task runs at priority 20 to do useful non-urgent background
-work.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Task ID | Exists at | Function | Priority | Stack   | Stack
- number |  startup  |  entry   |          | address | size
---------+-----------+----------+----------+---------+----------
-   1    |    Yes    |  startup |    8     | &amp;stack1 | CYGNUM...
-   2    |    Yes    | worktask |    9    | &amp;stack2 | CYGNUM...
-   3    |    Yes    | worktask |    9    | &amp;stack3 | CYGNUM...
-   4    |    Yes    |  lowtask |   20    | &amp;stack4 | CYGNUM...
---------+-----------+----------+----------+---------+----------</PRE
-></TD
-></TR
-></TABLE
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q: How can I create &micro;ITRON tasks in the program?</I
-></SPAN
-></P
-><P
->You must provide free slots in the task table in which to create new tasks,
-by configuring the number of tasks existing initially to be smaller than
-the total.
-For a task ID which does not initially exist, it will be told what routine
-to call, and what priority it is, when the task is created.  But you must
-still set aside memory for the task to use for its stack, and give it a
-name during initialization.  For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGNUM_UITRON_TASKS 4           // valid task ids are 1-4
-#define CYGNUM_UITRON_TASKS_INITIALLY 1 // only task #1 exists
-
-#define CYGDAT_UITRON_TASK_EXTERNS \
-extern "C" void startup( unsigned int ); \
-static char stack1[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack2[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack3[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack4[ CYGNUM_UITRON_STACK_SIZE ];
-
-#define CYGDAT_UITRON_TASK_INITIALIZERS \
-   CYG_UIT_TASK( "main", 8, startup, &amp;stack1, sizeof( stack1 ) ), \
-   CYG_UIT_TASK_NOEXS( "slave",      &amp;stack2, sizeof( stack2 ) ), \
-   CYG_UIT_TASK_NOEXS( "slave2",     &amp;stack3, sizeof( stack3 ) ), \
-   CYG_UIT_TASK_NOEXS( "slave3",     &amp;stack4, sizeof( stack4 ) ), \&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->So tasks numbered 2,3 and 4 have been given their stacks during startup,
-though they do not yet exist in terms of <TT
-CLASS="FUNCTION"
->cre_tsk()</TT
-> and
-<TT
-CLASS="FUNCTION"
->del_tsk()</TT
-> so you can create tasks 2&#8211;4 at
-runtime.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Task ID | Exists at | Function | Priority | Stack   | Stack
- number |  startup  |  entry   |          | address | size
---------+-----------+----------+----------+---------+----------
-   1    |    Yes    |  startup |    8     | &amp;stack1 | CYGNUM...
-   2    |    No     |   N/A    |   N/A    | &amp;stack2 | CYGNUM...
-   3    |    No     |   N/A    |   N/A    | &amp;stack3 | CYGNUM...
-   4    |    No     |   N/A    |   N/A    | &amp;stack4 | CYGNUM...
---------+-----------+----------+----------+---------+----------</PRE
-></TD
-></TR
-></TABLE
-><P
->(you must have at least one task at startup in order that the system can
- actually run; this is not so for other uITRON object types)</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q: Can I have different stack sizes for &micro;ITRON tasks?</I
-></SPAN
-></P
-><P
->Simply set aside different amounts of memory for each task to use for its
-stack.  Going back to a typical default setting for the &micro;ITRON tasks,
-the definitions in <TT
-CLASS="FILENAME"
->pkgconf/uitron.h</TT
-> might look like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGDAT_UITRON_TASK_EXTERNS \
-extern "C" void task1( unsigned int ); \
-extern "C" void task2( unsigned int ); \
-extern "C" void task3( unsigned int ); \
-extern "C" void task4( unsigned int ); \
-static char stack1[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack2[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack3[ CYGNUM_UITRON_STACK_SIZE ], \
-            stack4[ CYGNUM_UITRON_STACK_SIZE ];
-  
-#define CYGDAT_UITRON_TASK_INITIALIZERS \
-  CYG_UIT_TASK( "t1", 1, task1, &amp;stack1, CYGNUM_UITRON_STACK_SIZE ), \
-  CYG_UIT_TASK( "t2", 2, task2, &amp;stack2, CYGNUM_UITRON_STACK_SIZE ), \
-  CYG_UIT_TASK( "t3", 3, task3, &amp;stack3, CYGNUM_UITRON_STACK_SIZE ), \
-  CYG_UIT_TASK( "t4", 4, task4, &amp;stack4, CYGNUM_UITRON_STACK_SIZE )&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Note that 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_STACK_SIZE</TT
->
-is used to control the size of the stack
-objects themselves, and to tell the system what size stack is being provided.</P
-><P
->Suppose instead stack sizes of 2000, 1000, 800 and 800 were required:
-this could be achieved by using the GUI config tool to edit these
-options, or editting the <TT
-CLASS="FILENAME"
->.ecc</TT
-> file to get these
-results in <TT
-CLASS="FILENAME"
->pkgconf/uitron.h</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGDAT_UITRON_TASK_EXTERNS \
-extern "C" void task1( unsigned int ); \
-extern "C" void task2( unsigned int ); \
-extern "C" void task3( unsigned int ); \
-extern "C" void task4( unsigned int ); \
-static char stack1[ 2000 ], \
-            stack2[ 1000 ], \
-            stack3[  800 ], \
-            stack4[  800 ];
-#define CYGDAT_UITRON_TASK_INITIALIZERS \
-      CYG_UIT_TASK( "t1", 1, task1, &amp;stack1, sizeof( stack1 ) ), \
-      CYG_UIT_TASK( "t2", 2, task2, &amp;stack2, sizeof( stack2 ) ), \
-      CYG_UIT_TASK( "t3", 3, task3, &amp;stack3, sizeof( stack3 ) ), \
-      CYG_UIT_TASK( "t4", 4, task4, &amp;stack4, sizeof( stack4 ) )</PRE
-></TD
-></TR
-></TABLE
-><P
->Note that the sizeof() operator has been used to tell the system what size
-stacks are provided, rather than quoting a number (which is difficult for
-maintenance) or the symbol 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_STACK_SIZE</TT
->
-(which is wrong).</P
-><P
->We recommend using (if available in your release) the stacksize symbols
-provided in the architectural HAL for your target, called
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_TYPICAL</TT
->
-and 
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
->.
-So a better (more portable) version of the above might be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGDAT_UITRON_TASK_EXTERNS \
-extern "C" void task1( unsigned int ); \
-extern "C" void task2( unsigned int ); \
-extern "C" void task3( unsigned int ); \
-extern "C" void task4( unsigned int ); \
-static char stack1[ CYGNUM_HAL_STACK_SIZE_TYPICAL + 1200 ], \
-            stack2[ CYGNUM_HAL_STACK_SIZE_TYPICAL +  200 ], \
-            stack3[ CYGNUM_HAL_STACK_SIZE_TYPICAL        ], \
-            stack4[ CYGNUM_HAL_STACK_SIZE_TYPICAL        ];
-
-#define CYGDAT_UITRON_TASK_INITIALIZERS \
-      CYG_UIT_TASK( "t1", 1, task1, &amp;stack1, sizeof( stack1 ) ), \
-      CYG_UIT_TASK( "t2", 2, task2, &amp;stack2, sizeof( stack2 ) ), \
-      CYG_UIT_TASK( "t3", 3, task3, &amp;stack3, sizeof( stack3 ) ), \
-      CYG_UIT_TASK( "t4", 4, task4, &amp;stack4, sizeof( stack4 ) )</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-network-support-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Network Support Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->TCP/IP Stack Support for eCos</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-extended-sync-comm-functions.html b/doc/html/ref/compat-uitron-extended-sync-comm-functions.html
deleted file mode 100644 (file)
index 864fe7d..0000000
+++ /dev/null
@@ -1,153 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Extended Synchronization and Communication Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="          Synchronization and Communication Functions"
-HREF="compat-uitron-sync-and-comm-functions.html"><LINK
-REL="NEXT"
-TITLE="Interrupt management functions"
-HREF="compat-uitron-interrupt-management-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-sync-and-comm-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-interrupt-management-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-EXTENDED-SYNC-COMM-FUNCTIONS">Extended Synchronization and Communication Functions</H1
-><P
->None of these functions are supported in this release. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-sync-and-comm-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-interrupt-management-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synchronization and Communication Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Interrupt management functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-interrupt-management-functions.html b/doc/html/ref/compat-uitron-interrupt-management-functions.html
deleted file mode 100644 (file)
index 6b5c8ad..0000000
+++ /dev/null
@@ -1,537 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Interrupt management functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="Extended Synchronization and Communication Functions"
-HREF="compat-uitron-extended-sync-comm-functions.html"><LINK
-REL="NEXT"
-TITLE="          Memory pool Management Functions"
-HREF="compat-uitron-memory-pool-mgmt-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-extended-sync-comm-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-memory-pool-mgmt-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-INTERRUPT-MANAGEMENT-FUNCTIONS">Interrupt management functions</H1
-><P
->These functions are fully supported in this release:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void  <TT
-CLASS="FUNCTION"
-> ret_int</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->loc_cpu</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->unl_cpu</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->dis_int</TT
->( 
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eintno</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ena_int</TT
->( 
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eintno</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void  <TT
-CLASS="FUNCTION"
->ret_wup</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->iwup_tsk</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->isig_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->iset_flg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid ,</I
-></SPAN
->
-    UID<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> setptn</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->isend_msg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid ,</I
-></SPAN
->
-    T_MSG<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> *pk_msg</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->Note that <TT
-CLASS="FUNCTION"
->ret_int()</TT
-> and
-the <TT
-CLASS="FUNCTION"
->ret_wup()</TT
-> are  implemented
-as macros, containing a &#8220;return&#8221; statement.</P
-><P
->Also note that <TT
-CLASS="FUNCTION"
->ret_wup()</TT
-> and
-the <TT
-CLASS="FUNCTION"
->ixxx_yyy()</TT
-> style functions
-will only work when called from an ISR whose associated DSR is <TT
-CLASS="FUNCTION"
->cyg_uitron_dsr()</TT
->,
-as specified in include file <TT
-CLASS="FILENAME"
->&lt;cyg/compat/uitron/uit_ifnc.h&gt;</TT
->,
-which defines the <TT
-CLASS="FUNCTION"
->ixxx_yyy()</TT
-> style
-functions also.</P
-><P
->If you are writing interrupt handlers more in the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> style, with separate ISR and DSR routines both of
-your own devising, do not use these special functions from a DSR: use plain
-<TT
-CLASS="FUNCTION"
->xxx_yyy()</TT
-> style functions (with no &#8216;i&#8217; prefix)
-instead, and do not call any &micro;ITRON functions from the ISR at
-all.</P
-><P
->The following functions are not supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->def_int</TT
->( 
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->dintno,</I
-></SPAN
->
-  T_DINT *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_dint</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->chg_iXX</TT
->( 
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->iXXXX</I
-></SPAN
-> )
-  </PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_iXX</TT
->( 
-    UINT * <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_iXXXX</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->These unsupported functions are all Level C (CPU dependent).
-Equivalent functionality is available via other <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->-specific
-APIs. </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13831">Error checking</H2
-><P
->The following conditions are only checked for, and only return
-errors if 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->loc/unl_cpu()</TT
->
-: these must only be called in a 
-&micro;ITRON task context, else E_CTX.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->dis/ena_int()</TT
->
-: the interrupt number must be in range as specified by the platform
-HAL in qustion, else E_PAR.</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-extended-sync-comm-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-memory-pool-mgmt-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Extended Synchronization and Communication Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Memory pool Management Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-memory-pool-mgmt-functions.html b/doc/html/ref/compat-uitron-memory-pool-mgmt-functions.html
deleted file mode 100644 (file)
index b20fa28..0000000
+++ /dev/null
@@ -1,828 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->        Memory pool Management Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="Interrupt management functions"
-HREF="compat-uitron-interrupt-management-functions.html"><LINK
-REL="NEXT"
-TITLE="Time Management Functions"
-HREF="compat-uitron-time-mgmt-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-interrupt-management-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-time-mgmt-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-MEMORY-POOL-MGMT-FUNCTIONS">Memory pool Management Functions</H1
-><P
->These functions are fully supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->get_blf</TT
->( 
-    VP *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_blf,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->pget_blf</TT
->( 
-    VP *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_blf,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->tget_blf</TT
->( 
-    VP *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_blf,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid,</I
-></SPAN
->    TMO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tmout</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->rel_blf</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid,</I
-></SPAN
->    VP <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->blf</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_mpf</TT
->( 
-    T_RMPF *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rmpf,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->get_blk</TT
->( 
-    VP *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_blk,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid,</I
-></SPAN
->    INT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->blksz</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->pget_blk</TT
->( 
-    VP *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_blk,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid,</I
-></SPAN
->    INT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->blksz</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->tget_blk</TT
->( 
-    VP *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_blk,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid,</I
-></SPAN
->    INT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->blksz,</I
-></SPAN
->    TMO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tmout</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->rel_blk</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid,</I
-></SPAN
->    VP <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->blk</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_mpl</TT
->( 
-    T_RMPL *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rmpl,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid )</I
-></SPAN
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Note that of the memory provided for a particular pool to
-manage in the static initialization of the memory pool objects,
-some memory will be used to manage the pool itself. Therefore the
-number of blocks * the blocksize will be less than the total
-memory size. </P
-><P
->The following functions are supported in this release, when
-enabled with 
-<TT
-CLASS="LITERAL"
->CYGPKG_UITRON_MEMPOOLVAR_CREATE_DELETE</TT
->
-or 
-<TT
-CLASS="LITERAL"
->CYGPKG_UITRON_MEMPOOLFIXED_CREATE_DELETE</TT
->
-as appropriate, with some restrictions: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->cre_mpl</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid,</I
-></SPAN
->    T_CMPL *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_cmpl</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->del_mpl</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mplid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->cre_mpf</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid,</I
-></SPAN
->    T_CMPF *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_cmpf</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->del_mpf</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mpfid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->Because of the static initialization facilities provided for
-system objects, a memory pool is allocated a region of memory to
-manage statically in the configuration. So while memory pools can
-be created and deleted, the same area of memory is used for that
-memory pool (memory pool ID number) each time. The requested variable pool
-size (pk_cmpl-&gt;mplsz) or the number of fixed-size
-blocks (pk_cmpf-&gt;mpfcnt) times the block size
-(pk_cmpf-&gt;blfsz) are checked for fitting within
-the statically allocated memory area, so if a create call succeeds,
-the resulting pool will be at least as large as that requested.
-For this reason <TT
-CLASS="FUNCTION"
->del_mpl()</TT
-> and <TT
-CLASS="FUNCTION"
->del_mpf()</TT
-> do
-not in any sense free the memory that was managed by the deleted
-pool for use by other pools; it may only be managed by a pool of
-the same object id. </P
-><P
->For both fixed and variable memory pools, the queueing order
-when waiting on a synchronization object depends on the underlying
-kernel configuration. The multi-level queue scheduler is required
-for strict &micro;ITRON conformance and
-it queues tasks in FIFO order, so requests to create an object with
-priority queueing of tasks (pk_cxxx-&gt;xxxatr = TA_TPRI)
-are rejected with E_RSATR. Additional undefined bits in
-the attributes fields must be zero. </P
-><P
->In general, extended information (pk_cxxx-&gt;exinf)
-is ignored. </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13913">Error checking</H2
-><P
->The following conditions are only checked for, and only return
-errors if 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled:</P
-><P
-></P
-><UL
-><LI
-><P
->invalid object id; less than 1 or greater than 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_MEMPOOLVAR/MEMPOOLFIXED</TT
->
-as appropriate returns E_ID</P
-></LI
-><LI
-><P
->dispatching is enabled in any call which can sleep, or
-E_CTX</P
-></LI
-><LI
-><P
->tmout must be positive, otherwise E_PAR</P
-></LI
-><LI
-><P
->pk_cxxx pointers in 
-<TT
-CLASS="FUNCTION"
->cre_xxx()</TT
->
- must be valid pointers, or E_PAR</P
-></LI
-><LI
-><P
->return value pointer in 
-<TT
-CLASS="FUNCTION"
->ref_xxx()</TT
->
- is a valid pointer, or E_PAR</P
-></LI
-><LI
-><P
->return value pointers in get block routines is a valid
-pointer, or E_PAR</P
-></LI
-><LI
-><P
->blocksize request in get variable block routines is greater
-than zero, or E_PAR</P
-></LI
-></UL
-><P
->The following conditions are checked for, and can return error
-codes, regardless of the setting of 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->:</P
-><P
-></P
-><UL
-><LI
-><P
->When create and delete functions 
-<TT
-CLASS="FUNCTION"
->cre_xxx()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->del_xxx()</TT
->
- are supported, all calls which use a valid object ID number check
-that the object exists. If not, E_NOEXS is returned.</P
-></LI
-><LI
-><P
->When create functions 
-<TT
-CLASS="FUNCTION"
->cre_xxx()</TT
->
- are supported, if the object already exists, then E_OBJ</P
-></LI
-><LI
-><P
->In any call which can sleep, such as 
-<TT
-CLASS="FUNCTION"
->get_blk()</TT
->
-: return codes E_TMOUT, E_RLWAI, E_DLT
-or of course E_OK are returned depending on the reason
-for terminating the sleep</P
-></LI
-><LI
-><P
->In polling functions such as 
-<TT
-CLASS="FUNCTION"
->pget_blk()</TT
->
-return codes E_TMOUT or E_OK are returned depending
-on the state of the synchronization object</P
-></LI
-><LI
-><P
->In creation functions, the attributes must be compatible
-with the selected underlying kernel configuration: in 
-<TT
-CLASS="FUNCTION"
->cre_mpl()</TT
->
-<TT
-CLASS="LITERAL"
->pk_cmpl-&gt;mplatr</TT
->
- must be equal to 
-<TT
-CLASS="LITERAL"
->TA_TFIFO</TT
->
- else E_RSATR.</P
-></LI
-><LI
-><P
->In 
-<TT
-CLASS="FUNCTION"
->cre_mpf()</TT
->
-<TT
-CLASS="LITERAL"
->pk_cmpf-&gt;mpfatr</TT
->
- must be equal to 
-<TT
-CLASS="LITERAL"
->TA_TFIFO</TT
->
- else E_RSATR.</P
-></LI
-><LI
-><P
->In creation functions, the requested size of the memory
-pool must not be larger than that statically configured for the
-pool else E_RSATR; see the configuration option
-&#8220;Option: Static initializers&#8221;.
- In 
-<TT
-CLASS="FUNCTION"
->cre_mpl()</TT
->
-<TT
-CLASS="LITERAL"
->pk_cmpl-&gt;mplsz</TT
->
- is the field of interest</P
-></LI
-><LI
-><P
->In 
-<TT
-CLASS="FUNCTION"
->cre_mpf()</TT
->
- the product of 
-<TT
-CLASS="LITERAL"
->pk_cmpf-&gt;blfsz</TT
->
- and 
-<TT
-CLASS="LITERAL"
->pk_cmpf-&gt;mpfcnt</TT
->
- must be smaller than the memory statically configured for the pool
-else E_RSATR</P
-></LI
-><LI
-><P
->In functions which return memory to the pool 
-<TT
-CLASS="FUNCTION"
->rel_blk()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->rel_blf()</TT
->
-, if the free fails, for example because the memory did not come
-from that pool originally, then E_PAR is returned</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-interrupt-management-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-time-mgmt-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Interrupt management functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Time Management Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-microitron-api.html b/doc/html/ref/compat-uitron-microitron-api.html
deleted file mode 100644 (file)
index a4631d8..0000000
+++ /dev/null
@@ -1,280 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->µITRON API</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON"
-HREF="compat-uitron.html"><LINK
-REL="PREVIOUS"
-TITLE="µITRON"
-HREF="compat-uitron.html"><LINK
-REL="NEXT"
-TITLE="µITRON and eCos"
-HREF="compat-uitron-over-ecos.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-over-ecos.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="COMPAT-UITRON-MICROITRON-API">Chapter 32. &micro;ITRON API</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="compat-uitron-microitron-api.html#COMPAT-UITRON-INTRODUCTION"
->Introduction to &micro;ITRON</A
-></DT
-><DT
-><A
-HREF="compat-uitron-over-ecos.html"
->&micro;ITRON and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></A
-></DT
-><DT
-><A
-HREF="compat-uitron-task-management-functions.html"
->Task Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-task-dependent-synch-functions.html"
->Task-Dependent Synchronization Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-sync-and-comm-functions.html"
->Synchronization and Communication Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-extended-sync-comm-functions.html"
->Extended Synchronization and Communication Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-interrupt-management-functions.html"
->Interrupt management functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-memory-pool-mgmt-functions.html"
->Memory pool Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-time-mgmt-functions.html"
->Time Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-system-mgmt-functions.html"
->System Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-network-support-functions.html"
->Network Support Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-configuration-faq.html"
->&micro;ITRON Configuration FAQ</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-INTRODUCTION">Introduction to &micro;ITRON</H1
-><P
->The &micro;ITRON specification
-defines a highly flexible operating system architecture designed
-specifically for application in embedded systems. The specification addresses
-features which are common to the majority of processor architectures and
-deliberately avoids virtualization which would adversely impact
-real-time performance. The &micro;ITRON specification
-may be implemented on many hardware platforms and provides significant
-advantages by reducing the effort involved in understanding and
-porting application software to new processor architectures. </P
-><P
->Several revisions of the &micro;ITRON specification exist.
-       In this release, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> supports the
-       &micro;ITRON version 3.02 specification, with complete
-       &#8220;Standard functionality&#8221; (level S), plus many
-       &#8220;Extended&#8221; (level E) functions. The definitive
-       reference on &micro;ITRON is Dr. Sakamura&#8217;s book:
-         <I
-CLASS="CITETITLE"
->&micro;ITRON 3.0, An Open and Portable Real-Time Operating
-         System for Embedded Systems</I
->. 
-       The book can be purchased from the IEEE Press, and
-       an ASCII version of the standard can be found online at
-<A
-HREF="http://www.itron.gr.jp/"
-TARGET="_top"
->http://www.itron.gr.jp/</A
->.
-The old address 
-<A
-HREF="http://tron.um.u-tokyo.ac.jp/TRON/ITRON/"
-TARGET="_top"
->http://tron.um.u-tokyo.ac.jp/TRON/ITRON/</A
->
-still exists as a mirror site. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-over-ecos.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&micro;ITRON</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&micro;ITRON and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-network-support-functions.html b/doc/html/ref/compat-uitron-network-support-functions.html
deleted file mode 100644 (file)
index ca66f79..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->        Network Support Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="          System Management Functions"
-HREF="compat-uitron-system-mgmt-functions.html"><LINK
-REL="NEXT"
-TITLE="µITRON Configuration FAQ"
-HREF="compat-uitron-configuration-faq.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-system-mgmt-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-configuration-faq.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-NETWORK-SUPPORT-FUNCTIONS">Network Support Functions</H1
-><P
->None of these functions are supported in this release.
-       </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-system-mgmt-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-configuration-faq.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->System Management Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&micro;ITRON Configuration FAQ</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-over-ecos.html b/doc/html/ref/compat-uitron-over-ecos.html
deleted file mode 100644 (file)
index 6801b63..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->µITRON and eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="NEXT"
-TITLE="Task Management Functions"
-HREF="compat-uitron-task-management-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-task-management-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-OVER-ECOS">&micro;ITRON and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></H1
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> kernel implements the functionality
-used by the &micro;ITRON compatibility subsystem.
-The configuration of the kernel influences the behavior of &micro;ITRON
-programs.</P
-><P
->In particular, the default configuration has time slicing
-(also known as round-robin scheduling) switched on; this means that
-a task can be moved from <TT
-CLASS="VARNAME"
->RUN</TT
-> state
-to <TT
-CLASS="VARNAME"
->READY</TT
-> state at any time, in
-order that one of its peers may run. This is not strictly conformant
-to the &micro;ITRON specification, which
-states that timeslicing may be implemented by periodically issuing
-a <TT
-CLASS="LITERAL"
->rot_rdq(0)</TT
-> call from
-within a periodic task or cyclic handler; otherwise it is expected
-that a task runs until it is pre-empted in consequence of synchronization
-or communication calls it makes, or the effects of an interrupt
-or other external event on a higher priority task cause that task
-to become <TT
-CLASS="VARNAME"
->READY</TT
->. To disable timeslicing
-functionality in the kernel and &micro;ITRON
-compatibility environment, please disable the 
-<TT
-CLASS="LITERAL"
->CYGSEM_KERNEL_SCHED_TIMESLICE</TT
->
-configuration option in the kernel package. A description of kernel
-scheduling is in <A
-HREF="kernel-overview.html"
->Kernel Overview</A
->. </P
-><P
->For another example, the semantics of task queueing when waiting
-on a synchronization object depend solely on the way the underlying
-kernel is configured. As discussed above, the multi-level queue
-scheduler is the only one which is &micro;ITRON
-compliant, and it queues waiting tasks in FIFO order. Future releases
-of that scheduler might be configurable to support priority ordering
-of task queues. Other schedulers might be different again: for example
-the bitmap scheduler can be used with the &micro;ITRON
-compatibility layer, even though it only allows one task at each
-priority and as such is not &micro;ITRON
-compliant, but it supports only priority ordering of task queues.
-So which queueing scheme is supported is not really a property of
-the &micro;ITRON compatibility layer; it
-depends on the kernel. </P
-><P
->In this version of the &micro;ITRON
-compatibility layer, the calls to disable and enable scheduling
-and interrupts (<TT
-CLASS="FUNCTION"
->dis_dsp()</TT
->,
-<TT
-CLASS="FUNCTION"
->ena_dsp()</TT
->, <TT
-CLASS="FUNCTION"
->loc_cpu()</TT
->
-and <TT
-CLASS="FUNCTION"
->unl_cpu()</TT
->)
-call underlying kernel functions; in particular, the <TT
-CLASS="FUNCTION"
->xxx_dsp()</TT
-> functions
-lock the scheduler entirely, which prevents dispatching of DSRs; functions
-implemented by DSRs include clock counters and alarm timers. Thus time &#8220;stops&#8221; while
-dispatching is disabled with <TT
-CLASS="FUNCTION"
->dis_dsp()</TT
->. </P
-><P
->Like all parts of the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> system, the
-detailed semantics of the &micro;ITRON layer
-are dependent on its configuration and the configuration of other components
-that it uses. The &micro;ITRON configuration
-options are all defined in the file <TT
-CLASS="FILENAME"
->pkgconf/uitron.h</TT
->,
-and can be set using the configuration tool or editing the
-<TT
-CLASS="FILENAME"
->.ecc</TT
->
-file in your build directory by hand. </P
-><P
->An important configuration option for the &micro;ITRON
-compatibility layer is &#8220;Option: Return Error Codes for Bad Params&#8221;
-(
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-), which allows a lot of the error
-checking code in the &micro;ITRON compatibility layer to
-be removed. Of course this leaves a program open to undetected errors,
-so it should only be used once an application is fully debugged and
-tested. Its benefits include reduced code size and faster execution.
-However, it affects the API significantly, in that with this option
-enabled, bad calls do not return errors, but cause an assert
-failure (if that is itself enabled) or malfunction internally. There
-is discussion in more detail about this in each section below.</P
-><P
->We now give a brief description of the &micro;ITRON
-functions which are implemented in this release. Note that all C
-and C&#0043;&#0043; source files should have the following <TT
-CLASS="LITERAL"
->#include</TT
-> statement: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;cyg/compat/uitron/uit_func.h&gt;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-task-management-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&micro;ITRON API</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Task Management Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-sync-and-comm-functions.html b/doc/html/ref/compat-uitron-sync-and-comm-functions.html
deleted file mode 100644 (file)
index d983230..0000000
+++ /dev/null
@@ -1,1012 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->        Synchronization and Communication Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="Task-Dependent Synchronization Functions"
-HREF="compat-uitron-task-dependent-synch-functions.html"><LINK
-REL="NEXT"
-TITLE="Extended Synchronization and Communication Functions"
-HREF="compat-uitron-extended-sync-comm-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-task-dependent-synch-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-extended-sync-comm-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-SYNC-AND-COMM-FUNCTIONS">Synchronization and Communication Functions</H1
-><P
->These functions are fully supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->sig_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->wai_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->preq_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->twai_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid,</I
-></SPAN
->    TMO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tmout</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_sem</TT
->( 
-    T_RSEM *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rsem ,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->set_flg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid,</I
-></SPAN
->    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->setptn</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->clr_flg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid,</I
-></SPAN
->    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->clrptn</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->wai_flg</TT
->( 
-    UINT *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_flgptn,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid ,</I
-></SPAN
->
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->waiptn ,</I
-></SPAN
->    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->wfmode</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->pol_flg</TT
->( 
-    UINT *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_flgptn,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid ,</I
-></SPAN
->
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->waiptn ,</I
-></SPAN
->    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->wfmode</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->twai_flg</TT
->( 
-    UINT *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_flgptn</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid ,</I
-></SPAN
->
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->waiptn ,</I
-></SPAN
->    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->wfmode,</I
-></SPAN
->    TMO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tmout</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_flg</TT
->( 
-    T_RFLG *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rflg,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->snd_msg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid,</I
-></SPAN
->    T_MSG <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->*pk_msg</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->rcv_msg</TT
->( 
-    T_MSG **<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ppk_msg,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->prcv_msg</TT
->( 
-    T_MSG **<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ppk_msg,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->trcv_msg</TT
->( 
-    T_MSG **<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ppk_msg,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid ,</I
-></SPAN
->    TMO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tmout</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_mbx</TT
->( 
-    T_RMBX *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rmbx,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->The following functions are supported in this release (with
-some restrictions) if enabled with the appropriate configuration
-option for the object type (for example 
-<TT
-CLASS="LITERAL"
->CYGPKG_UITRON_SEMAS_CREATE_DELETE</TT
->):</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->cre_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid,</I
-></SPAN
->    T_CSEM *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_csem</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->del_sem</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->semid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->cre_flg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid,</I
-></SPAN
->    T_CFLG *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_cflg</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->del_flg</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flgid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->cre_mbx</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid,</I
-></SPAN
->    T_CMBX *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_cmbx</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->del_mbx</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbxid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->In general the queueing order when waiting on a synchronization
-object depends on the underlying kernel configuration. The multi-level
-queue scheduler is required for strict &micro;ITRON
-conformance and it queues tasks in FIFO order, so requests to create
-an object with priority queueing of tasks (<TT
-CLASS="LITERAL"
->pk_cxxx-&gt;xxxatr = TA_TPRI</TT
->)
-are rejected with E_RSATR. Additional undefined bits in
-the attributes fields must be zero. </P
-><P
->In general, extended information (pk_cxxx-&gt;exinf)
-is ignored. </P
-><P
->For semaphores, the initial semaphore count (pk_csem-&gt;isemcnt)
-is supported; the new semaphore's count is set. The maximum
-count is not supported, and is not in fact defined in type pk_csem. </P
-><P
->For flags, multiple tasks are allowed to wait. Because single
-task waiting is a subset of this, the W bit (TA_WMUL) of
-the flag attributes is ignored; all other bits must be zero. The
-initial flag value is supported. </P
-><P
->For mailboxes, the buffer count is defined statically by kernel
-configuration option 
-<TT
-CLASS="LITERAL"
->CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE</TT
->;
-therefore the buffer count field is not supported and is not in
-fact defined in type pk_cmbx. Queueing of messages is FIFO
-ordered only, so TA_MPRI (in pk_cmbx-&gt;mbxatr)
-is not supported. </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13716">Error checking</H2
-><P
->The following conditions are only checked for, and only return
-errors if 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled:</P
-><P
-></P
-><UL
-><LI
-><P
->invalid object id; less than 1 or greater than 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_TASKS/SEMAS/MBOXES</TT
->
-as appropriate returns E_ID</P
-></LI
-><LI
-><P
->dispatching is enabled in any call which can sleep, or
-E_CTX</P
-></LI
-><LI
-><P
->tmout must be positive, otherwise E_PAR</P
-></LI
-><LI
-><P
->pk_cxxx pointers in 
-<TT
-CLASS="FUNCTION"
->cre_xxx()</TT
->
- must be valid pointers, or E_PAR</P
-></LI
-><LI
-><P
->return value pointer in 
-<TT
-CLASS="FUNCTION"
->ref_xxx()</TT
->
- is valid pointer, or E_PAR</P
-></LI
-><LI
-><P
->flag wait pattern must be non-zero, and mode must be valid,
-or E_PAR</P
-></LI
-><LI
-><P
->return value pointer in flag wait calls is a valid pointer,
-or E_PAR</P
-></LI
-></UL
-><P
->The following conditions are checked for, and can return error
-codes, regardless of the setting of
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-:</P
-><P
-></P
-><UL
-><LI
-><P
->When create and delete functions 
-<TT
-CLASS="FUNCTION"
->cre_xxx()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->del_xxx()</TT
->
- are supported, all calls which use a valid object ID number check
-that the object exists. If not, E_NOEXS is returned.</P
-></LI
-><LI
-><P
->In create functions 
-<TT
-CLASS="FUNCTION"
->cre_xxx()</TT
->
-, when supported, if the object already exists, then E_OBJ</P
-></LI
-><LI
-><P
->In any call which can sleep, such as 
-<TT
-CLASS="FUNCTION"
->twai_sem()</TT
->
-: return codes E_TMOUT, E_RLWAI, E_DLT
-or of course E_OK are returned depending on the reason
-for terminating the sleep</P
-></LI
-><LI
-><P
->In polling functions such as 
-<TT
-CLASS="FUNCTION"
->preq_sem()</TT
->
-return codes E_TMOUT or E_OK are returned depending
-on the state of the synchronization object</P
-></LI
-><LI
-><P
->In creation functions, the attributes must be compatible
-with the selected underlying kernel configuration: in 
-<TT
-CLASS="FUNCTION"
->cre_sem()</TT
->
- <TT
-CLASS="LITERAL"
->pk_csem-&gt;sematr</TT
->
- must be equal to 
-<TT
-CLASS="LITERAL"
->TA_TFIFO</TT
->
- else E_RSATR.</P
-></LI
-><LI
-><P
->In 
-<TT
-CLASS="FUNCTION"
->cre_flg()</TT
->
- <TT
-CLASS="LITERAL"
->pk_cflg-&gt;flgatr</TT
->
- must be either 
-<TT
-CLASS="VARNAME"
->TA_WMUL</TT
->
- or 
-<TT
-CLASS="VARNAME"
->TA_WSGL</TT
->
- else <TT
-CLASS="VARNAME"
->E_RSATR</TT
->.</P
-></LI
-><LI
-><P
->In 
-<TT
-CLASS="FUNCTION"
->cre_mbx()</TT
->
-<TT
-CLASS="LITERAL"
->pk_cmbx-&gt;mbxatr</TT
->
- must be 
-<TT
-CLASS="LITERAL"
->TA_TFIFO &#0043; TA_MFIFO</TT
->
- else E_RSATR.</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-task-dependent-synch-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-extended-sync-comm-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Task-Dependent Synchronization Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Extended Synchronization and Communication Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-system-mgmt-functions.html b/doc/html/ref/compat-uitron-system-mgmt-functions.html
deleted file mode 100644 (file)
index 0332477..0000000
+++ /dev/null
@@ -1,309 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->        System Management Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="Time Management Functions"
-HREF="compat-uitron-time-mgmt-functions.html"><LINK
-REL="NEXT"
-TITLE="          Network Support Functions"
-HREF="compat-uitron-network-support-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-time-mgmt-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-network-support-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-SYSTEM-MGMT-FUNCTIONS">System Management Functions</H1
-><P
->These functions are fully supported in this release:
-       </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->get_ver</TT
->( 
-    T_VER *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_ver</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_sys</TT
->( 
-    T_RSYS *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rsys</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_cfg</TT
->( 
-    T_RCFG *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rcfg</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->Note that the information returned by each of these calls
-may be configured to match the user's own versioning system,
-and the values supplied by the default configuration may be inappropriate. </P
-><P
->These functions are not supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->def_svc</TT
->( 
-    FN <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->s_fncd,</I
-></SPAN
->
-    T_DSVC *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_dsvc</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->def_exc</TT
->( 
-    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->exckind,</I
-></SPAN
->
-    T_DEXC *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_dexc</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN14067">Error checking</H2
-><P
->The following conditions are only checked for, and
-           only return errors if
-           
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
- is enabled: </P
-><P
-></P
-><UL
-><LI
-><P
->return value pointer in all calls is a valid
-             pointer, or E_PAR</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-time-mgmt-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-network-support-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Time Management Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Network Support Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-task-dependent-synch-functions.html b/doc/html/ref/compat-uitron-task-dependent-synch-functions.html
deleted file mode 100644 (file)
index d4f56ed..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Task-Dependent Synchronization Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="Task Management Functions"
-HREF="compat-uitron-task-management-functions.html"><LINK
-REL="NEXT"
-TITLE="          Synchronization and Communication Functions"
-HREF="compat-uitron-sync-and-comm-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-task-management-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-sync-and-comm-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-TASK-DEPENDENT-SYNCH-FUNCTIONS">Task-Dependent Synchronization Functions</H1
-><P
->These functions are fully supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->sus_tsk</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->rsm_tsk</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->frsm_tsk</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->slp_tsk</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->tslp_tsk</TT
->( 
-    TMO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tmout</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->wup_tsk</TT
->( 
-    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->can_wup</TT
->( 
-    INT *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_wupcnt,</I
-></SPAN
->    ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13571">Error checking</H2
-><P
->The following conditions are only checked for, and only return
-errors if 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled (see the configuration option &#8220;Return Error Codes for Bad
-Params&#8221;):</P
-><P
-></P
-><UL
-><LI
-><P
->invalid tskid; less than 1 or greater than 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_TASKS</TT
->
-returns E_ID</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->wup_tsk()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->sus_tsk()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->rsm_tsk()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->frsm_tsk()</TT
->
- on the calling task returns E_OBJ</P
-></LI
-><LI
-><P
->dispatching is enabled in 
-<TT
-CLASS="FUNCTION"
->tslp_tsk()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->slp_tsk()</TT
->
-, or E_CTX</P
-></LI
-><LI
-><P
->tmout must be positive, otherwise E_PAR</P
-></LI
-><LI
-><P
->return value pointer in 
-<TT
-CLASS="FUNCTION"
->can_wup()</TT
->
- is a valid pointer, or E_PAR</P
-></LI
-></UL
-><P
->The following conditions are checked for, and can
-           return error codes, regardless of the setting of
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->:</P
-><P
-></P
-><UL
-><LI
-><P
->When create and delete functions 
-<TT
-CLASS="FUNCTION"
->cre_tsk()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->del_tsk()</TT
->
- are supported, all calls which use a valid task ID number check
-that the task exists; if not, E_NOEXS is returned</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->sus_tsk()</TT
->
-: the task must not be dormant, else E_OBJ</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->frsm/rsm_tsk()</TT
->
-: the task must be suspended, else E_OBJ</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->tslp/slp_tsk()</TT
->
-: return codes E_TMOUT, E_RLWAI and E_DLT
-are returned depending on the reason for terminating the sleep</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->wup_tsk()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->can_wup()</TT
->
-: the task must not be dormant, or E_OBJ is returned</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-task-management-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-sync-and-comm-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Task Management Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synchronization and Communication Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-task-management-functions.html b/doc/html/ref/compat-uitron-task-management-functions.html
deleted file mode 100644 (file)
index b14902c..0000000
+++ /dev/null
@@ -1,686 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Task Management Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="µITRON and eCos"
-HREF="compat-uitron-over-ecos.html"><LINK
-REL="NEXT"
-TITLE="Task-Dependent Synchronization Functions"
-HREF="compat-uitron-task-dependent-synch-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-over-ecos.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-task-dependent-synch-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-TASK-MANAGEMENT-FUNCTIONS">Task Management Functions</H1
-><P
->The following functions are fully supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->sta_tsk</TT
->( 
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid,</I
-></SPAN
->
-  INT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->stacd</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->ext_tsk</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->exd_tsk</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->dis_dsp</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ena_dsp</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->chg_pri</TT
->( 
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid,</I
-></SPAN
->
-  PRI <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskpri</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->rot_rdq</TT
->( 
-  PRI <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskpri</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->get_tid</TT
->( 
-  ID *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->p_tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_tsk</TT
->( 
-  T_RTSK *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rtsk,</I
-></SPAN
->
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ter_tsk</TT
->( 
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->rel_wai</TT
->( 
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->The following two functions are supported in this release,
-when enabled with the configuration option 
-<TT
-CLASS="LITERAL"
->CYGPKG_UITRON_TASKS_CREATE_DELETE</TT
->
-with some restrictions:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->cre_tsk</TT
->( 
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid,</I
-></SPAN
->
-  T_CTSK *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_ctsk</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->del_tsk</TT
->( 
-  ID <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tskid</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions are restricted as follows:</P
-><P
->Because of the static initialization facilities provided for
-system objects, a task is allocated stack space statically in the
-configuration. So while tasks can be created and deleted, the same
-stack space is used for that task (task ID number) each time. Thus
-the stack size (pk_ctsk-&gt;stksz) requested in <TT
-CLASS="FUNCTION"
->cre_tsk()</TT
-> is
-checked for being less than that which was statically allocated,
-and otherwise ignored. This ensures that the new task will have
-enough stack to run. For this reason <TT
-CLASS="FUNCTION"
->del_tsk()</TT
-> does
-not in any sense free the memory that was in use for the task's
-stack. </P
-><P
->The task attributes (pk_ctsk-&gt;tskatr) are
-ignored; current versions of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> do not need
-to know whether a task is written in assembler or C/C&#0043;&#0043; so
-long as the procedure call standard appropriate to the CPU is followed.</P
-><P
->Extended information (pk_ctsk-&gt;exinf) is
-         ignored.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13490">Error checking</H2
-><P
->For all these calls, an invalid task id (tskid) (less than
-1 or greater than the number of configured tasks) only returns E_ID
-when bad params return errors (
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled, see above).</P
-><P
->Similarly, the following conditions are only checked for,
-and only return errors if 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled:</P
-><P
-></P
-><UL
-><LI
-><P
->pk_crtk in 
-<TT
-CLASS="FUNCTION"
->cre_tsk()</TT
->
- is a valid pointer, otherwise return E_PAR</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->ter_tsk()</TT
->
- or 
-<TT
-CLASS="FUNCTION"
->rel_wai()</TT
->
- on the calling task returns E_OBJ</P
-></LI
-><LI
-><P
->the CPU is not locked already in 
-<TT
-CLASS="FUNCTION"
->dis_dsp()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->ena_dsp()</TT
->
-; returns E_CTX</P
-></LI
-><LI
-><P
->priority level in 
-<TT
-CLASS="FUNCTION"
->chg_pri()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->rot_rdq()</TT
->
- is checked for validity, E_PAR</P
-></LI
-><LI
-><P
->return value pointer in 
-<TT
-CLASS="FUNCTION"
->get_tid()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->ref_tsk()</TT
->
- is a valid pointer, or E_PAR</P
-></LI
-></UL
-><P
->The following conditions are checked for, and return
-           error codes if appropriate, regardless of the setting of
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-:</P
-><P
-></P
-><UL
-><LI
-><P
->When create and delete functions 
-<TT
-CLASS="FUNCTION"
->cre_tsk()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->del_tsk()</TT
->
- are supported, all calls which use a valid task ID number check
-that the task exists; if not, E_NOEXS is returned</P
-></LI
-><LI
-><P
->When supported, 
-<TT
-CLASS="FUNCTION"
->cre_tsk()</TT
->
-: the task must not already exist; otherwise E_OBJ</P
-></LI
-><LI
-><P
->When supported, 
-<TT
-CLASS="FUNCTION"
->cre_tsk()</TT
->
-: the requested stack size must not be larger than that statically
-configured for the task; see the configuration options
-&#8220;Static initializers&#8221;, and &#8220;Default stack size&#8221;.
-Else E_NOMEM</P
-></LI
-><LI
-><P
->When supported, 
-<TT
-CLASS="FUNCTION"
->del_tsk()</TT
->
-: the underlying 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->
- thread must not be running - this would imply either a bug or some
-program bypassing the 
-&micro;ITRON compatibility layer and manipulating the thread directly.
-E_OBJ</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->sta_tsk()</TT
->
-: the task must be dormant, else E_OBJ</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->ter_tsk()</TT
->
-: the task must not be dormant, else E_OBJ</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->chg_pri()</TT
->
-: the task must not be dormant, else E_OBJ</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->rel_wai()</TT
->
-: the task must be in 
-<TT
-CLASS="VARNAME"
->WAIT</TT
-> or <TT
-CLASS="VARNAME"
->WAIT-SUSPEND</TT
->
- state, else E_OBJ</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-over-ecos.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-task-dependent-synch-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&micro;ITRON and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Task-Dependent Synchronization Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron-time-mgmt-functions.html b/doc/html/ref/compat-uitron-time-mgmt-functions.html
deleted file mode 100644 (file)
index c1a907e..0000000
+++ /dev/null
@@ -1,513 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Time Management Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"><LINK
-REL="PREVIOUS"
-TITLE="          Memory pool Management Functions"
-HREF="compat-uitron-memory-pool-mgmt-functions.html"><LINK
-REL="NEXT"
-TITLE="          System Management Functions"
-HREF="compat-uitron-system-mgmt-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-memory-pool-mgmt-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 32. &micro;ITRON API</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-system-mgmt-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPAT-UITRON-TIME-MGMT-FUNCTIONS">Time Management Functions</H1
-><P
->These functions are fully supported in this release: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->set_tim</TT
->( 
-    SYSTIME *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_tim</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->          Setting the time may cause erroneous operation of the
-           kernel, for example a task performing a wait with a
-           time-out may never awaken.</P
-></TD
-></TR
-></TABLE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->get_tim</TT
->( 
-    SYSTIME *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_tim</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->dly_tsk</TT
->( 
-    DLYTIME <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->dlytim</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->def_cyc</TT
->( 
-    HNO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->cycno,</I
-></SPAN
->    T_DCYC *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_dcyc</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->act_cyc</TT
->( 
-    HNO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->cycno,</I
-></SPAN
->    UINT <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->cycact</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_cyc</TT
->( 
-    T_RCYC *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_rcyc,</I
-></SPAN
->    HNO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->cycno</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->def_alm</TT
->( 
-    HNO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->almno,</I
-></SPAN
->    T_DALM *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_dalm</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ER <TT
-CLASS="FUNCTION"
->ref_alm</TT
->( 
-    T_RALM *<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pk_ralm,</I
-></SPAN
->    HNO <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->almno</I
-></SPAN
-> )</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->ret_tmr</TT
->( void )</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN14010">Error checking</H2
-><P
->The following conditions are only checked for, and only return
-errors if 
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-is enabled:</P
-><P
-></P
-><UL
-><LI
-><P
->invalid handler number; less than 1 or greater than 
-<TT
-CLASS="LITERAL"
->CYGNUM_UITRON_CYCLICS/ALARMS</TT
->
-as appropriate, or E_PAR</P
-></LI
-><LI
-><P
->dispatching is enabled in 
-<TT
-CLASS="FUNCTION"
->dly_tsk()</TT
->
-, or E_CTX</P
-></LI
-><LI
-><P
->dlytim must be positive or zero, otherwise E_PAR</P
-></LI
-><LI
-><P
->return value pointer in 
-<TT
-CLASS="FUNCTION"
->ref_xxx()</TT
->
- is a valid pointer, or E_PAR</P
-></LI
-><LI
-><P
->params within pk_dalm and pk_dcyc must
-be valid, or E_PAR</P
-></LI
-><LI
-><P
->cycact in 
-<TT
-CLASS="FUNCTION"
->act_cyc()</TT
->
- must be valid, or E_PAR</P
-></LI
-><LI
-><P
->handler must be defined in 
-<TT
-CLASS="FUNCTION"
->ref_xxx()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->act_cyc()</TT
->
-, or E_NOEXS</P
-></LI
-><LI
-><P
->parameter pointer must be a good pointer in 
-<TT
-CLASS="FUNCTION"
->get_tim()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->set_tim()</TT
->
-, otherwise E_PAR is returned</P
-></LI
-></UL
-><P
->The following conditions are checked for, and can return
-         error codes, regardless of the setting of
-<TT
-CLASS="LITERAL"
->CYGSEM_UITRON_BAD_PARAMS_RETURN_ERRORS</TT
->
-:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->dly_tsk()</TT
->
-: return code E_RLWAI is returned depending on the reason
-for terminating the sleep</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-memory-pool-mgmt-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-system-mgmt-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Memory pool Management Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->System Management Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/compat-uitron.html b/doc/html/ref/compat-uitron.html
deleted file mode 100644 (file)
index 904ec3e..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->&micro;ITRON</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos POSIX compatibility layer"
-HREF="posix-compatibility.html"><LINK
-REL="NEXT"
-TITLE="µITRON API"
-HREF="compat-uitron-microitron-api.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="COMPAT-UITRON"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->IX. &micro;ITRON</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->32. <A
-HREF="compat-uitron-microitron-api.html"
->&micro;ITRON API</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron-microitron-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos POSIX compatibility layer</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&micro;ITRON API</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/configuring-the-redboot-environment.html b/doc/html/ref/configuring-the-redboot-environment.html
deleted file mode 100644 (file)
index c642b4a..0000000
+++ /dev/null
@@ -1,740 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuring the RedBoot Environment</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="RedBoot Resource Usage"
-HREF="resource-usage.html"><LINK
-REL="NEXT"
-TITLE="RedBoot Commands and Examples"
-HREF="redboot-commands-and-examples.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="resource-usage.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Getting Started with RedBoot</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIGURING-THE-REDBOOT-ENVIRONMENT">Configuring the RedBoot Environment</H1
-><P
->Once installed, RedBoot will operate fairly generically. However,
-there are some features that can be configured for a particular installation.
-These depend primarily on whether flash and/or networking support are available. The remainder
-of this discussion assumes that support for both of these options is included
-in RedBoot.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="TARGET-NETWORK-CONFIGURATION">Target Network Configuration</H2
-><P
->Each node in a networked
-system needs to have a unique address. Since the network support in RedBoot
-is based on TCP/IP, this address
-is an IP (Internet Protocol) address. There are two ways for a system to &#8220;know&#8221;
-its IP address. First, it can be stored locally on the platform. This is known
-as having a static IP address. Second, the system can use the network itself
-to discover its IP address. This is known as a dynamic IP address. RedBoot
-supports this dynamic IP address mode by use of the BOOTP (a subset of DHCP) protocol. In this case, RedBoot will ask the network (actually
-some generic server on the network) for the IP address to use.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Currently, RedBoot only supports BOOTP. In future releases, DHCP may
-also be supported, but such support will be limited to additional data items,
-not lease-based address allocation.</P
-></BLOCKQUOTE
-></DIV
-><P
->The choice of IP
-address type is made via the <B
-CLASS="COMMAND"
->fconfig</B
-> command. Once a selection
-is made, it will be stored in flash memory. RedBoot only queries the flash
-configuration information at reset, so any changes will require restarting
-the platform.</P
-><P
->Here is an example of the RedBoot <B
-CLASS="COMMAND"
->fconfig</B
->
-command, showing network addressing:    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig -l</B
-></TT
->
-Run script at boot: false
-Use BOOTP for network configuration: false
-Local IP address: 192.168.1.29
-Default server IP address: 192.168.1.101
-DNS server IP address: 192.168.1.1
-GDB connection port: 9000
-Network debug at boot time: false  </PRE
-></TD
-></TR
-></TABLE
-><P
->In this case, the board has been configured with a static IP address
-listed as the Local IP address. The default server IP address specifies which
-network node to communicate with for TFTP service. This address can be overridden
-directly in the TFTP
-commands.</P
-><P
->The <TT
-CLASS="COMPUTEROUTPUT"
->DNS server IP address</TT
-> option
-controls where RedBoot should make DNS lookups. A setting of 0.0.0.0 will disable DNS
-lookups. The DNS server IP address can also be set at runtime.</P
-><P
->If the selection for <TT
-CLASS="COMPUTEROUTPUT"
->Use BOOTP for network configuration</TT
-> had been <TT
-CLASS="COMPUTEROUTPUT"
->true</TT
->, these IP
-addresses would be determined at boot time, via the BOOTP protocol. The final
-number which needs to be configured, regardless of IP address selection mode,
-is the <TT
-CLASS="COMPUTEROUTPUT"
->GDB connection port</TT
->. RedBoot allows for incoming commands
-on either the available serial ports or via the network. This port number
-is the TCP port that RedBoot will use to accept incoming connections.  </P
-><P
->These connections can be used for GDB sessions, but they can also be
-used for generic RedBoot commands. In particular, it is possible to communicate
-with RedBoot via the telnet
-protocol. For example, on Linux&reg;: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->% telnet redboot_board 9000
-Connected to redboot_board
-Escape character is &#8216;^]&#8217;.
-RedBoot&#62;  </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2722">Host Network Configuration</H2
-><P
->RedBoot
-may require three different classes of service from a network host:   </P
-><P
-></P
-><UL
-><LI
-><P
->dynamic IP address allocation, using BOOTP   </P
-></LI
-><LI
-><P
->TFTP service for file downloading </P
-></LI
-><LI
-><P
->DNS server for hostname lookups </P
-></LI
-></UL
-><P
->Depending on the host system, these services may or may not be available
-or enabled by default. See your system documentation for more details.</P
-><P
->In particular, on Red Hat Linux, neither of these services will be configured
-out of the box. The following will provide a limited explanation of how to
-set them up. These configuration setups must be done as <TT
-CLASS="COMPUTEROUTPUT"
->root</TT
-> on the host or server machine.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN2743">Enable TFTP on Red Hat Linux 6.2</H3
-><DIV
-CLASS="PROCEDURE"
-><OL
-TYPE="1"
-><LI
-><P
->Ensure that
-you have the tftp-server RPM package installed. By default, this installs
-the TFTP server in a disabled state. These steps will enable it:</P
-></LI
-><LI
-><P
->Make sure that the following line is uncommented in the control
-file <TT
-CLASS="FILENAME"
->/etc/inetd.conf</TT
-> <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->tftp dgram   udp     wait    root    /usr/sbin/tcpd      /usr/sbin/in.tftpd</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-></P
-></LI
-><LI
-><P
->If it was necessary to change the line in Step 2, then the inetd
-server must be restarted, which can be done via the command:    <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># service inet reload</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN2762">Enable TFTP on Red Hat Linux 7 (or newer)</H3
-><DIV
-CLASS="PROCEDURE"
-><OL
-TYPE="1"
-><LI
-><P
->Ensure that the
-xinetd RPM is installed.</P
-></LI
-><LI
-><P
->Ensure that the tftp-server RPM is installed.</P
-></LI
-><LI
-><P
->Enable TFTP by means of the following: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->/sbin/chkconfig tftp on</PRE
-></TD
-></TR
-></TABLE
->Reload the xinetd configuration using the command:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> /sbin/service xinetd reload </PRE
-></TD
-></TR
-></TABLE
->Create the directory /tftpboot
-using the command <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->mkdir /tftpboot</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Under Red Hat 7 you must address files by absolute pathnames, for example: <TT
-CLASS="FILENAME"
->/tftpboot/boot.img</TT
-> not <TT
-CLASS="FILENAME"
->/boot.img</TT
->, as you may have done with
-other implementations.
-On systems newer than Red Hat 7 (7.1 and beyond), filenames are once again relative to the
-<TT
-CLASS="FILENAME"
->/tftpboot</TT
-> directory.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN2786">Enable BOOTP/DHCP server on Red Hat Linux</H3
-><P
->First, ensure that you have
-the proper package, <TT
-CLASS="COMPUTEROUTPUT"
->dhcp</TT
-> (not <TT
-CLASS="COMPUTEROUTPUT"
->dhcpd</TT
->) installed. The DHCP server provides Dynamic Host Configuration,
-that is, IP address and other data to hosts on a network. It does this in
-different ways. Next, there can be a fixed relationship between a certain
-node and the data, based on that node&#8217;s unique Ethernet Station Address
-(ESA, sometimes called a MAC address). The other possibility is simply to
-assign addresses that are free. The sample DHCP configuration file shown does
-both. Refer to the DHCP documentation for more details.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN2797"><P
-><B
->Example 1-1. Sample DHCP configuration file</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->--------------- /etc/dhcpd.conf -----------------------------
-default-lease-time 600;
-max-lease-time 7200;
-option subnet-mask 255.255.255.0;
-option broadcast-address 192.168.1.255;
-option domain-name-servers 198.41.0.4, 128.9.0.107;
-option domain-name &#8220;bogus.com&#8221;;
-allow bootp;
-shared-network BOGUS {
-subnet 192.168.1.0 netmask 255.255.255.0 {
-         option routers 192.168.1.101;
-         range 192.168.1.1 192.168.1.254;
-}
- }
-host mbx {
-         hardware ethernet 08:00:3E:28:79:B8;
-         fixed-address 192.168.1.20;
-         filename &#8220;/tftpboot/192.168.1.21/zImage&#8221;;
-         default-lease-time -1;
-         server-name &#8220;srvr.bugus.com&#8221;;
-         server-identifier 192.168.1.101;
-         option host-name &#8220;mbx&#8221;;
-} </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Once the DHCP package has been installed and the configuration file
-set up, type:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># <TT
-CLASS="USERINPUT"
-><B
->service dhcpd start</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN2803">Enable DNS server on Red Hat Linux</H3
-><P
->First, ensure that you have the proper
-RPM package, <TT
-CLASS="COMPUTEROUTPUT"
->caching-nameserver</TT
->
-installed. Then change the configuration
-(in <TT
-CLASS="FILENAME"
->/etc/named.conf</TT
->) so that the
-<TT
-CLASS="COMPUTEROUTPUT"
->forwarders</TT
-> point to the primary
-nameservers for your machine, normally using the nameservers listed in
-<TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
->.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN2813"><P
-><B
->Example 1-2. Sample <TT
-CLASS="FILENAME"
->/etc/named.conf</TT
-> for Red Hat Linux 7.x</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->--------------- /etc/named.conf -----------------------------
-// generated by named-bootconf.pl
-
-options {
-        directory "/var/named";
-        /*
-         * If there is a firewall between you and nameservers you want
-         * to talk to, you might need to uncomment the query-source
-         * directive below.  Previous versions of BIND always asked
-         * questions using port 53, but BIND 8.1 uses an unprivileged
-         * port by default.
-         */
-        // query-source address * port 53;
-
-
-        forward first;
-        forwarders {
-                212.242.40.3;
-                212.242.40.51;
-        };
-};
-
-//
-// a caching only nameserver config
-//
-// Uncomment the following for Red Hat Linux 7.2 or above:
-// controls {
-//         inet 127.0.0.1 allow { localhost; } keys { rndckey; };
-// };
-// include "/etc/rndc.key";
-zone "." IN {
-        type hint;
-        file "named.ca";
-};
-
-zone "localhost" IN {
-        type master;
-        file "localhost.zone";
-        allow-update { none; };
-};
-
-zone "0.0.127.in-addr.arpa" IN {
-        type master;
-        file "named.local";
-        allow-update { none; };
-};&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Make sure the server is started with the command:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># <TT
-CLASS="USERINPUT"
-><B
->service named start</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> and is
-started on next reboot with the command
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># <TT
-CLASS="USERINPUT"
-><B
->chkconfig named on</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Finally, you may wish to change
-<TT
-CLASS="FILENAME"
->/etc/resolv.conf</TT
-> to use
-<TT
-CLASS="COMPUTEROUTPUT"
->127.0.0.1</TT
-> as the nameserver for your
-local machine.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN2824">RedBoot network gateway</H3
-><P
->RedBoot cannot communicate with
-machines on different subnets because it does not support routing. It always
-assumes that it can get to an address directly, therefore it always tries
-to ARP and then send packets directly to that unit. This means that whatever
-it talks to must be on the same subnet. If you need to talk to a host on a
-different subnet (even if it's on the same &#8216;wire&#8217;), you need to
-go through an ARP proxy, providing that there is a Linux box connected to
-the network which is able to route to the TFTP server. For example: <TT
-CLASS="FILENAME"
->/proc/sys/net/ipv4/conf/<TT
-CLASS="REPLACEABLE"
-><I
->&lt;interface&#62;</I
-></TT
->/proxy_arp </TT
->where <TT
-CLASS="REPLACEABLE"
-><I
->&lt;interface&#62;</I
-></TT
->should be replaced with whichever network interface
-is directly connected to the board.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2834">Verification</H2
-><P
->Once your network setup
-has been configured, perform simple verification tests as follows: <P
-></P
-><UL
-><LI
-><P
->Reboot your system, to enable the setup, and then try to &#8216;ping&#8217;
-the target board from a host.</P
-></LI
-><LI
-><P
->Once communication has been established, try to ping
-a host using the RedBoot ping command - both by IP address and hostname.</P
-></LI
-><LI
-><P
->Try using the RedBoot load command to download a file
-from a host.</P
-></LI
-></UL
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="resource-usage.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->RedBoot Resource Usage</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->RedBoot Commands and Examples</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/cpuload-functions.html b/doc/html/ref/cpuload-functions.html
deleted file mode 100644 (file)
index 4cd355c..0000000
+++ /dev/null
@@ -1,389 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CPU Load Measurements</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="CPU load measurements"
-HREF="services-cpuload.html"><LINK
-REL="PREVIOUS"
-TITLE="CPU load measurements"
-HREF="services-cpuload.html"><LINK
-REL="NEXT"
-TITLE="Application profiling"
-HREF="services-profile-gprof.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="services-cpuload.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="services-profile-gprof.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CPULOAD-FUNCTIONS">Chapter 51. CPU Load Measurements</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SERVICES-CPULOAD-API">CPU Load API</H1
-><P
->The package allows the CPU load to be estimated. The measurement code
-must first be calibrated to the target it is running on. Once this
-has been performed the measurement process can be started. This is a
-continuous process, so always providing the most up to data
-measurements. The process can be stopped at any time if required. Once
-the process is active, the results can be retrieved.</P
-><P
->Note that if the target/processor performs any power saving actions,
-such as reducing the clock speed, or halting until the next interrupt
-etc, these will interfere with the CPU load measurement. Under these
-conditions the measurement results are undefined. The synthetic target
-is one such system. See the implementation details at the foot of this
-page for further information.  </P
-><P
->SMP systems are not supported, only uniprocessor system.</P
-><P
-> The API for load measuring functions can be
-found in the file <TT
-CLASS="FILENAME"
->cyg/cpuload/cpuload.h</TT
->.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CPULOAD-API-CYG-CPULOAD-CALIBRATE">cyg_cpuload_calibrate</H2
-><P
->This function is used to calibrate the cpu load measurement code. It
-makes a measurement to determine the CPU properties while idle.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_cpuload_calibrate(cyg_uint32  *calibration);</PRE
-></TD
-></TR
-></TABLE
-><P
->The function returns the calibration value at the location pointed to
-by <TT
-CLASS="PARAMETER"
-><I
->calibration</I
-></TT
->.</P
-><P
->This function is quite unusual. For it to work correctly a few
-conditions must be met. The function makes use of the two highest
-thread priorities. No other threads must be using these priorities
-while the function is being used. The kernel scheduler must be started
-and not disabled. The function takes 100ms to complete during which
-time no other threads will be run.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CPULOAD-API-CYG-CPULOAD-CREATE">cyg_cpuload_create</H2
-><P
->This function starts the CPU load measurments.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_cpuload_create(cyg_cpuload_t *cpuload, 
-                        cyg_uint32 calibrate,
-                        cyg_handle_t *handle);</PRE
-></TD
-></TR
-></TABLE
-><P
->The measurement process is started and a handle to it is returned in
-<TT
-CLASS="PARAMETER"
-><I
->*handle</I
-></TT
->. This handle is used to access the
-results and the stop the measurement process. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CPULOAD-API-CYG-CPULOAD-DELETE">cyg_cpuload_delete</H2
-><P
->This function stops the measurement process. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_cpuload_delete(cyg_handle_t handle);</PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
-> should be the value returned by the create function.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CPULOAD-API-CYG-CPULOAD-GET">cyg_cpuload_get</H2
-><P
->This function returns the latest measurements.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_cpuload_get(cyg_handle_t handle,
-                cyg_uint32 *average_point1s,       
-                cyg_uint32 *average_1s,            
-                cyg_uint32 *average_10s);</PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
-> should be the value returned by the
-create function. The load measurements for the last 100ms, 1s and 10s
-are returned in
-<TT
-CLASS="PARAMETER"
-><I
->*average_point1s</I
-></TT
->,<TT
-CLASS="PARAMETER"
-><I
->*average_1s</I
-></TT
->
-and <TT
-CLASS="PARAMETER"
-><I
->*average_10s</I
-></TT
-> respectively.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CPULOAD-API-IMPLEMENTATION">Implementation details</H2
-><P
->This section gives a few details of how the measurements are
-made. This should help to understand what the results mean.</P
-><P
->When there are no other threads runnable, eCos will execute the idle
-thread. This thread is always runnable and uses the lowest thread
-priority. The idle thread does little. It is an endless loop which
-increments the variable, <TT
-CLASS="LITERAL"
->idle_thread_loops</TT
-> and
-executes the macro <TT
-CLASS="LITERAL"
->HAL_IDLE_THREAD_ACTION</TT
->. The cpu
-load measurement code makes use of the variable. It periodically
-examines the value of the variable and sees how much it has
-changed. The idler the system, the more it will have incremented. From
-this it is simple to determine the load of the system.</P
-><P
->The function <TT
-CLASS="LITERAL"
->cyg_cpuload_calibrate</TT
-> executes the
-idle thread for 100ms to determine how much
-<TT
-CLASS="LITERAL"
->idle_thread_loops</TT
-> is incremented on a system idle
-for 100ms. <TT
-CLASS="LITERAL"
->cyg_cpuload_create</TT
-> starts an alarm which
-every 100ms calls an alarm function. This function looks at the
-difference in <TT
-CLASS="LITERAL"
->idle_thread_loops</TT
-> since the last
-invocation of the alarm function and so calculated how idle or busy
-the system has been. The structure <TT
-CLASS="LITERAL"
->cyg_cpuload</TT
-> is
-updated during the alarm functions with the new results.  The 100ms
-result is simply the result from the last measurement period. A simple
-filter is used to average the load over a period of time, namely 1s
-and 10s. Due to rounding errors, the 1s and 10s value will probably
-never reach 100% on a fully loaded system, but 99% is often seen.</P
-><P
->As stated above, clever power management code will interfere with
-these measurements. The basic assumption is that the idle thread will
-be executed un-hindered and under the same conditions as when the
-calibration function was executed. If the CPU clock rate is reduced,
-the idle thread counter will be incremented less and so the CPU load
-measurements will give values too high. If the CPU is halted entirely,
-100% cpu load will be measured.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="services-cpuload.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="services-profile-gprof.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CPU load measurements</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-cpuload.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Application profiling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/crc-functions.html b/doc/html/ref/crc-functions.html
deleted file mode 100644 (file)
index 9c36615..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CRC Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="CRC Algorithms"
-HREF="services-crc.html"><LINK
-REL="PREVIOUS"
-TITLE="CRC Algorithms"
-HREF="services-crc.html"><LINK
-REL="NEXT"
-TITLE="CPU load measurements"
-HREF="services-cpuload.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="services-crc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="services-cpuload.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CRC-FUNCTIONS">Chapter 50. CRC Functions</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SERVICES-CRC-API">CRC API</H1
-><P
->The package implements a number of CRC functions as described below.
-The API to these functions is in the include file
-<TT
-CLASS="FILENAME"
->cyg/crc/crc.h</TT
->.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CRC-API-CYG-POSIX-CRC32">cyg_posix_crc32</H2
-><P
->This function implements a 32 bit CRC which is compliant to the POSIX
-1008.2 Standard. This is the same as the Linux cksum program.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_uint32 cyg_posix_crc32(unsigned char &#0042; s, int len);</PRE
-></TD
-></TR
-></TABLE
-><P
->The CRC calculation is run over the data pointed to by
-<TT
-CLASS="PARAMETER"
-><I
->s</I
-></TT
->, of length <TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
->. The
-CRC is returned as an unsigned long.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CRC-API-CYG-CRC32">cyg_crc32</H2
-><P
->These functions implement a 32 bit CRC by Gary S. Brown. They use the
-polynomial
-X^32+X^26+X^23+X^22+X^16+X^12+X^11+X^10+X^8+X^7+X^5+X^4+X^2+X^1+X^0.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_uint32 cyg_crc32(unsigned char &#0042; s, int len);
-cyg_uint32 cyg_crc32_accumulate(cyg_uint32 crc, unsigned char &#0042; s, int len);</PRE
-></TD
-></TR
-></TABLE
-><P
->The CRC calculation is run over the data pointed to by
-<TT
-CLASS="PARAMETER"
-><I
->s</I
-></TT
->, of length <TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
->. The
-CRC is returned as an unsigned long.</P
-><P
-> The CRC can be calculated over data separated into multiple
-buffers by using the function <TT
-CLASS="PARAMETER"
-><I
-> cyg_crc32_accumulate()</I
-></TT
->. The parameter <TT
-CLASS="PARAMETER"
-><I
->crc</I
-></TT
-> should be the
-result from the previous CRC calculation.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CRC-API-CYG-ETHER-CRC32">cyg_ether_crc32</H2
-><P
->These functions implement the 32 bit CRC used by the Ethernet FCS word.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_uint32 cyg_ether_crc32(unsigned char &#0042; s, int len);
-cyg_uint32 cyg_ether_crc32_accumulate(cyg_uint32 crc, unsigned char &#0042; s, int len);</PRE
-></TD
-></TR
-></TABLE
-><P
->The CRC calculation is run over the data pointed to by
-<TT
-CLASS="PARAMETER"
-><I
->s</I
-></TT
->, of length <TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
->. The
-CRC is returned as an unsigned long.</P
-><P
-> The CRC can be calculated over data separated into multiple
-buffers by using the function <TT
-CLASS="PARAMETER"
-><I
-> cyg_ether_crc32_accumulate()</I
-></TT
->. The parameter <TT
-CLASS="PARAMETER"
-><I
->crc</I
-></TT
-> should be the
-result from the previous CRC calculation.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-CRC-API-CYG-CRC16">cyg_crc16</H2
-><P
->This function implements a 16 bit CRC. It uses the polynomial
-x^16+x^12+x^5+1.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_uint16 cyg_crc16(unsigned char &#0042; s, int len);</PRE
-></TD
-></TR
-></TABLE
-><P
->The CRC calculation is run over the data pointed to by
-<TT
-CLASS="PARAMETER"
-><I
->s</I
-></TT
->, of length <TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
->. The
-CRC is returned as an unsigned short.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="services-crc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="services-cpuload.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CRC Algorithms</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-crc.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CPU load measurements</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devapi-api.html b/doc/html/ref/devapi-api.html
deleted file mode 100644 (file)
index c8ce51f..0000000
+++ /dev/null
@@ -1,2961 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The API</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Synchronization Levels"
-HREF="devapi-synchronization-levels.html"><LINK
-REL="NEXT"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devapi-synchronization-levels.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 18. Device Driver Interface to the Kernel</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="DEVAPI-API">The API</H1
-><P
->This section details the Driver Kernel
-Interface. Note that most of these functions are identical to Kernel C
-API calls, and will in most configurations be wrappers for them. In
-non-kernel configurations they will be supported directly by the HAL,
-or by code to emulate the required behavior.</P
-><P
->This API is defined in the header file
-<TT
-CLASS="FILENAME"
->&lt;cyg/hal/drv_api.h&gt;</TT
->.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11310">cyg_drv_isr_lock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_isr_lock()</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Disables delivery of interrupts, preventing all ISRs running.  This
-      function maintains a counter of the number of times it is
-      called.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11333">cyg_drv_isr_unlock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_isr_unlock()</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Re-enables delivery of interrupts, allowing ISRs to
-      run. This function decrements the counter maintained by
-      <TT
-CLASS="FUNCTION"
->cyg_drv_isr_lock()</TT
->, and only re-allows
-      interrupts when it goes to zero. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11357">cyg_drv_spinlock_init</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_spinlock_init(cyg_spinlock_t *lock, cyg_bool_t locked )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to initialize</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->locked</I
-></TT
-> - initial state of lock</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Initialize a spinlock. The <TT
-CLASS="PARAMETER"
-><I
->locked</I
-></TT
->
-      argument indicates how the spinlock should be initialized:
-      <TT
-CLASS="LITERAL"
->TRUE</TT
-> for locked or <TT
-CLASS="LITERAL"
->FALSE</TT
->
-      for unlocked state.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11386">cyg_drv_spinlock_destroy</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_spinlock_destroy(cyg_spinlock_t *lock )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock destroy</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Destroy a spinlock that is no longer of use. There should be no
-      CPUs attempting to claim the lock at the time this function is
-      called, otherwise the behavior is undefined.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11410">cyg_drv_spinlock_spin</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_spinlock_spin(cyg_spinlock_t *lock )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to claim</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Claim a spinlock, waiting in a busy loop until it is
-      available. Wherever this is called from, this operation
-      effectively pauses the CPU until it succeeds. This operations
-      should therefore be used sparingly, and in situations where
-      deadlocks/livelocks cannot occur. Also see
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_spin_intsave()</TT
->.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11435">cyg_drv_spinlock_clear</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_spinlock_clear(cyg_spinlock_t *lock )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to clear </P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Clear a spinlock. This clears the spinlock and allows another
-      CPU to claim it. If there is more than one CPU waiting in
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_spin()</TT
-> then just one of
-      them will be allowed to proceed.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11460">cyg_drv_spinlock_try</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool_t cyg_drv_spinlock_try(cyg_spinlock_t *lock )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to try</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->TRUE</TT
-> if the spinlock was claimed,
-      <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Try to claim the spinlock without waiting. If the spinlock could
-      be claimed immediately then <TT
-CLASS="LITERAL"
->TRUE</TT
-> is
-      returned. If the spinlock is already claimed then the result is
-      <TT
-CLASS="LITERAL"
->FALSE</TT
->.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11488">cyg_drv_spinlock_test</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool_t cyg_drv_spinlock_test(cyg_spinlock_t *lock )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to test</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->TRUE</TT
-> if the spinlock is available,
-      <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      Inspect the state of the spinlock. If the spinlock is not locked
-      then the result is <TT
-CLASS="LITERAL"
->TRUE</TT
->. If it is locked then
-      the result will be <TT
-CLASS="LITERAL"
->FALSE</TT
->.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11516">cyg_drv_spinlock_spin_intsave</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_spinlock_spin_intsave(cyg_spinlock_t *lock,
-                                   cyg_addrword_t *istate )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to claim</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->istate</I
-></TT
-> - pointer to interrupt state save location</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      This function behaves exactly like
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_spin()</TT
-> except that it also
-      disables interrupts before attempting to claim the lock. The
-      current interrupt enable state is saved in
-      <TT
-CLASS="PARAMETER"
-><I
->*istate</I
-></TT
->. Interrupts remain disabled once
-      the spinlock had been claimed and must be restored by calling
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_clear_intsave()</TT
->.
-      </P
-><P
->      In general, device drivers should use this function to claim and
-      release spinlocks rather than the
-      non-<TT
-CLASS="FUNCTION"
->_intsave()</TT
-> variants, to ensure proper
-      exclusion with code running on both other CPUs and this CPU.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11547">cyg_drv_spinlock_clear_intsave</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_spinlock_clear_intsave( cyg_spinlock_t *lock,
-                                     cyg_addrword_t istate )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
-> - pointer to spinlock to clear </P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->istate</I
-></TT
-> - interrupt state to restore </P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      This function behaves exactly like
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_clear()</TT
-> except that it
-      also restores an interrupt state saved by
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_spin_intsave()</TT
->. The
-      <TT
-CLASS="PARAMETER"
-><I
->istate</I
-></TT
-> argument must have been
-      initialized by a previous call to
-      <TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_spin_intsave()</TT
->.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11577">cyg_drv_dsr_lock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_dsr_lock()</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->DSR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Disables scheduling of DSRs. This function maintains a
-      counter of the number of times it has been called. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11600">cyg_drv_dsr_unlock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_dsr_unlock()</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->              </P
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->DSR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Re-enables scheduling of DSRs. This function decrements
-      the counter incremented by
-      <TT
-CLASS="FUNCTION"
->cyg_drv_dsr_lock()</TT
->.  DSRs are only allowed
-      to be delivered when the counter goes to zero. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11625">cyg_drv_mutex_init</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_mutex_init(cyg_drv_mutex *mutex)</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> - pointer to mutex to initialize</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Initialize the mutex pointed to by the
-      <TT
-CLASS="LITERAL"
->mutex</TT
-> argument. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11650">cyg_drv_mutex_destroy</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_mutex_destroy( cyg_drv_mutex *mutex )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> - pointer to mutex to destroy</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Destroy the mutex pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> argument. The mutex should be unlocked
-      and there should be no threads waiting to lock it when this call
-      in made.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11675">cyg_drv_mutex_lock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_drv_mutex_lock( cyg_drv_mutex *mutex )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> - pointer to mutex to lock</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->TRUE</TT
-> it the thread has claimed the
-      lock, <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise.</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Attempt to lock the mutex pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> argument.  If the mutex is already
-      locked by another thread then this thread will wait until that
-      thread is finished. If the result from this function is
-      <TT
-CLASS="LITERAL"
->FALSE</TT
-> then the thread was broken out of its
-      wait by some other thread. In this case the mutex will not have
-      been locked. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11703">cyg_drv_mutex_trylock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_drv_mutex_trylock( cyg_drv_mutex *mutex )</PRE
-></TD
-></TR
-></TABLE
-></P
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> - pointer to mutex to lock</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->TRUE</TT
-> if the mutex has been locked,
-      <TT
-CLASS="LITERAL"
->FALSE</TT
-> otherwise. </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Attempt to lock the mutex pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> argument without waiting. If the
-      mutex is already locked by some other thread then this function
-      returns <TT
-CLASS="LITERAL"
->FALSE</TT
->. If the function can lock the
-      mutex without waiting, then <TT
-CLASS="LITERAL"
->TRUE</TT
-> is
-      returned. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11733">cyg_drv_mutex_unlock</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_mutex_unlock( cyg_drv_mutex *mutex )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> - pointer to mutex to unlock</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Unlock the mutex pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> argument. If there are any threads
-      waiting to claim the lock, one of them is woken up to try and
-      claim it. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11758">cyg_drv_mutex_release</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_mutex_release( cyg_drv_mutex *mutex )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->mutex</TT
-> - pointer to mutex to release</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Release all threads waiting on the mutex pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> argument. These threads will return
-      from <TT
-CLASS="FUNCTION"
->cyg_drv_mutex_lock()</TT
-> with a
-      <TT
-CLASS="LITERAL"
->FALSE</TT
-> result and will not have claimed the
-      mutex. This function has no effect on any thread that may have
-      the mutex claimed. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11785">cyg_drv_cond_init</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> void cyg_drv_cond_init( cyg_drv_cond *cond, cyg_drv_mutex *mutex )
-             </PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> - condition variable to initialize</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> - mutex to associate with this condition variable</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread </P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Initialize the condition variable pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> argument.  The
-      <TT
-CLASS="PARAMETER"
-><I
->mutex</I
-></TT
-> argument must point to a mutex with
-      which this condition variable is associated. A thread may only
-      wait on this condition variable when it has already locked the
-      associated mutex. Waiting will cause the mutex to be unlocked,
-      and when the thread is reawakened, it will automatically claim
-      the mutex before continuing. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11813">cyg_drv_cond_destroy</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> void cyg_drv_cond_destroy( cyg_drv_cond *cond )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> - condition variable to destroy</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Destroy the condition variable pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> argument. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11838">cyg_drv_cond_wait</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_cond_wait( cyg_drv_cond *cond )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> - condition variable to wait on</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Wait for a signal on the condition variable pointed to by
-      the <TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> argument. The thread must have
-      locked the associated mutex, supplied in
-      <TT
-CLASS="FUNCTION"
->cyg_drv_cond_init()</TT
->, before waiting on this
-      condition variable. While the thread waits, the mutex will be
-      unlocked, and will be re-locked before this function returns. It
-      is possible for threads waiting on a condition variable to
-      occasionally wake up spuriously. For this reason it is necessary
-      to use this function in a loop that re-tests the condition each
-      time it returns. Note that this function performs an implicit
-      scheduler unlock/relock sequence, so that it may be used within
-      an explicit
-      <TT
-CLASS="LITERAL"
->cyg_drv_dsr_lock()...cyg_drv_dsr_unlock()</TT
->
-      structure.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11865">cyg_drv_cond_signal</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_cond_signal( cyg_drv_cond *cond )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> - condition variable to signal</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->DSR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Signal the condition variable pointed to by the <TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
->
-      argument.  If there are any threads waiting on this variable at
-      least one of them will be awakened. Note that in some
-      configurations there may not be any difference between this
-      function and <TT
-CLASS="FUNCTION"
->cyg_drv_cond_broadcast()</TT
->.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11891">cyg_drv_cond_broadcast</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_cond_broadcast( cyg_drv_cond *cond )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> - condition variable to broadcast to</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->DSR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Signal the condition variable pointed to by the
-      <TT
-CLASS="PARAMETER"
-><I
->cond</I
-></TT
-> argument.  If there are any threads
-      waiting on this variable they will all be awakened. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11916">cyg_drv_interrupt_create</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_create( cyg_vector_t vector,
-                               cyg_priority_t priority,
-                               cyg_addrword_t data,
-                               cyg_ISR_t *isr,
-                               cyg_DSR_t *dsr,
-                               cyg_handle_t *handle,
-                               cyg_interrupt *intr
-                             )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to attach to</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->priority</I
-></TT
-> - queuing priority</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> - data pointer</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->isr</I
-></TT
-> - interrupt service routine</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->dsr</I
-></TT
-> - deferred service routine</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
-> - returned handle</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->intr</I
-></TT
-> - put interrupt object here</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Create an interrupt object and returns a handle to it. The
-      object contains information about which interrupt vector to use
-      and the ISR and DSR that will be called after the interrupt
-      object is attached to the vector. The interrupt object will be
-      allocated in the memory passed in the
-      <TT
-CLASS="PARAMETER"
-><I
->intr</I
-></TT
-> parameter. The interrupt object is
-      not immediately attached; it must be attached with the
-      <TT
-CLASS="FUNCTION"
->cyg_interrupt_attach()</TT
-> call. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11954">cyg_drv_interrupt_delete</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> void cyg_drv_interrupt_delete( cyg_handle_t interrupt )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->interrupt</I
-></TT
-> - interrupt to delete</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->Thread</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Detach the interrupt from the vector and free the memory
-      passed in the <TT
-CLASS="PARAMETER"
-><I
->intr</I
-></TT
-> argument to
-      <TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_create()</TT
-> for
-      reuse. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11980">cyg_drv_interrupt_attach</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_attach( cyg_handle_t interrupt )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->interrupt</I
-></TT
-> - interrupt to attach</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Attach the interrupt to the vector so that interrupts will
-      be delivered to the ISR when the interrupt occurs. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12004">cyg_drv_interrupt_detach</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_detach( cyg_handle_t interrupt )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->interrupt</I
-></TT
-> - interrupt to detach</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Detach the interrupt from the vector so that interrupts
-      will no longer be delivered to the ISR. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12028">cyg_drv_interrupt_mask</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_mask(cyg_vector_t vector )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to mask</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Program the interrupt controller to stop delivery of
-      interrupts on the given vector. On architectures which implement
-      interrupt priority levels this may also disable all lower
-      priority interrupts. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12052">cyg_drv_interrupt_mask_intunsafe</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_mask_intunsafe(cyg_vector_t vector )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to mask</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Program the interrupt controller to stop delivery of
-      interrupts on the given vector. On architectures which implement
-      interrupt priority levels this may also disable all lower
-      priority interrupts. This version differs from
-      <TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_mask()</TT
-> in not being
-      interrupt safe. So in situations where, for example, interrupts
-      are already known to be disabled, this may be called to avoid
-      the extra overhead.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12077">cyg_drv_interrupt_unmask</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_unmask(cyg_vector_t vector )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to unmask</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Program the interrupt controller to re-allow delivery of
-      interrupts on the given <TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
->. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12102">cyg_drv_interrupt_unmask_intunsafe</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_unmask_intunsafe(cyg_vector_t vector )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to unmask</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Program the interrupt controller to re-allow delivery of
-      interrupts on the given <TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
->. This
-      version differs from
-      <TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_unmask()</TT
-> in not being
-      interrupt safe.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12128">cyg_drv_interrupt_acknowledge</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_acknowledge( cyg_vector_t vector )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to acknowledge</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Perform any processing required at the interrupt
-      controller and in the CPU to cancel the current interrupt
-      request on the <TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
->. An ISR may also
-      need to program the hardware of the device to prevent an
-      immediate re-triggering of the interrupt. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12153">cyg_drv_interrupt_configure</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_configure( cyg_vector_t vector,
-                                  cyg_bool_t level, 
-                                  cyg_bool_t up
-                                )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to configure</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->level</I
-></TT
-> - level or edge triggered</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->up</I
-></TT
-> - rising/falling edge, high/low level</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Program the interrupt controller with the characteristics
-      of the interrupt source. The <TT
-CLASS="PARAMETER"
-><I
->level</I
-></TT
->
-      argument chooses between level- or edge-triggered
-      interrupts. The <TT
-CLASS="PARAMETER"
-><I
->up</I
-></TT
-> argument chooses
-      between high and low level for level triggered interrupts or
-      rising and falling edges for edge triggered interrupts. This
-      function only works with interrupt controllers that can control
-      these parameters. </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12183">cyg_drv_interrupt_level</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_level( cyg_vector_t vector,
-                              cyg_priority_t level
-                            )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector to configure</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->level</I
-></TT
-> - level to set</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None </P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Program the interrupt controller to deliver the given
-       interrupt at the supplied priority level. This function only
-       works with interrupt controllers that can control this
-       parameter.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12209">cyg_drv_interrupt_set_cpu</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_drv_interrupt_set_cpu( cyg_vector_t vector,
-                                cyg_cpu_t cpu
-                              )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - interrupt vector to route</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->cpu</I
-></TT
-> - destination CPU</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      This function causes all interrupts on the given vector to be
-      routed to the specified CPU. Subsequently, all such interrupts
-      will be handled by that CPU. This only works if the underlying
-      hardware is capable of performing this kind of routing. This
-      function does nothing on a single CPU system.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12235">cyg_drv_interrupt_get_cpu</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Function:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_cpu_t cyg_drv_interrupt_set_cpu( cyg_vector_t vector )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Arguments:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - interrupt vector to query</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->The CPU to which this vector is routed</P
-></DD
-><DT
->Level:</DT
-><DD
-><P
->ISR</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->      In multi-processor systems this function returns the id of the
-      CPU to which interrupts on the given vector are current being
-      delivered. In single CPU systems this function returns zero.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12259">cyg_ISR_t</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Type:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef cyg_uint32 cyg_ISR_t( cyg_vector_t vector,
-                              cyg_addrword_t data
-                            )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Fields:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector being delivered</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> - data value supplied by client</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->Bit mask indicating whether interrupt was handled and
-      whether the DSR should be called. </P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Interrupt Service Routine definition. A pointer to a
-      function with this prototype is passed to
-      <TT
-CLASS="FUNCTION"
->cyg_interrupt_create()</TT
-> when an interrupt
-      object is created. When an interrupt is delivered the function
-      will be called with the vector number and the data value that
-      was passed to <TT
-CLASS="FUNCTION"
->cyg_interrupt_create()</TT
->.
-      </P
-><P
->The return value is a bit mask containing one or both of the
-      following bits: </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->CYG_ISR_HANDLED</DT
-><DD
-><P
->indicates that the interrupt was handled by this
-           ISR. It is a configuration option whether this will
-           prevent further ISR being run. </P
-></DD
-><DT
->CYG_ISR_CALL_DSR</DT
-><DD
-><P
->causes the DSR that was passed to
-           <TT
-CLASS="FUNCTION"
->cyg_interrupt_create()</TT
-> to be
-           scheduled to be called.</P
-></DD
-></DL
-></DIV
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN12294">cyg_DSR_t</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Type:</DT
-><DD
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef void cyg_DSR_t( cyg_vector_t vector,
-                        cyg_ucount32 count,
-                        cyg_addrword_t data
-                      )</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
->Fields:</DT
-><DD
-><P
-><TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> - vector being delivered</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->count</I
-></TT
-> - number of times DSR has been scheduled</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> - data value supplied by client</P
-></DD
-><DT
->Result:</DT
-><DD
-><P
->None</P
-></DD
-><DT
->Description:</DT
-><DD
-><P
->Deferred Service Routine prototype. A pointer to a
-      function with this prototype is passed to
-      <TT
-CLASS="FUNCTION"
->cyg_interrupt_create()</TT
-> when an interrupt
-      object is created. When the ISR requests the scheduling of its
-      DSR, this function will be called at some later point. In
-      addition to the <TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> and
-      <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> arguments, which will be the same as
-      those passed to the ISR, this routine is also passed a
-      <TT
-CLASS="PARAMETER"
-><I
->count</I
-></TT
-> of the number of times the ISR has
-      requested that this DSR be scheduled.  This counter is zeroed
-      each time the DSR actually runs, so it indicates how many
-      interrupts have occurred since it last ran.</P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devapi-synchronization-levels.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synchronization Levels</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->File System Support Infrastructure</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devapi-device-driver-interface-to-the-kernel.html b/doc/html/ref/devapi-device-driver-interface-to-the-kernel.html
deleted file mode 100644 (file)
index ac08163..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Device Driver Interface to the Kernel</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"><LINK
-REL="PREVIOUS"
-TITLE="Serial testing with ser_filter"
-HREF="io-serial-testing-with-serfilter.html"><LINK
-REL="NEXT"
-TITLE="Synchronization"
-HREF="devapi-synchronization.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-serial-testing-with-serfilter.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devapi-synchronization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="DEVAPI-DEVICE-DRIVER-INTERFACE-TO-THE-KERNEL">Chapter 18. Device Driver Interface to the Kernel</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html#DEVAPI-INTERRUPT-MODEL"
->Interrupt Model</A
-></DT
-><DT
-><A
-HREF="devapi-synchronization.html"
->Synchronization</A
-></DT
-><DT
-><A
-HREF="devapi-smp-support.html"
->SMP Support</A
-></DT
-><DT
-><A
-HREF="devapi-device-driver-models.html"
->Device Driver Models</A
-></DT
-><DT
-><A
-HREF="devapi-synchronization-levels.html"
->Synchronization Levels</A
-></DT
-><DT
-><A
-HREF="devapi-api.html"
->The API</A
-></DT
-></DL
-></DIV
-><P
->This chapter describes the API that device drivers may use
-to interact with the kernel and HAL. It is primarily concerned with
-the control and management of interrupts and the synchronization of
-ISRs, DSRs and threads.</P
-><P
->The same API will be present in configurations where the kernel
-is not present. In this case the functions will be supplied by code
-acting directly on the HAL.</P
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="DEVAPI-INTERRUPT-MODEL">Interrupt Model</H1
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> presents a three level interrupt model to
-device drivers. This consists of Interrupt Service Routines (ISRs) that are invoked
-in response to a hardware interrupt; Deferred
-Service Routines (DSRs) that are invoked in response to a request by
-an ISR; and threads that are the clients of the driver. </P
-><P
->Hardware interrupts are delivered with minimal intervention to an
-ISR. The HAL decodes the hardware source of the interrupt and calls
-the ISR of the attached interrupt object. This ISR may manipulate the
-hardware but is only allowed to make a restricted set of calls on the
-driver API. When it returns, an ISR may request that its DSR should be
-scheduled to run.</P
-><P
->A DSR will be run when it is safe to do so without interfering with
-the scheduler. Most of the time the DSR will run immediately after the
-ISR, but if the current thread is in the scheduler, it will be delayed
-until the thread is finished. A DSR is allowed to make a larger set of
-driver API calls, including, in particular, being able to call
-<TT
-CLASS="FUNCTION"
->cyg_drv_cond_signal()</TT
-> to wake up waiting
-threads.</P
-><P
->Finally, threads are able to make all API calls and in particular are
-allowed to wait on mutexes and condition variables. </P
-><P
->For a device driver to receive interrupts it must first define ISR and
-DSR routines as shown below, and then call
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_create()</TT
->.  Using the handle
-returned, the driver must then call
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_attach()</TT
-> to actually attach the
-interrupt to the hardware vector.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-serial-testing-with-serfilter.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devapi-synchronization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Serial testing with ser_filter</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synchronization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devapi-device-driver-models.html b/doc/html/ref/devapi-device-driver-models.html
deleted file mode 100644 (file)
index d4ec05b..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Device Driver Models</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="SMP Support"
-HREF="devapi-smp-support.html"><LINK
-REL="NEXT"
-TITLE="Synchronization Levels"
-HREF="devapi-synchronization-levels.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devapi-smp-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 18. Device Driver Interface to the Kernel</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devapi-synchronization-levels.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="DEVAPI-DEVICE-DRIVER-MODELS">Device Driver Models</H1
-><P
->There are several ways in which device drivers
-may be built. The exact model chosen will depend on the properties of
-the device and the behavior desired. There are three basic models that
-may be adopted.</P
-><P
->The first model is to do all device processing in the ISR.  When it is
-invoked the ISR programs the device hardware directly and accesses
-data to be transferred directly in memory. The ISR should also call
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_acknowledge()</TT
->.  When it is
-finished it may optionally request that its DSR be invoked.  The DSR
-does nothing but call <TT
-CLASS="FUNCTION"
->cyg_drv_cond_signal()</TT
-> to
-cause a thread to be woken up. Thread level code must call
-<TT
-CLASS="FUNCTION"
->cyg_drv_isr_lock()</TT
->, or
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_mask()</TT
-> to prevent ISRs running
-while it manipulates shared memory.</P
-><P
->The second model is to defer device processing to the DSR.  The ISR
-simply prevents further delivery of interrupts by either programming
-the device, or by calling
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_mask()</TT
->.  It must then call
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_acknowledge()</TT
-> to allow other
-interrupts to be delivered and then request that its DSR be
-called. When the DSR runs it does the majority of the device handling,
-optionally signals a condition variable to wake a thread, and finishes
-by calling <TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_unmask()</TT
-> to re-allow
-device interrupts. Thread level code uses
-<TT
-CLASS="FUNCTION"
->cyg_drv_dsr_lock()</TT
-> to prevent DSRs running while
-it manipulates shared memory.  The eCos serial device drivers use this
-approach.</P
-><P
->The third model is to defer device processing even further to a
-thread. The ISR behaves exactly as in the previous model and simply
-blocks and acknowledges the interrupt before request that the DSR
-run. The DSR itself only calls
-<TT
-CLASS="FUNCTION"
->cyg_drv_cond_signal()</TT
-> to wake the thread. When
-the thread awakens it performs all device processing, and has full
-access to all kernel facilities while it does so. It should finish by
-calling <TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_unmask()</TT
-> to re-allow
-device interrupts.  The eCos ethernet device drivers are written to
-this model.</P
-><P
->The first model is good for devices that need immediate processing and
-interact infrequently with thread level. The second model trades a
-little latency in dealing with the device for a less intrusive
-synchronization mechanism. The last model allows device processing to
-be scheduled with other threads and permits more complex device
-handling.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devapi-smp-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devapi-synchronization-levels.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SMP Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synchronization Levels</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devapi-smp-support.html b/doc/html/ref/devapi-smp-support.html
deleted file mode 100644 (file)
index e58caab..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SMP Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Synchronization"
-HREF="devapi-synchronization.html"><LINK
-REL="NEXT"
-TITLE="Device Driver Models"
-HREF="devapi-device-driver-models.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devapi-synchronization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 18. Device Driver Interface to the Kernel</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devapi-device-driver-models.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="DEVAPI-SMP-SUPPORT">SMP Support</H1
-><P
->Some eCos targets contain support for Symmetric Multi-Processing (SMP)
-configurations, where more than one CPU may be present. This option
-has a number of ramifications for the way in which device drivers must
-be written if they are to be SMP-compatible. </P
-><P
->Since it is possible for the ISR, DSR and thread components of a
-device driver to execute on different CPUs, it is important that
-SMP-compatible device drivers use the driver API routines correctly.</P
-><P
->Synchronization between threads and DSRs continues to require that the
-thread-side code use <TT
-CLASS="FUNCTION"
->cyg_drv_dsr_lock()</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_drv_dsr_unlock()</TT
-> to protect access to shared
-data. While it is not strictly necessary for DSR code to claim the DSR
-lock, since DSRs are run with it claimed already, it is good practice
-to do so.</P
-><P
->Synchronization between ISRs and DSRs or threads requires that access
-to sensitive data be protected, in all places, by calls to
-<TT
-CLASS="FUNCTION"
->cyg_drv_isr_lock()</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_drv_isr_unlock()</TT
->. Disabling or masking
-interrupts is not adequate, since the thread or DSR may be running on
-a different CPU and interrupt enable/disable only work on the current
-CPU.</P
-><P
->The ISR lock, for SMP systems, not only disables local interrupts, but
-also acquires a spinlock to protect against concurrent access from
-other CPUs. This is necessary because ISRs are not run with the
-scheduler lock claimed. Hence they can run in parallel with the other
-components of the device driver.</P
-><P
->The ISR lock provided by the driver API is just a shared spinlock that
-is available for use by all drivers. If a driver needs to implement a
-finer grain of locking, it can use private spinlocks, accessed via the
-<TT
-CLASS="FUNCTION"
->cyg_drv_spinlock_*()</TT
-> functions.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devapi-synchronization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-models.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synchronization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Device Driver Models</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devapi-synchronization-levels.html b/doc/html/ref/devapi-synchronization-levels.html
deleted file mode 100644 (file)
index a3627d1..0000000
+++ /dev/null
@@ -1,239 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synchronization Levels</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Device Driver Models"
-HREF="devapi-device-driver-models.html"><LINK
-REL="NEXT"
-TITLE="The API"
-HREF="devapi-api.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devapi-device-driver-models.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 18. Device Driver Interface to the Kernel</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devapi-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="DEVAPI-SYNCHRONIZATION-LEVELS">Synchronization Levels</H1
-><P
->Since it would be dangerous for an ISR or DSR to make a call
-that might reschedule the current thread (by trying to lock a mutex
-for example) all functions in this API have an associated synchronization
-level. These levels are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Thread</DT
-><DD
-><P
->      This function may only be called from within threads. This is
-      usually the client code that makes calls into the device driver.
-      In a non-kernel configuration, this will be code running at the
-      default non-interrupt level.
-      </P
-></DD
-><DT
->DSR</DT
-><DD
-><P
->      This function may be called by either DSR or thread code.
-      </P
-></DD
-><DT
->ISR</DT
-><DD
-><P
->      This function may be called from ISR, DSR or thread code.
-      </P
-></DD
-></DL
-></DIV
-><P
->The following table shows, for each API function, the levels
-at which is may be called:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->                                  Callable from:
-Function                       ISR     DSR    Thread
--------------------------------------------------------------------------
-
-cyg_drv_isr_lock                X       X       X
-cyg_drv_isr_unlock              X       X       X
-cyg_drv_spinlock_init                           X
-cyg_drv_spinlock_destroy                        X
-cyg_drv_spinlock_spin           X       X       X
-cyg_drv_spinlock_clear          X       X       X
-cyg_drv_spinlock_try            X       X       X
-cyg_drv_spinlock_test           X       X       X
-cyg_drv_spinlock_spin_intsave   X       X       X
-cyg_drv_spinlock_clear_intsave  X       X       X
-cyg_drv_dsr_lock                        X       X
-cyg_drv_dsr_unlock                      X       X
-cyg_drv_mutex_init                              X
-cyg_drv_mutex_destroy                           X
-cyg_drv_mutex_lock                              X
-cyg_drv_mutex_trylock                           X
-cyg_drv_mutex_unlock                            X
-cyg_drv_mutex_release                           X
-cyg_drv_cond_init                               X
-cyg_drv_cond_destroy                            X
-cyg_drv_cond_wait                               X
-cyg_drv_cond_signal                     X       X
-cyg_drv_cond_broadcast                  X       X
-cyg_drv_interrupt_create                        X
-cyg_drv_interrupt_delete                        X
-cyg_drv_interrupt_attach        X       X       X
-cyg_drv_interrupt_detach        X       X       X
-cyg_drv_interrupt_mask          X       X       X
-cyg_drv_interrupt_unmask        X       X       X
-cyg_drv_interrupt_acknowledge   X       X       X
-cyg_drv_interrupt_configure     X       X       X
-cyg_drv_interrupt_level         X       X       X
-cyg_drv_interrupt_set_cpu       X       X       X
-cyg_drv_interrupt_get_cpu       X       X       X&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-models.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devapi-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Device Driver Models</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The API</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devapi-synchronization.html b/doc/html/ref/devapi-synchronization.html
deleted file mode 100644 (file)
index 3e1fc92..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synchronization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"><LINK
-REL="NEXT"
-TITLE="SMP Support"
-HREF="devapi-smp-support.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 18. Device Driver Interface to the Kernel</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devapi-smp-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="DEVAPI-SYNCHRONIZATION">Synchronization</H1
-><P
->There are three levels of synchronization supported:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->    Synchronization with ISRs. This normally means disabling
-    interrupts to prevent the ISR running during a critical
-    section. In an SMP environment, this will also require the use of
-    a spinlock to synchronize with ISRs, DSRs or threads running on
-    other CPUs.  This is implemented by the
-    <TT
-CLASS="FUNCTION"
->cyg_drv_isr_lock()</TT
-> and
-    <TT
-CLASS="FUNCTION"
->cyg_drv_isr_unlock()</TT
-> functions. This
-    mechanism should be used sparingly and for short periods only.
-    For finer grained synchronization, individual spinlocks are also
-    supplied.
-    </P
-></LI
-><LI
-><P
->    Synchronization with DSRs. This will be implemented in the kernel
-    by taking the scheduler lock to prevent DSRs running during
-    critical sections. In non-kernel configurations it will be
-    implemented by non-kernel code. This is implemented by the
-    <TT
-CLASS="FUNCTION"
->cyg_drv_dsr_lock()</TT
-> and
-    <TT
-CLASS="FUNCTION"
->cyg_drv_dsr_unlock()</TT
-> functions. As with ISR
-    synchronization, this mechanism should be used sparingly. Only
-    DSRs and threads may use this synchronization mechanism, ISRs are
-    not allowed to do this.
-    </P
-></LI
-><LI
-><P
->    Synchronization with threads. This is implemented with mutexes
-    and condition variables. Only threads may lock the mutexes and
-    wait on the condition variables, although DSRs may signal
-    condition variables.
-    </P
-></LI
-></OL
-><P
->Any data that is accessed from more than one level must be protected
-against concurrent access. Data that is accessed by ISRs must be
-protected with the ISR lock, or a spinlock at all times,
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->even in ISRs</I
-></SPAN
->. Data that is shared between DSRs
-and threads should be protected with the DSR lock. Data that is only
-accessed by threads must be protected with mutexes.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devapi-smp-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Device Driver Interface to the Kernel</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SMP Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-eth-synth-ecosynth-ref.html b/doc/html/ref/devs-eth-synth-ecosynth-ref.html
deleted file mode 100644 (file)
index 2772057..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synthetic Target Ethernet Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="NEC uPD985xx USB Device Driver"
-HREF="devs-usb-nec-upd985xx.html"><LINK
-REL="NEXT"
-TITLE="Synthetic Target Ethernet Driver"
-HREF="devs-eth-synth-ecosynth.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-usb-nec-upd985xx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-eth-synth-ecosynth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="DEVS-ETH-SYNTH-ECOSYNTH-REF"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXVII. Synthetic Target Ethernet Driver</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="devs-eth-synth-ecosynth.html"
->Synthetic Target Ethernet Driver</A
->&nbsp;--&nbsp;Allow synthetic target applications to perform ethernet I/O</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-usb-nec-upd985xx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-eth-synth-ecosynth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->NEC uPD985xx USB Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synthetic Target Ethernet Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-eth-synth-ecosynth.html b/doc/html/ref/devs-eth-synth-ecosynth.html
deleted file mode 100644 (file)
index 52c68ce..0000000
+++ /dev/null
@@ -1,1045 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synthetic Target Ethernet Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Synthetic Target Ethernet Driver"
-HREF="devs-eth-synth-ecosynth-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Synthetic Target Ethernet Driver"
-HREF="devs-eth-synth-ecosynth-ref.html"><LINK
-REL="NEXT"
-TITLE="Synthetic Target Watchdog Device"
-HREF="devs-watchdog-synth-ref.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-eth-synth-ecosynth-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-watchdog-synth-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DEVS-ETH-SYNTH-ECOSYNTH">Synthetic Target Ethernet Driver</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18897"
-></A
-><H2
->Name</H2
->Synthetic Target Ethernet Support&nbsp;--&nbsp;Allow synthetic target applications to perform ethernet I/O</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18900"
-></A
-><H2
->Overview</H2
-><P
->The synthetic target ethernet package can provide up to four network
-devices, <TT
-CLASS="VARNAME"
->eth0</TT
-> to <TT
-CLASS="VARNAME"
->eth3</TT
->. These can
-be used directly by the eCos application or, more commonly, by a
-TCP/IP stack that is linked with the eCos application. Each eCos
-device can be mapped on to a real Linux network device. For example,
-if the Linux PC has two ethernet cards and <TT
-CLASS="VARNAME"
->eth1</TT
-> is
-not currently being used by Linux itself, then one of the eCos devices
-can be mapped on to this Linux device. Alternatively, it is possible
-to map some or all of the eCos devices on to the ethertap support
-provided by the Linux kernel.
-    </P
-><P
->The ethernet package depends on the I/O auxiliary provided by the
-synthetic target architectural HAL package. During initialization the
-eCos application will attempt to instantiate the desired devices, by
-sending a request to the auxiliary. This will load a Tcl script
-<TT
-CLASS="FILENAME"
->ethernet.tcl</TT
-> that is responsible for handling the
-instantiation request and subsequent I/O operations, for example
-transmitting an ethernet packet. However, some of the low-level I/O
-operations cannot conveniently be done by a Tcl script so
-<TT
-CLASS="FILENAME"
->ethernet.tcl</TT
-> will actually run a separate program
-<B
-CLASS="COMMAND"
->rawether</B
-> to interact with the Linux network device. 
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18910"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="overview.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->On the target-side there are configuration options to control which
-network devices should be present. For many applications a single
-device will be sufficient, but if the final eCos application is
-something like a network bridge then the package can support multiple
-devices. On the host-side each eCos network device needs to be mapped
-on to a Linux one, either a real ethernet device or an ethertap
-device. This is handled by an entry in the target definition file:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    eth0 real eth1
-    eth1 ethertap tap3 00:01:02:03:FE:05
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The ethernet package also comes with support for packet logging,
-and provides various facilities for use by user Tcl scripts.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-INSTALL"
-></A
-><H2
->Installation</H2
-><P
->Before a synthetic target eCos application can access ethernet devices
-it is necessary to build and install host-side support. The relevant
-code resides in the <TT
-CLASS="FILENAME"
->host</TT
->
-subdirectory of the synthetic target ethernet package, and building it
-involves the standard <B
-CLASS="COMMAND"
->configure</B
->,
-<B
-CLASS="COMMAND"
->make</B
-> and <B
-CLASS="COMMAND"
->make install</B
-> steps.
-The build involves a new executable <B
-CLASS="COMMAND"
->rawether</B
-> which
-must be able to access a raw Linux network device. This is achieved by
-installing it suid root, so the <B
-CLASS="COMMAND"
->make install</B
-> step
-has to be run with superuser privileges.
-    </P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Installing <B
-CLASS="COMMAND"
->rawether</B
-> suid root introduces a
-potential security problem. Although normally
-<B
-CLASS="COMMAND"
->rawether</B
-> is executed only by the I/O auxiliary,
-theoretically it can be run by any program. Effectively it gives any
-user the ability to monitor all ethernet traffic and to inject
-arbitrary packets into the network. Also, as with any suid root
-programs there may be as yet undiscovered exploits. Users and system
-administrators should consider the risks before running <B
-CLASS="COMMAND"
->make
-install</B
->. 
-    </P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->There are two main ways of building the host-side software. It is
-possible to build both the generic host-side software and all
-package-specific host-side software, including the ethernet support,
-in a single build tree. This involves using the
-<B
-CLASS="COMMAND"
->configure</B
-> script at the toplevel of the eCos
-repository. For more information on this, see the
-<TT
-CLASS="FILENAME"
->README.host</TT
-> file at the top of the repository.
-Note that if you have an existing build tree which does not include
-the synthetic target ethernet support then it will be necessary to
-rerun the toplevel configure script: the search for appropriate
-packages happens at configure time.
-    </P
-><P
->The alternative is to build just the host-side for this package.
-This requires a separate build directory, building directly in the
-source tree is disallowed. The <B
-CLASS="COMMAND"
->configure</B
-> options
-are much the same as for a build from the toplevel, and the
-<TT
-CLASS="FILENAME"
->README.host</TT
-> file can be consulted for more
-details. It is essential that the ethernet support be configured with
-the same <TT
-CLASS="OPTION"
->--prefix</TT
-> option as other eCos host-side
-software, especially the I/O auxiliary provided by the architectural
-synthetic target HAL package, otherwise the I/O auxiliary will be
-unable to locate the ethernet support.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-OPTIONS"
-></A
-><H2
->Target-side Configuration Options</H2
-><P
->The target-side code can be configured to support up to four ethernet
-devices, <TT
-CLASS="VARNAME"
->eth0</TT
-> to <TT
-CLASS="VARNAME"
->eth3</TT
->. By
-default <TT
-CLASS="VARNAME"
->eth0</TT
-> is enabled if the configuration
-includes a TCP/IP stack, otherwise it is disabled. The other three
-devices are always disabled by default. If any of the devices are
-enabled then there will also be the usual configuration options
-related to building this package. Other options related to network
-devices, for example whether or not to use DHCP, are provided by
-the generic network device package.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-REAL"
-></A
-><H2
->Real Ethernet</H2
-><P
->One obvious way of providing a synthetic target eCos application with
-ethernet I/O is to use a real ethernet device in the PC: transmitted
-packets go out on a real network, and packets on the network addressed
-to the right MAC address are passed on to eCos. This way synthetic
-target networking behaves just like networking on a real target with
-ethernet hardware. For example, if there is a DHCP server anywhere on
-the network then eCos will be able to contact it during networking
-startup and get hold of IP address information.
-    </P
-><P
->Configuring the ethernet support to use a real ethernet device
-requires a simple entry in the target definition file:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    &lt;eCos device&gt; real &lt;linux device&gt;
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->For example, to map the eCos network device <TT
-CLASS="VARNAME"
->eth0</TT
-> to
-the Linux device <TT
-CLASS="VARNAME"
->eth1</TT
->:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    eth0 real eth1
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->It is not possible for an ethernet device to be shared by both the
-eCos TCP/IP stack and the Linux one: there would be no simple way to
-work out which stack incoming packets are intended for. In theory
-it might be possible to do some demultiplexing using distinct IP
-addresses, but it would be impossible to support some functionality
-such as DHCP. Therefore the <B
-CLASS="COMMAND"
->rawether</B
-> program will
-refuse to access any ethernet device already in use. On a typical
-Linux system <TT
-CLASS="VARNAME"
->eth0</TT
-> will be used for Linux
-networking, and the PC will have to be equipped with additional
-ethernet devices for use by eCos.
-    </P
-><P
->The <B
-CLASS="COMMAND"
->rawether</B
-> program will access the hardware via
-the appropriate Linux device driver, so it is important that the
-system is set up such that the relevant module will be automatically
-loaded or is already loaded. The details of this will depend on the
-installed distribution and version, but typically it will involve an
-entry in <TT
-CLASS="FILENAME"
->/etc/modules.conf</TT
->.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-ETHERTAP"
-></A
-><H2
->Ethertap</H2
-><P
->The Linux kernel's ethertap facility provides a virtual network
-interface. A Linux application, for example the
-<B
-CLASS="COMMAND"
->rawether</B
-> program, can open a special character
-device <TT
-CLASS="FILENAME"
->/dev/net/tun</TT
->, perform various
-<TT
-CLASS="FUNCTION"
->ioctl</TT
-> calls, and then <TT
-CLASS="FILENAME"
->write</TT
->
-and <TT
-CLASS="FILENAME"
->read</TT
-> ethernet packets. When the device is
-opened the Linux kernel automatically creates a new network interface,
-for example <TT
-CLASS="VARNAME"
->tap0</TT
->. The Linux TCP/IP stack can be
-made to use this network interface like any other interface, receiving
-and transmitting ethernet packets. The net effect is a virtual network
-connecting just the Linux and eCos TCP/IP stacks, with no other nodes
-attached. By default all traffic remains inside this virtual network
-and is never forwarded to a real network.
-    </P
-><P
->Support for the ethertap facility may or may not be provided
-automatically, depending on your Linux distribution and version. If
-your system does not have a device <TT
-CLASS="FILENAME"
->/dev/net/tun</TT
->
-or a module <TT
-CLASS="FILENAME"
->tun.o</TT
-> then the appropriate kernel
-documentation should be consulted, for example
-<TT
-CLASS="FILENAME"
->/usr/src/linux-2.4/Documentation/networking/tuntap.txt</TT
->.
-If you are using an old Linux kernel then the ethertap functionality
-may be missing completely. When the <B
-CLASS="COMMAND"
->rawether</B
->
-program is configured and built, the <B
-CLASS="COMMAND"
->configure</B
->
-script will check for a file <TT
-CLASS="FILENAME"
->/usr/include/linux/if_tun.h</TT
->. If that
-file is missing then <B
-CLASS="COMMAND"
->rawether</B
-> will be built without
-ethertap functionality, and only real ethernet interfaces will be
-supported.
-    </P
-><P
->The target definition file is used to map eCos network devices on to
-ethertap devices. The simplest usage is:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    eth0 ethertap
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The Linux kernel will automatically allocate the next available tap
-network interface. Usually this will be <TT
-CLASS="VARNAME"
->tap0</TT
-> but if
-other software is using the ethertap facility, for example to
-implement a VPN, then a different number may be allocated. Usually it
-will be better to specify the particular tap device that should be
-used for each eCos device, for example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    eth0 ethertap tap3
-    eth1 ethertap tap4
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The user now knows exactly which eCos device is mapped onto which
-Linux device, avoiding much potential confusion. Because the virtual
-devices are emulated ethernet devices, they require MAC addresses.
-There is no physical hardware to provide these addresses, so normally
-MAC addresses will be invented. That means that each time the eCos
-application is run it will have different MAC addresses, which makes
-it more difficult to compare the results of different runs. To get
-more deterministic behaviour it is possible to specify the MAC
-addresses in the target definition file:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    eth0 ethertap tap3 00:01:02:03:FE:05
-    eth1 ethertap tap4 00:01:02:03:FE:06
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->During the initialization phase the eCos application will instantiate
-the various network devices. This will cause the I/O auxiliary to load
-the <TT
-CLASS="FILENAME"
->ethernet.tcl</TT
-> script and spawn
-<B
-CLASS="COMMAND"
->rawether</B
-> processes, which in turn will
-<TT
-CLASS="FUNCTION"
->open</TT
-> <TT
-CLASS="FILENAME"
->/dev/net/tun</TT
-> and
-perform the appropriate <TT
-CLASS="FILENAME"
->ioctl</TT
-> calls. On the Linux
-side there will now be new network interfaces such as
-<TT
-CLASS="VARNAME"
->tap3</TT
->, and these can be configured like any other
-network interface using commands such as <B
-CLASS="COMMAND"
->ifconfig</B
->.
-In addition, if the Linux system is set up with hotplug support then
-it may be possible to arrange for the network interface to become
-active automatically. On a Red Hat Linux system this would require
-files such as
-<TT
-CLASS="FILENAME"
->/etc/sysconfig/network-scripts/ifcfg-tap3</TT
->,
-containing data like:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->DEVICE="tap3"
-BOOTPROTO="none"
-BROADCAST=10.2.2.255
-IPADDR="10.2.2.1"
-NETMASK="255.255.255.0"
-NETWORK=10.2.2.0
-ONBOOT="no"</PRE
-></TD
-></TR
-></TABLE
-><P
->This gives the Linux interface the address <TT
-CLASS="LITERAL"
->10.2.2.1</TT
->
-on the network <TT
-CLASS="LITERAL"
->10.2.2.0</TT
->. The eCos network device
-should be configured with a compatible address. One way of doing this
-would be to enable <TT
-CLASS="VARNAME"
->CYGHWR_NET_DRIVER_ETH0_ADDRS</TT
->,
-set <TT
-CLASS="VARNAME"
->CYGHWR_NET_DRIVER_ETH0_ADDRS_IP</TT
-> to
-<TT
-CLASS="LITERAL"
->10.2.2.2</TT
->, and similarly update the
-<TT
-CLASS="VARNAME"
->NETMASK</TT
->, <TT
-CLASS="VARNAME"
->BROADCAST</TT
->,
-<TT
-CLASS="VARNAME"
->GATEWAY</TT
-> and <TT
-CLASS="VARNAME"
->SERVER</TT
-> configuration
-options. 
-    </P
-><P
->It should be noted that the ethertap facility provides a virtual
-network, and any packets transmitted by the eCos application will
-not appear on a real network. Therefore usually there will no
-accessible DHCP server, and eCos cannot use DHCP or BOOTP to obtain IP
-address information. Instead the eCos configuration should use manual
-or static addresses.
-    </P
-><P
->An alternative approach would be to set up the Linux box as a network
-bridge, using commands like <B
-CLASS="COMMAND"
->brctl</B
-> to connect the
-virtual network interface <TT
-CLASS="VARNAME"
->tap3</TT
-> to a physical
-network interface such as <TT
-CLASS="VARNAME"
->eth0</TT
->. Any packets sent by
-the eCos application will get forwarded automatically to the real
-network, and some packets on the real network will get forwarded over
-the virtual network to the eCos application. Note that the eCos
-application might also get some packets that were not intended for it,
-but usually those will just be discarded by the eCos TCP/IP stack. The
-exact details of setting up a network bridge are left as an exercise
-to the reader.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-LOGGING"
-></A
-><H2
->Packet Logging</H2
-><P
->The ethernet support comes with support for logging the various
-packets that are transferred, including a simple protocol analyser.
-This generates simple text output using the filter mechanisms provided
-by the I/O auxiliary, so it is possible to control the appearance and
-visibility of different types of output. For example the user might
-want to see IPv4 headers and all ICMPv4 and ARP operations, but not
-TCP headers or any of the packet data.
-    </P
-><P
->The protocol analyser is not intended to be a fully functional
-analyser with knowledge of many different TCP/IP protocols, advanced
-search facilities, graphical traffic displays, and so on.
-Functionality like that is already provided by other tools such as
-<SPAN
-CLASS="APPLICATION"
->ethereal</SPAN
-> and
-<SPAN
-CLASS="APPLICATION"
->tcpdump</SPAN
->. Achieving similar levels of
-functionality would require a lot of work, for very little gain. It is
-still useful to have some protocol analysis functionality available
-because the output will be interleaved with other output, for example
-<TT
-CLASS="FILENAME"
->printf</TT
-> calls from the application. That may make
-it easier to understand the sequence of events.
-    </P
-><P
->One problem with logging ethernet traffic is that it can involve very
-large amounts of data. If the application is expected to run for a
-long time or is very I/O intensive then it is easy to end up with many
-megabytes. When running in graphical mode all the logging data will be
-held in memory, even data that is not currently visible. At some point
-the system will begin to run low on memory and performance will
-suffer. To avoid problems, the ethernet script maintains a flag that
-controls whether or not packet logging is active. The default is to
-run with logging disabled, but this can be changed in the target
-definition file:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    &#8230;
-    logging 1
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The ethernet script will add a toolbar button that allows this flag to
-be changed at run-time, allowing the user to capture traffic for
-certain periods of time while the application continues running.
-    </P
-><P
->The target definition file can contain the following entries for the
-various packet logging filters:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    &#8230;
-    filter ether  -hide 0 -background LightBlue -foreground "#000080"
-    filter arp    -hide 0 -background LightBlue -foreground "#000050"
-    filter ipv4   -hide 0 -background LightBlue -foreground "#000040"
-    filter ipv6   -hide 1 -background LightBlue -foreground "#000040"
-    filter icmpv4 -hide 0 -background LightBlue -foreground "#000070"
-    filter icmpv6 -hide 1 -background LightBlue -foreground "#000070"
-    filter udp    -hide 0 -background LightBlue -foreground "#000030"
-    filter tcp    -hide 0 -background LightBlue -foreground "#000020"
-    filter hexdata   -hide 1 -background LightBlue -foreground "#000080"
-    filter asciidata -hide 1 -background LightBlue -foreground "#000080"
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->All output will show the eCos network device, for example
-<TT
-CLASS="LITERAL"
->eth0</TT
->, and the direction relative to the eCos
-application. Some of the filters will show packet headers, for example
-<TT
-CLASS="LITERAL"
->ether</TT
-> gives details of the ethernet packet header
-and <TT
-CLASS="LITERAL"
->tcp</TT
-> gives information about TCP headers such as
-whether or not the SYN flag is set. The TCP and UDP filters will also
-show source and destination addresses, using numerical addresses and
-if possible host names. However, host names will only be shown if the
-host appears in <TT
-CLASS="FILENAME"
->/etc/hosts</TT
->: doing full DNS
-lookups while the data is being captured would add significantly to
-complexity and overhead. The <TT
-CLASS="LITERAL"
->hexdata</TT
-> and
-<TT
-CLASS="LITERAL"
->asciidata</TT
-> filters show the remainder of the packets
-after the ethernet, IP and TCP or UDP headers have been stripped.
-    </P
-><P
->Some of the filters will provide raw dumps of some of the packet data.
-Showing up to 1500 bytes of data for each packet would be expensive,
-and often the most interesting information is near the start of the
-packet. Therefore it is possible to set a limit on the number of bytes
-that will be shown using the target definition file. The default limit
-is 64 bytes.
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device ethernet {
-    &#8230;
-    max_show 128
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-GUI"
-></A
-><H2
->User Interface Additions</H2
-><P
->When running in graphical mode the ethernet script extends the user
-interface in two ways: a button is added to the toolbar so that users
-can enable or disable packet logging; and an entry is added to the
-<SPAN
-CLASS="GUIMENU"
->Help</SPAN
-> menu for the ethernet-specific documentation.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-ARGS"
-></A
-><H2
->Command Line Arguments</H2
-><P
->The synthetic target ethernet support does not use any command line
-arguments. All configuration is handled through the target definition
-file. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-HOOKS"
-></A
-><H2
->Hooks</H2
-><P
->The ethernet support defines two hooks that can be used by other
-scripts, especially user scripts: <TT
-CLASS="LITERAL"
->ethernet_tx</TT
-> and
-<TT
-CLASS="LITERAL"
->ethernet_rx</TT
->. The tx hook is called whenever eCos
-tries to transmit a packet. The rx hook is called whenever an incoming
-packet is passed to the eCos application. Note that this may be a
-little bit after the packet was actually received by the I/O auxiliary
-since it can buffer some packets. Both hooks are called with two
-arguments, the name of the network device and the packet being
-transferred. Typical usage might look like:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  proc my_tx_hook { arg_list } {
-    set dev [lindex $arg_list 0]
-    incr ::my_ethernet_tx_packets($dev)
-    incr ::my_ethernet_tx_bytes($dev) [string length [lindex $arg_list 1]]
-  }
-  proc my_rx_hook { arg_list } {
-    set dev [lindex $arg_list 0]
-    incr ::my_ethernet_rx_packets($dev)
-    incr ::my_ethernet_rx_bytes($dev) [string length [lindex $arg_list 1]]
-  }
-  synth::hook_add "ethernet_tx" my_tx_hook
-  synth::hook_add "ethernet_rx" my_rx_hook</PRE
-></TD
-></TR
-></TABLE
-><P
->The global arrays <TT
-CLASS="VARNAME"
->my_ethernet_tx_packets</TT
-> etc. will
-now be updated whenever there is ethernet traffic. Other code,
-probably running at regular intervals by use of the Tcl
-<B
-CLASS="COMMAND"
->after</B
-> procedure, can then use this information to
-update a graphical monitor of some sort.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-ETH-ECOSYNTH-TCL"
-></A
-><H2
->Additional Tcl Procedures</H2
-><P
->The ethernet support provides one additional Tcl procedure that can be
-used by other scripts;
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ethernet::devices_get_list    </PRE
-></TD
-></TR
-></TABLE
-><P
->This procedure returns a list of the ethernet devices that have been
-instantiated, for example <TT
-CLASS="LITERAL"
->{eth0 eth1}</TT
->.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-eth-synth-ecosynth-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-watchdog-synth-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synthetic Target Ethernet Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devs-eth-synth-ecosynth-ref.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synthetic Target Watchdog Device</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-usb-nec-upd985xx-ref.html b/doc/html/ref/devs-usb-nec-upd985xx-ref.html
deleted file mode 100644 (file)
index 56350ec..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->NEC uPD985xx USB Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="SA11X0 USB Device Driver"
-HREF="devs-usb-sa11x0.html"><LINK
-REL="NEXT"
-TITLE="NEC uPD985xx USB Device Driver"
-HREF="devs-usb-nec-upd985xx.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-usb-sa11x0.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-usb-nec-upd985xx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="DEVS-USB-NEC-UPD985XX-REF"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXVI. NEC uPD985xx USB Device Driver</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="devs-usb-nec-upd985xx.html"
->NEC uPD985xx USB Device Driver</A
->&nbsp;--&nbsp;Device driver for the on-chip NEC uPD985xx USB device</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-usb-sa11x0.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-usb-nec-upd985xx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SA11X0 USB Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->NEC uPD985xx USB Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-usb-nec-upd985xx.html b/doc/html/ref/devs-usb-nec-upd985xx.html
deleted file mode 100644 (file)
index 13eef4f..0000000
+++ /dev/null
@@ -1,484 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->NEC uPD985xx USB Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="NEC uPD985xx USB Device Driver"
-HREF="devs-usb-nec-upd985xx-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="NEC uPD985xx USB Device Driver"
-HREF="devs-usb-nec-upd985xx-ref.html"><LINK
-REL="NEXT"
-TITLE="Synthetic Target Ethernet Driver"
-HREF="devs-eth-synth-ecosynth-ref.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-usb-nec-upd985xx-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-eth-synth-ecosynth-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DEVS-USB-NEC-UPD985XX">NEC uPD985xx USB Device Driver</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18819"
-></A
-><H2
->Name</H2
->NEC uPD985xx USB Support&nbsp;--&nbsp;Device driver for the on-chip NEC uPD985xx USB device</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18822"
-></A
-><H2
->NEC uPD985xx USB Hardware</H2
-><P
->The NEC uPD985xx family of processors is supplied with an on-chip USB
-slave device, the UDC (USB Device Controller). This supports seven
-endpoints. Endpoint 0 can only be used for control messages. Endpoints
-1 and 2 are for isochronous transmits and receives respectively.
-Endpoints 3 and 4 support bulk transmits and receives. Endpoints 5 and
-6 normally support interrupt transmits and receives, but endpoint 5 can
-also be configured to support bulk transmits. At this time only the
-control endpoint 0, the bulk endpoints 3 and 4, and the interrupt
-endpoint 5 are supported.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18825"
-></A
-><H2
->Endpoint Data Structures</H2
-><P
->The uPD985xx USB device driver can provide up to four data structures
-corresponding to the four supported endpoints: a
-<SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-> structure
-<TT
-CLASS="VARNAME"
->usbs_upd985xx_ep0</TT
->;
-<SPAN
-CLASS="STRUCTNAME"
->usbs_tx_endpoint</SPAN
-> structures
-<TT
-CLASS="VARNAME"
->usbs_upd985xx_ep3</TT
-> and
-<TT
-CLASS="VARNAME"
->usbs_upd985xx_ep5</TT
->; and a
-<SPAN
-CLASS="STRUCTNAME"
->usbs_rx_endpoint</SPAN
->
-<TT
-CLASS="VARNAME"
->usbs_upd985xx_ep4</TT
->. The header file
-<TT
-CLASS="FILENAME"
->cyg/io/usb/usbs_nec_upd985xx.h</TT
->
-provides declarations for these.</P
-><P
->Not all applications will require support for all the endpoints. For
-example, if the intended use of the UDC only involves peripheral to
-host transfers then <TT
-CLASS="LITERAL"
->usbs_upd985xx_ep4</TT
-> is redundant.
-The device driver provides configuration options to control the
-presence of each endpoint:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Endpoint 0 is controlled by
-<TT
-CLASS="LITERAL"
->CYGFUN_DEVS_USB_UPD985XX_EP0</TT
->. This defaults to
-enabled if there are any higher-level packages that require USB
-hardware or if the global preference
-<TT
-CLASS="LITERAL"
->CYGGLO_IO_USB_SLAVE_APPLICATION</TT
-> is enabled,
-otherwise it is disabled. Usually this has the desired effect. It may
-be necessary to override this in special circumstances, for example if
-the target board uses an external USB chip in preference to the UDC
-and it is that external chip's device driver that should be used
-rather than the on-chip UDC. It is not possible to disable endpoint 0
-and at the same time enable one or both of the other endpoints, since
-a USB device is only usable if it can process the standard control
-messages.</P
-></LI
-><LI
-><P
->Endpoint 3 is controlled by
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_UPD985XX_EP3</TT
->. By default this
-endpoint is disabled: according to NEC erratum U3 there may be
-problems when attempting bulk transfers of 192 bytes or greater. As an
-alternative the device driver provides support for endpoint 5,
-configured to allow bulk transfers. Endpoint 3 can be enabled if the
-application only requires bulk transfers of less than 192 bytes, or if
-this erratum is not applicable to the system being developed for other
-reasons.</P
-></LI
-><LI
-><P
->Endpoint 4 is controlled by
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_UPD985XX_EP4</TT
->. This is enabled by
-default whenever endpoint 0 is enabled, but it can be disabled
-manually.</P
-></LI
-><LI
-><P
->Endpoint 5 is controlled by
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_UPD985XX_EP5</TT
->. This is enabled by
-default whenever endpoint 0 is enabled, but it can be disabled
-manually. There is also a configuration option
-<TT
-CLASS="LITERAL"
->CYGIMP_DEVS_USB_UPD985XX_EP5_BULK</TT
->, enabled by
-default. This option allows the endpoint to be used for bulk
-transfers rather than interrupt transfers.</P
-></LI
-></OL
-><P
->The uPD985xx USB device driver implements the interface specified by the
-common eCos USB Slave Support package. The documentation for that
-package should be consulted for further details. </P
-><P
->The device driver assumes a bulk packet size of 64 bytes, so this
-value should be used in the endpoint descriptors in the enumeration
-data provided by application code. The device driver also assumes
-a control packet size of eight bytes, and again this should be
-reflected in the enumeration data. If endpoint 5 is configured for
-interrupt rather than bulk transfers then the maximum packet size is
-limited to 64 bytes by the USB standard.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18855"
-></A
-><H2
->Devtab Entries</H2
-><P
->In addition to the endpoint data structures the uPD985xx USB device
-driver can also provide devtab entries for each endpoint. This allows
-higher-level code to use traditional I/O operations such as
-<TT
-CLASS="FUNCTION"
->open</TT
->/<TT
-CLASS="FUNCTION"
->read</TT
->/<TT
-CLASS="FUNCTION"
->write</TT
->
-rather than the USB-specific non-blocking functions like
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
->. These devtab entries are
-optional since they are not always required. The relevant
-configuration options are
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_UPD985XX_EP0_DEVTAB_ENTRY</TT
->,
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_UPD985XX_EP3_DEVTAB_ENTRY</TT
->,
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_UPD985XX_EP4_DEVTAB_ENTRY</TT
->, and
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_UPD985XX_EP5_DEVTAB_ENTRY</TT
->. By
-default these devtab entries are provided if the global preference
-<TT
-CLASS="LITERAL"
->CYGGLO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES</TT
-> is enabled,
-which is usually the case. Obviously a devtab entry for a given
-endpoint will only be provided if the underlying endpoint is enabled.
-For example, there will not be a devtab entry for endpoint 4 if
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_UPD985XX_EP4</TT
-> is disabled.</P
-><P
->The names for the devtab entries are determined by using a
-configurable base name and appending <TT
-CLASS="LITERAL"
->0c</TT
->,
-<TT
-CLASS="LITERAL"
->3w</TT
->, <TT
-CLASS="LITERAL"
->4r</TT
-> or <TT
-CLASS="LITERAL"
->5w</TT
->.
-The base name is determined by the configuration option
-<TT
-CLASS="LITERAL"
->CYGDAT_DEVS_USB_UPD985XX_DEVTAB_BASENAME</TT
-> and has a
-default value of <TT
-CLASS="LITERAL"
->/dev/usbs</TT
->, so the devtab entry for
-endpoint 4 would default to <TT
-CLASS="LITERAL"
->/dev/usbs4r</TT
->. If the
-target hardware involves multiple USB devices then application
-developers may have to change the base name to prevent a name clash
-with other USB device drivers.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18876"
-></A
-><H2
->Restrictions</H2
-><P
->The current device driver imposes a restriction on certain bulk
-receives on endpoint 4. If the protocol being used involves
-variable-length transfers, in other words if the host is allowed to
-send less data than a maximum-sized transfer, then the buffer passed
-to the device driver for receives must be aligned to a 16-byte
-cacheline boundary and it must be a multiple of this 16-byte cacheline
-size. This restriction does not apply if the protocol only involves
-fixed-size transfers.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18879"
-></A
-><H2
->Optional Hardware Workarounds</H2
-><P
->The NEC errata list a number of other problems that affect the USB
-device driver. The device driver contains workarounds for these, which
-are enabled by default but can be disabled if the application
-developer knows that the errata are not relevant to the system being
-developed.</P
-><P
->Erratum S1 lists a possible problem if the device driver attempts
-multiple writes to the USB hardware. This is circumvented by a
-dummy read operation after every write. If the workaround is not
-required then the configuration option
-<TT
-CLASS="LITERAL"
->CYGIMP_DEVS_USB_UPD985XX_IBUS_WRITE_LIMIT</TT
-> can be disabled.</P
-><P
->Errata U3 and U4 describe various problems related to concurrent
-transmissions on different endpoints. By default the device driver
-works around this by serializing all transmit operations. For example
-if the device driver needs to send a response to a control message on
-endpoint 0 while there is an ongoing bulk transfer on endpoint 5, the
-response is delayed until the bulk transfer has completed. Under
-typical operating conditions this does not cause any problems:
-endpoint 0 traffic usually happens only during initialization, when
-the target is connected to the host, while endpoint 5 traffic only
-happens after initialization. However if transmit serialization is
-inappropriate for the system being developed then it can be disabled
-using the configuration option
-<TT
-CLASS="LITERAL"
->CYGIMP_DEVS_USB_UPD985XX_SERIALIZE_TRANSMITS</TT
->. </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18886"
-></A
-><H2
->Platform Dependencies</H2
-><P
->On some platforms it is necessary for the low-level USB device driver
-to perform some additional operations during start-up. For example it
-may be necessary to manipulate one of the processor's GPIO lines
-before the host can detect a new USB peripheral and attempt to
-communicate with it. This avoids problems if the target involves a
-significant amount of work prior to device driver initialization, for
-example a power-on self-test sequence. If the USB host attempted to
-contact the target before the USB device driver had been initialized,
-it would fail to get the expected responses and conclude that the
-target was not a functional USB peripheral.</P
-><P
->Platform-specific initialization code can be provided via a macro
-<TT
-CLASS="FUNCTION"
->UPD985XX_USB_PLATFORM_INIT</TT
->. Typically this macro
-would be defined in the platform HAL's header file
-<TT
-CLASS="FILENAME"
->cyg/hal/plf_io.h</TT
->. If the
-current platform defines such a macro, the USB device driver will
-invoke it during the endpoint 0 start-up operation.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-usb-nec-upd985xx-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-eth-synth-ecosynth-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->NEC uPD985xx USB Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devs-usb-nec-upd985xx-ref.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synthetic Target Ethernet Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-usb-sa11x0-ref.html b/doc/html/ref/devs-usb-sa11x0-ref.html
deleted file mode 100644 (file)
index 2c8889d..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SA11X0 USB Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Porting"
-HREF="synth-porting.html"><LINK
-REL="NEXT"
-TITLE="SA11X0 USB Device Driver"
-HREF="devs-usb-sa11x0.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-porting.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-usb-sa11x0.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="DEVS-USB-SA11X0-REF"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXV. SA11X0 USB Device Driver</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="devs-usb-sa11x0.html"
->SA11X0 USB Device Driver</A
->&nbsp;--&nbsp;Device driver for the on-chip SA11X0 USB device</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-porting.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-usb-sa11x0.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Porting</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SA11X0 USB Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-usb-sa11x0.html b/doc/html/ref/devs-usb-sa11x0.html
deleted file mode 100644 (file)
index 03f33db..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SA11X0 USB Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SA11X0 USB Device Driver"
-HREF="devs-usb-sa11x0-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="SA11X0 USB Device Driver"
-HREF="devs-usb-sa11x0-ref.html"><LINK
-REL="NEXT"
-TITLE="NEC uPD985xx USB Device Driver"
-HREF="devs-usb-nec-upd985xx-ref.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-usb-sa11x0-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-usb-nec-upd985xx-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DEVS-USB-SA11X0">SA11X0 USB Device Driver</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18754"
-></A
-><H2
->Name</H2
->SA11X0 USB Support&nbsp;--&nbsp;Device driver for the on-chip SA11X0 USB device</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18757"
-></A
-><H2
->SA11X0 USB Hardware</H2
-><P
->The Intel StrongARM SA11x0 family of processors is supplied with an
-on-chip USB slave device, the UDC (USB Device Controller). This
-supports three endpoints. Endpoint 0 can only be used for control
-messages. Endpoint 1 can only be used for bulk transfers from host to
-peripheral. Endpoint 2 can only be used for bulk transfers from
-peripheral to host. Isochronous and interrupt transfers are not
-supported.</P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Different revisions of the SA11x0 silicon have had various problems
-with the USB support. The device driver has been tested primarily
-against stepping B4 of the SA1110 processor, and may not function as
-expected with other revisions. Application developers should obtain
-the manufacturer's current errata sheets and specification updates.
-The B4 stepping still has a number of problems, but the device driver
-can work around these. However there is a penalty in terms of extra
-code, extra cpu cycles, and increased dispatch latency because extra
-processing is needed at DSR level. Interrupt latency should not be
-affected.</P
-><P
->There is one specific problem inherent in the UDC design of which
-application developers should be aware: the hardware cannot fully
-implement the USB standard for bulk transfers. A bulk transfer
-typically consists of some number of full-size 64-byte packets and is
-terminated by a packet less than the full size. If the amount of data
-transferred is an exact multiple of 64 bytes then this requires a
-terminating packet of 0 bytes of data (plus header and checksum). The
-SA11x0 USB hardware does not allow a 0-byte packet to be transmitted,
-so the device driver is forced to substitute a 1-byte packet and the
-host receives more data than expected. Protocol support is needed so
-that the appropriate host-side device driver can allow buffer space
-for the extra byte, detect when it gets sent, and discard it.
-Consequently certain standard USB class protocols cannot be
-implemented using the SA11x0, and therefore custom host-side device
-drivers will generally have to be provided, rather than re-using
-existing ones that understand the standard protocol.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18763"
-></A
-><H2
->Endpoint Data Structures</H2
-><P
->The SA11x0 USB device driver can provide up to three data structures
-corresponding to the three endpoints: a
-<SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-> structure
-<TT
-CLASS="LITERAL"
->usbs_sa11x0_ep0</TT
->; a
-<SPAN
-CLASS="STRUCTNAME"
->usbs_rx_endpoint</SPAN
->
-<TT
-CLASS="LITERAL"
->usbs_sa11x0_ep1</TT
->; and a
-<SPAN
-CLASS="STRUCTNAME"
->usbs_tx_endpoint</SPAN
->
-<TT
-CLASS="LITERAL"
->usbs_sa11x0_ep2</TT
->. The header file
-<TT
-CLASS="FILENAME"
->cyg/io/usb/usbs_sa11x0.h</TT
->
-provides declarations for these.</P
-><P
->Not all applications will require support for all the endpoints. For
-example, if the intended use of the UDC only involves peripheral to
-host transfers then <TT
-CLASS="LITERAL"
->usbs_sa11x0_ep1</TT
-> is redundant.
-The device driver provides configuration options to control the
-presence of each endpoint:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Endpoint 0 is controlled by
-<TT
-CLASS="LITERAL"
->CYGFUN_DEVS_USB_SA11X0_EP0</TT
->. This defaults to
-enabled if there are any higher-level packages that require USB
-hardware or if the global preference
-<TT
-CLASS="LITERAL"
->CYGGLO_IO_USB_SLAVE_APPLICATION</TT
-> is enabled,
-otherwise it is disabled. Usually this has the desired effect. It may
-be necessary to override this in special circumstances, for example if
-the target board uses an external USB chip in preference to the UDC
-and it is that external chip's device driver that should be used
-rather than the on-chip UDC. It is not possible to disable endpoint 0
-and at the same time enable one or both of the other endpoints, since
-a USB device is only usable if it can process the standard control
-messages.</P
-></LI
-><LI
-><P
->Endpoint 1 is controlled by
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_SA11X0_EP1</TT
->. By default it is
-enabled whenever endpoint 0 is enabled, but it can be disabled
-manually when not required.</P
-></LI
-><LI
-><P
->Similarly endpoint 2 is controlled by
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_SA11X0_EP2</TT
->. This is also enabled by
-default whenever endpoint 0 is enabled, but it can be disabled manually.</P
-></LI
-></OL
-><P
->The SA11X0 USB device driver implements the interface specified by the
-common eCos USB Slave Support package. The documentation for that
-package should be consulted for further details. There is only one
-major deviation: when there is a peripheral to host transfer on
-endpoint 2 which is an exact multiple of the bulk transfer packet size
-(usually 64 bytes) the device driver has to pad the transfer with one
-extra byte. This is because of a hardware limitation: the UDC is
-incapable of transmitting 0-byte packets as required by the USB
-specification. Higher-level code, including the host-side device
-driver, needs to be aware of this and adapt accordingly.</P
-><P
->The device driver assumes a bulk packet size of 64 bytes, so this
-value should be used in the endpoint descriptors in the enumeration
-data provided by application code. There is experimental code
-for running with <A
-HREF="devs-usb-sa11x0.html#AEN18808"
->DMA disabled</A
->,
-in which case the packet size will be 16 bytes rather than 64.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18789"
-></A
-><H2
->Devtab Entries</H2
-><P
->In addition to the endpoint data structures the SA11X0 USB device
-driver can also provide devtab entries for each endpoint. This allows
-higher-level code to use traditional I/O operations such as
-<TT
-CLASS="FUNCTION"
->open</TT
->/<TT
-CLASS="FUNCTION"
->read</TT
->/<TT
-CLASS="FUNCTION"
->write</TT
->
-rather than the USB-specific non-blocking functions like
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
->. These devtab entries are
-optional since they are not always required. The relevant
-configuration options are
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_SA11X0_EP0_DEVTAB_ENTRY</TT
->,
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_SA11X0_EP1_DEVTAB_ENTRY</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGVAR_DEVS_USB_SA11X0_EP2_DEVTAB_ENTRY</TT
->. By default
-these devtab entries are provided if the global preference
-<TT
-CLASS="LITERAL"
->CYGGLO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES</TT
-> is enabled,
-which is usually the case. Obviously a devtab entry for a given
-endpoint will only be provided if the underlying endpoint is enabled.
-For example, there will not be a devtab entry for endpoint 1 if
-<TT
-CLASS="LITERAL"
->CYGPKG_DEVS_USB_SA11X0_EP1</TT
-> is disabled.</P
-><P
->The names for the three devtab entries are determined by using a
-configurable base name and appending <TT
-CLASS="LITERAL"
->0c</TT
->,
-<TT
-CLASS="LITERAL"
->1r</TT
-> or <TT
-CLASS="LITERAL"
->2w</TT
->. The base name is
-determined by the configuration option
-<TT
-CLASS="LITERAL"
->CYGDAT_DEVS_USB_SA11X0_DEVTAB_BASENAME</TT
-> and has a
-default value of <TT
-CLASS="LITERAL"
->/dev/usbs</TT
->, so the devtab entry for
-endpoint 1 would default to <TT
-CLASS="LITERAL"
->/dev/usbs1r</TT
->. If the
-target hardware involves multiple USB devices then application
-developers may have to change the base name to prevent a name clash.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18808"
-></A
-><H2
->DMA Engines</H2
-><P
->The SA11X0 UDC provides only limited fifos for bulk transfers on
-endpoints 1 and 2; smaller than the normal 64-byte bulk packet size.
-Therefore a typical transfer requires the use of DMA engines. The
-SA11x0 provides six DMA engines that can be used for this, and the
-endpoints require one each (assuming both endpoints are enabled). At
-the time of writing there is no arbitration mechanism to control
-access to the DMA engines. By default the device driver will use
-DMA engine 4 for endpoint 1 and DMA engine 5 for endpoint 2, and it
-assumes that no other code uses these particular engines.</P
-><P
->The exact DMA engines that will be used are determined by the
-configuration options
-<TT
-CLASS="LITERAL"
->CYGNUM_DEVS_USB_SA11X0_EP1_DMA_CHANNEL</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGNUM_DEVS_USB_SA11X0_EP2_DMA_CHANNEL</TT
->. These
-options have the booldata flavor, allowing the use of DMA to be
-disabled completely in addition to controlling which DMA engines are
-used. If DMA is disabled then the device driver will attempt to
-work purely using the fifos, and the packet size will be limited to
-only 16 bytes. This limit should be reflected in the appropriate
-endpoint descriptors in the enumeration data. The code for driving the
-endpoints without DMA should be considered experimental. At best it
-will be suitable only for applications where the amount of data
-transferred is relatively small, because four times as many interrupts
-will be raised and performance will suffer accordingly.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-usb-sa11x0-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-usb-nec-upd985xx-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SA11X0 USB Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devs-usb-sa11x0-ref.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->NEC uPD985xx USB Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-watchdog-synth-ref.html b/doc/html/ref/devs-watchdog-synth-ref.html
deleted file mode 100644 (file)
index a448aa6..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synthetic Target Watchdog Device</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Synthetic Target Ethernet Driver"
-HREF="devs-eth-synth-ecosynth.html"><LINK
-REL="NEXT"
-TITLE="Synthetic Target Watchdog Device"
-HREF="devs-watchdog-synth.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-eth-synth-ecosynth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-watchdog-synth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="DEVS-WATCHDOG-SYNTH-REF"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXVIII. Synthetic Target Watchdog Device</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="devs-watchdog-synth.html"
->Synthetic Target Watchdog Device</A
->&nbsp;--&nbsp;Emulate watchdog hardware in the synthetic target</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-eth-synth-ecosynth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-watchdog-synth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synthetic Target Ethernet Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synthetic Target Watchdog Device</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/devs-watchdog-synth.html b/doc/html/ref/devs-watchdog-synth.html
deleted file mode 100644 (file)
index 7d0cbf3..0000000
+++ /dev/null
@@ -1,632 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synthetic Target Watchdog Device</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Synthetic Target Watchdog Device"
-HREF="devs-watchdog-synth-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Synthetic Target Watchdog Device"
-HREF="devs-watchdog-synth-ref.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devs-watchdog-synth-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
->&nbsp;</TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DEVS-WATCHDOG-SYNTH">Synthetic Target Watchdog Device</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN19056"
-></A
-><H2
->Name</H2
->Synthetic Target Watchdog Device&nbsp;--&nbsp;Emulate watchdog hardware in the synthetic target</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN19059"
-></A
-><H2
->Overview</H2
-><P
->Some target hardware comes equipped with a watchdog timer. Application
-code can start this timer and after a certain period of time,
-typically a second, the watchdog will trigger. Usually this causes the
-hardware to reboot. The application can prevent this by regularly
-resetting the watchdog. An automatic reboot can be very useful when
-deploying hardware in the field: a hardware glitch could cause the
-unit to hang; or the software could receive an unexpected sequence of
-inputs, never seen in the laboratory, causing the system to lock up.
-Often the hardware is still functional, and a reboot sorts out the
-problem with only a brief interruption in service.
-    </P
-><P
->The synthetic target watchdog package emulates watchdog hardware.
-During system initialization watchdog device will be instantiated,
-and the <TT
-CLASS="FILENAME"
->watchdog.tcl</TT
-> script will be loaded by the
-I/O auxiliary. When the eCos application starts the watchdog device,
-the <TT
-CLASS="FILENAME"
->watchdog.tcl</TT
-> script will start checking the
-state of the eCos application at one second intervals. A watchdog
-reset call simply involves a message to the I/O auxiliary. If the
-<TT
-CLASS="FILENAME"
->watchdog.tcl</TT
-> script detects that a second has
-<A
-HREF="devs-watchdog-synth.html#SYNTH-WATCHDOG-WALLCLOCK-ELAPSED"
->elapsed</A
->
-without a reset then it will send a <TT
-CLASS="LITERAL"
->SIGPWR</TT
-> signal
-to the eCos application, causing the latter to terminate. If gdb is
-being used to run the application, the user will get a chance to
-investigate what is happening. This behaviour is different from real
-hardware in that there is no automatic reboot, but the synthetic
-target is used only for development purposes, not deployment in the
-field: if a reboot is desired then this can be achieved very easily
-by using gdb commands to run another instance of the application.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-WATCHDOG-SYNTH-INSTALL"
-></A
-><H2
->Installation</H2
-><P
->Before a synthetic target eCos application can use a watchdog device
-it is necessary to build and install host-side support. The relevant
-code resides in the <TT
-CLASS="FILENAME"
->host</TT
->
-subdirectory of the synthetic target watchdog package, and building it
-involves the standard <B
-CLASS="COMMAND"
->configure</B
->,
-<B
-CLASS="COMMAND"
->make</B
-> and <B
-CLASS="COMMAND"
->make install</B
-> steps. The
-implementation of the watchdog support does not require any
-executables, just a Tcl script <TT
-CLASS="FILENAME"
->watchdog.tcl</TT
-> and
-some support files, so the <B
-CLASS="COMMAND"
->make</B
-> step is a no-op.
-    </P
-><P
->There are two main ways of building the host-side software. It is
-possible to build both the generic host-side software and all
-package-specific host-side software, including the watchdog support,
-in a single build tree. This involves using the
-<B
-CLASS="COMMAND"
->configure</B
-> script at the toplevel of the eCos
-repository. For more information on this, see the
-<TT
-CLASS="FILENAME"
->README.host</TT
-> file at the top of the repository.
-Note that if you have an existing build tree which does not include
-the synthetic target watchdog support then it will be necessary to
-rerun the toplevel configure script: the search for appropriate
-packages happens at configure time.
-    </P
-><P
->The alternative is to build just the host-side for this package.
-This requires a separate build directory, building directly in the
-source tree is disallowed. The <B
-CLASS="COMMAND"
->configure</B
-> options
-are much the same as for a build from the toplevel, and the
-<TT
-CLASS="FILENAME"
->README.host</TT
-> file can be consulted for more
-details. It is essential that the watchdog support be configured with
-the same <TT
-CLASS="OPTION"
->--prefix</TT
-> option as other eCos host-side
-software, especially the I/O auxiliary provided by the architectural
-synthetic target HAL package, otherwise the I/O auxiliary will be
-unable to locate the watchdog support.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-WATCHDOG-TARGET-CONFIG"
-></A
-><H2
->Target-side
-Configuration</H2
-><P
->The watchdog device depends on the generic watchdog support,
-<TT
-CLASS="VARNAME"
->CYGPKG_IO_WATCHDOG</TT
->: if the generic support is
-absent then the watchdog device will be inactive. Some templates
-include this generic package by default, but not all. If the
-configuration does not include the generic package then it can be
-added using the eCos configuration tools, for example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig add CYGPKG_IO_WATCHDOG</PRE
-></TD
-></TR
-></TABLE
-><P
->By default the configuration will use the hardware-specific support,
-i.e. this package. However the generic watchdog package contains an
-alternative implementation using the kernel alarm facility, and that
-implementation can be selected if desired. However usually it will be
-better to rely on an external watchdog facility as provided by the I/O
-auxiliary and the <TT
-CLASS="FILENAME"
->watchdog.tcl</TT
-> script: if there
-are serious problems within the application, for example memory
-corruption, then an internal software-only implementation will not be
-reliable.
-    </P
-><P
->The watchdog resolution is currently fixed to one second: if the
-device does not receive a reset signal at least once a second then
-the watchdog will trigger and the eCos application will be terminated
-with a <TT
-CLASS="LITERAL"
->SIGPWR</TT
-> signal. The current implementation
-does not allow this resolution to be changed.
-    </P
-><P
->On some targets the watchdog device does not perform a hard reset.
-Instead the device works more or less via the interrupt subsystem,
-allowing application code to install action routines that will be
-called when the watchdog triggers. The synthetic target watchdog
-support effectively does perform a hard reset, by sending a
-<TT
-CLASS="LITERAL"
->SIGPWR</TT
-> signal to the eCos application, and there is
-no support for action routines.
-    </P
-><P
->The synthetic target watchdog package provides some configuration
-options for manipulating the compiler flags used for building the
-target-side code. That code is fairly simple, so for nearly all
-applications the default flags will suffice.
-    </P
-><P
->It should be noted that the watchdog device is subject to selective
-linking. Unless some code explicitly references the device, for
-example by calling the start and reset functions, the watchdog support
-will not appear in the final executable. This is desirable because a
-watchdog device has no effect until started.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-WATCHDOG-WALLCLOCK-ELAPSED"
-></A
-><H2
->Wallclock versus Elapsed Time</H2
-><P
->On real hardware the watchdog device uses wallclock time: if the
-device does not receive a reset signal within a set period of time
-then the watchdog will trigger. When developing for the synthetic
-target this is not always appropriate. There may be other processes
-running, using up some or most of the cpu time. For example, the
-application may be written such that it will issue a reset after some
-calculations which are known to complete within half a second, well
-within the one-second resolution of the watchdog device. However if
-other Linux processes are running then the synthetic target
-application may get timesliced, and half a second of computation may
-take several seconds of wallclock time.
-    </P
-><P
->Another problem with using wallclock time is that it interferes with
-debugging: if the application hits a breakpoint then it is unlikely
-that the user will manage to restart it in less than a second, and the
-watchdog will not get reset in time.
-    </P
-><P
->To avoid these problems the synthetic target watchdog normally uses
-consumed cpu time rather than wallclock time. If the application is
-timesliced or if it is halted inside gdb then it does not consume any
-cpu time. The application actually has to spend a whole second's worth
-of cpu cycles without issuing a reset before the watchdog triggers.
-    </P
-><P
->However using consumed cpu time is not a perfect solution either. If
-the application makes blocking system calls then it is not using cpu
-time. Interaction with the I/O auxiliary involves system calls, but
-these should take only a short amount of time so their effects can be
-ignored. If the application makes direct system calls such as
-<TT
-CLASS="FUNCTION"
->cyg_hal_sys_read</TT
-> then the system behaviour
-becomes undefined. In addition by default the idle thread will make
-blocking <TT
-CLASS="FUNCTION"
->select</TT
-> system calls, effectively waiting
-until an interrupt occurs. If an application spends much of its time
-idle then the watchdog device may take much longer to trigger than
-expected. It may be desirable to enable the synthetic target HAL
-configuration option <TT
-CLASS="VARNAME"
->CYGIMP_HAL_IDLE_THREAD_SPIN</TT
->,
-causing the idle thread to spin rather than block, at the cost of
-wasted cpu cycles.
-    </P
-><P
->The default is to use consumed cpu time, but this can be changed in
-the target definition file:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device watchdog {
-    use wallclock_time
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-WATCHDOG-GUI"
-></A
-><H2
->User Interface</H2
-><P
->When the synthetic target is run in graphical mode the watchdog device
-extends the user interface in two ways. The <SPAN
-CLASS="GUIMENU"
->Help</SPAN
->
-menu is extended with an entry for the watchdog-specific
-documentation. There is also a graphical display of the current state
-of the watchdog. Initially the watchdog is asleep:
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN19112"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="asleep.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->When application code starts the device the watchdog will begin to
-keep an eye on things (or occasionally both eyes).
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN19117"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="awake.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->If the watchdog triggers the display will change again, and optionally
-the user can receive an audible alert. The location of the watchdog
-display within the I/O auxiliary's window can be controlled via
-a <B
-CLASS="COMMAND"
->watchdog_pack</B
-> entry in the target definition
-file. For example the following can be used to put the watchdog
-display to the right of the central text window:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device watchdog {
-    watchdog_pack -in .main.e -side top
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The user interface section of the generic synthetic target HAL
-documentation can be consulted for more information on window packing.
-    </P
-><P
->By default the watchdog support will not generate an audible alert
-when the watchdog triggers, to avoid annoying colleagues. Sound can be
-enabled in the target definition file, and two suitable files
-<TT
-CLASS="FILENAME"
->sound1.au</TT
-> and <TT
-CLASS="FILENAME"
->sound2.au</TT
-> are
-supplied as standard:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device watchdog {
-    sound sound1.au
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->An absolute path can be specified if desired:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device watchdog {
-    sound /usr/share/emacs/site-lisp/emacspeak/sounds/default-8k/alarm.au
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Sound facilities are not built into the I/O auxiliary itself, instead
-an external program is used. The default player is
-<B
-CLASS="COMMAND"
->play</B
->, a front-end to the
-<SPAN
-CLASS="APPLICATION"
->sox</SPAN
-> application shipped with some Linux
-distributions. If another player should be used then this can be
-specified in the target definition file:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device watchdog {
-    &#8230;
-    sound_player my_sound_player</PRE
-></TD
-></TR
-></TABLE
-><P
->The specified program will be run in the background with a single
-argument, the sound file.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-WATCHDOG-SYNTH-ARGS"
-></A
-><H2
->Command Line Arguments</H2
-><P
->The watchdog support does not use any command line arguments. All
-configuration is handled through the target definition file.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-WATCHDOG-SYNTH-HOOKS"
-></A
-><H2
->Hooks</H2
-><P
->The watchdog support does not provide any hooks for use by other
-scripts. There is rarely any need for customizing the system's
-behaviour when a watchdog triggers because those should be rare
-events, even during application development.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="DEVS-WATCHDOG-SYNTH-TCL"
-></A
-><H2
->Additional Tcl Procedures</H2
-><P
->The watchdog support does not provide any additional Tcl procedures or
-variables for use by other scripts.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devs-watchdog-synth-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synthetic Target Watchdog Device</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="devs-watchdog-synth-ref.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/disks-command.html b/doc/html/ref/disks-command.html
deleted file mode 100644 (file)
index 652fe41..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->disks</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="cksum"
-HREF="cksum-command.html"><LINK
-REL="NEXT"
-TITLE="dump"
-HREF="dump-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cksum-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="dump-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DISKS-COMMAND">disks</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3207"
-></A
-><H2
->Name</H2
->disks&nbsp;--&nbsp;List available disk partitions.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3210"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->disks</B
-> </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3213"
-></A
-><H2
->Arguments</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3216"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->disks</B
-> command is used to list disk partitions recognized by RedBoot.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3220"
-></A
-><H2
->Examples</H2
-><P
->Show what disk partitions are available.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->disks</B
-></TT
->
-hda1     Linux Swap
-hda2     Linux
-00100000: 00 3E 00 06 00 06 00 06  00 00 00 00 00 00 00 00  |.&#62;..............|
-00100010: 00 00 00 78 00 70 00 60  00 60 00 60 00 60 00 60  |...x.p.`.`.`.`.`|</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cksum-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="dump-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->cksum</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->dump</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/download-command.html b/doc/html/ref/download-command.html
deleted file mode 100644 (file)
index 76b5028..0000000
+++ /dev/null
@@ -1,741 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->load</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="ip_address"
-HREF="ip-address-command.html"><LINK
-REL="NEXT"
-TITLE="mcmp"
-HREF="mcmp-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ip-address-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="mcmp-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DOWNLOAD-COMMAND">load</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3433"
-></A
-><H2
->Name</H2
->load&nbsp;--&nbsp;Download programs or data to the RedBoot platform</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3436"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->load</B
->  [-v ] [-d ] [-r ] [-m
-           [[xmodem | ymodem] | tftp | disk]
-        ] [-h <TT
-CLASS="REPLACEABLE"
-><I
-> server_IP_address</I
-></TT
->] [-b <TT
-CLASS="REPLACEABLE"
-><I
-> location</I
-></TT
->] [-c <TT
-CLASS="REPLACEABLE"
-><I
-> channel</I
-></TT
->] [<TT
-CLASS="REPLACEABLE"
-><I
->file_name</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3458"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3460"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-v</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Boolean</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Display a small spinner (indicator)
-while the download is in  progress. This is just for feedback, especially
-during long loads. Note that the option has no effect when using a
-serial download method since it would interfere with the protocol.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->quiet</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-d</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Boolean</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Decompress data stream (gzip data)</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->non-compressed data</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-r</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Boolean</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Raw (or binary) data</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->formatted (S-records, ELF image, etc)</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-m tftp</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Transfer data via the network using <SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-> protocol.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-m http</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Transfer data via the network using <SPAN
-CLASS="ACRONYM"
->HTTP</SPAN
-> protocol.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-m xmodem</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Transfer data using <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->X-modem</I
-></SPAN
-> protocol.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-m ymodem</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Transfer data using <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Y-modem</I
-></SPAN
-> protocol.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-m disk</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Transfer data from a local disk.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-h <TT
-CLASS="REPLACEABLE"
-><I
->server_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Numeric IP or DNS name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The IP address of the <SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-> or <SPAN
-CLASS="ACRONYM"
->HTTP</SPAN
-> server.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Value set by <B
-CLASS="COMMAND"
->ip_address</B
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address in memory to load the data.  Formatted data streams will have
-an implied load address which this option may override.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Depends on data format</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-c <TT
-CLASS="REPLACEABLE"
-><I
->channel</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Specify which I/O channel to
-use for download.  This option is only supported when using either
-xmodem or ymodem protocol.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Depends on data format</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->file_name</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The name of the file on the <SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-> or <SPAN
-CLASS="ACRONYM"
->HTTP</SPAN
->
-server or the local disk. Details of how this is specified for <SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-> are
-host-specific. For local disk files, the name must be in <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->disk</I
-></SPAN
->:
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->filename</I
-></SPAN
-> format. The disk portion must match one of the disk
-names listed by the <B
-CLASS="COMMAND"
->disks</B
-> command.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3561"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->load</B
-> command is used to download
-data into the target system. Data can be loaded via a network connection,
-using either the <SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
-> or <SPAN
-CLASS="ACRONYM"
->HTTP</SPAN
-> protocols, or the console serial connection using the
-X/Y modem protocol. Files may also be loaded directly from local filesystems
-on disk. Files to be downloaded may either be executable images in 
-ELF executable program format,
-Motorola S-record (SREC)
-format or raw data.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3567"
-></A
-><H2
->Examples</H2
-><P
->Download a Motorola S-record (or ELF) image, using <SPAN
-CLASS="ACRONYM"
->TFTP</SPAN
->, specifying the 
-base memory address.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load redboot.ROM -b 0x8c400000</B
-></TT
->
-Address offset = 0x0c400000
-Entry point: 0x80000000, address range: 0x80000000-0x8000fe80</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-><P
->Download a Motorola S-record (or ELF) image, using <SPAN
-CLASS="ACRONYM"
->HTTP</SPAN
->, specifying the
-host [server] address.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load /redboot.ROM -m HTTP -h 192.168.1.104</B
-></TT
->
-Address offset = 0x0c400000
-Entry point: 0x80000000, address range: 0x80000000-0x8000fe80</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-><P
->Load an ELF file from /dev/hda1 which should be an EXT2 partition:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -mode disk hda1:hello.elf</B
-></TT
->
-Entry point: 0x00020000, address range: 0x00020000-0x0002fd70</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ip-address-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="mcmp-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ip_address</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->mcmp</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/dump-command.html b/doc/html/ref/dump-command.html
deleted file mode 100644 (file)
index 05979c9..0000000
+++ /dev/null
@@ -1,535 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->dump</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="disks"
-HREF="disks-command.html"><LINK
-REL="NEXT"
-TITLE="help"
-HREF="help-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="disks-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="help-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="DUMP-COMMAND">dump</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3226"
-></A
-><H2
->Name</H2
->dump&nbsp;--&nbsp;Display memory.</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3229"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->dump</B
->  {-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
->} [-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->] [-s] [-1 | -2 | -4]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3241"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3243"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Memory address</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Location in memory for start of data.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of data</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->32</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-s</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Boolean</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Format data using Motorola S-records.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access one byte (8 bits) at a time.  
-Only the least significant 8 bits of the pattern will be used.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-2</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access two bytes (16 bits) at a time.  
-Only the least significant 16 bits of the pattern will be used.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access one word (32 bits) at a time.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3289"
-></A
-><H2
->Description</H2
-><P
->Display a range of memory on the system console.</P
-><P
->The <B
-CLASS="COMMAND"
->x</B
-> is a synonym for <B
-CLASS="COMMAND"
->dump</B
->.</P
-><P
->Note that this command could
-be detrimental if used on memory mapped hardware registers. </P
-><P
->The memory is displayed at most sixteen bytes per line, first as the
-raw hex value, followed by an ASCII interpretation of the data. </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3297"
-></A
-><H2
->Examples</H2
-><P
->Display a buffer, one byte at a time.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mfill -b 0x100000 -l 0x20 -p 0xDEADFACE</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->x -b 0x100000</B
-></TT
->
-00100000: CE FA AD DE CE FA AD DE  CE FA AD DE CE FA AD DE  |................|
-00100010: CE FA AD DE CE FA AD DE  CE FA AD DE CE FA AD DE  |................|</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Display a buffer, one short (16 bit) word at a time.  Note in this case that
-the ASCII interpretation is suppressed.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->dump -b 0x100000 -2</B
-></TT
->
-00100000: FACE DEAD FACE DEAD  FACE DEAD FACE DEAD 
-00100010: FACE DEAD FACE DEAD  FACE DEAD FACE DEAD </PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Display a buffer, one word (32 bit) word at a time.  Note in this case that
-the ASCII interpretation is suppressed.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->dump -b 0x100000 -4</B
-></TT
->
-00100000: DEADFACE DEADFACE DEADFACE DEADFACE 
-00100010: DEADFACE DEADFACE DEADFACE DEADFACE </PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Display the same buffer, using Motorola S-record format.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->dump -b 0x100000 -s</B
-></TT
->
-S31500100000CEFAADDECEFAADDECEFAADDECEFAADDE8E
-S31500100010CEFAADDECEFAADDECEFAADDECEFAADDE7E</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Display a buffer, with visible ASCII strings.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->d -b 0xfe00b000 -l 0x80</B
-></TT
->
-0xFE00B000: 20 25 70 0A 00 00 00 00  41 74 74 65 6D 70 74 20 | %p.....Attempt |
-0xFE00B010: 74 6F 20 6C 6F 61 64 20  53 2D 72 65 63 6F 72 64 |to load S-record|
-0xFE00B020: 20 64 61 74 61 20 74 6F  20 61 64 64 72 65 73 73 | data to address|
-0xFE00B030: 3A 20 25 70 20 5B 6E 6F  74 20 69 6E 20 52 41 4D |: %p [not in RAM|
-0xFE00B040: 5D 0A 00 00 2A 2A 2A 20  57 61 72 6E 69 6E 67 21 |]...*** Warning!|
-0xFE00B050: 20 43 68 65 63 6B 73 75  6D 20 66 61 69 6C 75 72 | Checksum failur|
-0xFE00B060: 65 20 2D 20 41 64 64 72  3A 20 25 6C 78 2C 20 25 |e - Addr: %lx, %|
-0xFE00B070: 30 32 6C 58 20 3C 3E 20  25 30 32 6C 58 0A 00 00 |02lX &lt;&#62; %02lX...|
-0xFE00B080: 45 6E 74 72 79 20 70 6F  69 6E 74 3A 20 25 70 2C |Entry point: %p,|</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="disks-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="help-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->disks</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->help</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/e7t.html b/doc/html/ref/e7t.html
deleted file mode 100644 (file)
index c8cbdc2..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM7 ARM Evaluator7T</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM7+ARM9 ARM Integrator"
-HREF="integrator.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="integrator.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="E7T">ARM/ARM7 ARM Evaluator7T</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5055">Overview</H2
-><P
->RedBoot supports
-both serial ports for communication and downloads. The default serial port
-settings are 38400,8,N,1.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5065"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from flash address 0x20000, with
-             ARM Boot Monitor in flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMA.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5079">Initial Installation</H2
-><P
->RedBoot is installed using the on-board boot environment. See the user
-manual for full details.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5082">Quick download instructions</H2
-><P
->Here are quick start instructions for downloading the prebuilt Redboot
-image:</P
-><P
-></P
-><UL
-><LI
-><P
->Boot the board and press ENTER:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;      ARM Evaluator7T Boot Monitor PreRelease 1.00
-      Press ENTER within 2 seconds to stop autoboot
-      Boot: </PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Erase the part of the flash where RedBoot will get programmed:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->      Boot: <TT
-CLASS="USERINPUT"
-><B
->flasherase 01820000 10000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Prepare to download the UU-encoded version of the RedBoot
-image:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->      Boot: <TT
-CLASS="USERINPUT"
-><B
->download 10000</B
-></TT
->
-      Ready to download. Use 'transmit' option on terminal emulator to download file.</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Either use ASCII transmit option in the terminal emulator,
-or on Linux, simply cat the file to the serial port:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->      $ <TT
-CLASS="USERINPUT"
-><B
->cat redboot.UU &#62; /dev/ttyS0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->When complete, you should
-see:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->      Loaded file redboot.bin at address 000100000, size = 41960
-      Boot:</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Program the flash:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->      Boot: <TT
-CLASS="USERINPUT"
-><B
->flashwrite 01820000 10000 10000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->And verify that the module is available:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->      Boot: <TT
-CLASS="USERINPUT"
-><B
->rommodules</B
-></TT
->
-      Header   Base     Limit
-      018057c8 01800000 018059e7 BootStrapLoader v1.0 Apr 27 2000 10:33:58
-      01828f24 01820000 0182a3e8 RedBoot              Apr  5 2001</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Reboot the board and you should see the RedBoot banner.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5112">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5115">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the E7T board. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
->  <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  C B  Description
------------------------ - -  -----------
-0x00000000 - 0x0007ffff Y N  SDRAM
-0x03ff0000 - 0x03ffffff N N  Microcontroller registers
-0x01820000 - 0x0187ffff N N  System flash (mirrored)</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5122">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=e7t
-export ARCH_DIR=arm
-export PLATFORM_DIR=e7t</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="integrator.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Installation and Testing</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM7+ARM9 ARM Integrator</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ebsa285.html b/doc/html/ref/ebsa285.html
deleted file mode 100644 (file)
index b0e5680..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA110) Intel EBSA 285</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM9 Altera Excalibur"
-HREF="excaliburarm9.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA1100) Intel Brutus"
-HREF="brutus.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="excaliburarm9.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="brutus.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EBSA285">ARM/StrongARM(SA110) Intel EBSA 285</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5585">Overview</H2
-><P
->RedBoot
-uses the single EBSA-285 serial port. The default serial port settings are
-38400,8,N,1. If the EBSA-285 is used as a host on a PCI backplane, ethernet
-is supported using an Intel PRO/100+ ethernet adapter. Management of
-onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5595"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5614">Initial Installation Method</H2
-><P
->A linux application is used to program the flash over the PCI bus. Sources
-and build instructions for this utility are located in the RedBoot sources
-in: <TT
-CLASS="FILENAME"
->packages/hal/arm/ebsa285/current/support/linux/safl_util</TT
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5618">Communication Channels</H2
-><P
->Serial, Intel PRO 10/100+ 82559 PCI ethernet card.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5621">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5624">Memory Maps</H2
-><P
->Physical and virtual mapping are mapped one to one on the EBSA-285 using
-a first level page table located at address 0x4000. No second level tables
-are used. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Address Range            C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x01ffffff  Y Y  SDRAM
-0x40000000 - 0x400fffff  N N  21285 Registers
-0x41000000 - 0x413fffff  Y N  flash
-0x42000000 - 0x420fffff  N N  21285 CSR Space
-0x50000000 - 0x50ffffff  Y Y  Cache Clean
-0x78000000 - 0x78ffffff  N N  Outbound Write Flush
-0x79000000 - 0x7c0fffff  N N  PCI IACK/Config/IO
-0x80000000 - 0xffffffff  N Y  PCI Memory </PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5631">Platform Resource Usage</H2
-><P
->Timer3 is used as a polled timer to provide timeout support for networking
-and XModem file transfers.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5634">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=ebsa285
-export ARCH_DIR=arm
-export PLATFORM_DIR=ebsa285</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="excaliburarm9.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="brutus.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM9 Altera Excalibur</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA1100) Intel Brutus</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ecos-pci-library.html b/doc/html/ref/ecos-pci-library.html
deleted file mode 100644 (file)
index 90a8e5a..0000000
+++ /dev/null
@@ -1,787 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The eCos PCI Library</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="PCI Library"
-HREF="io-pci.html"><LINK
-REL="PREVIOUS"
-TITLE="PCI Library"
-HREF="io-pci.html"><LINK
-REL="NEXT"
-TITLE="PCI Library reference"
-HREF="pci-library-reference.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="pci-library-reference.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="ECOS-PCI-LIBRARY">Chapter 30. The eCos PCI Library</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="ecos-pci-library.html#PCI-LIBRARY"
->PCI Library</A
-></DT
-><DT
-><A
-HREF="pci-library-reference.html"
->PCI Library reference</A
-></DT
-></DL
-></DIV
-><P
->The PCI library is an optional part of eCos, and is only
-       applicable to some platforms.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PCI-LIBRARY">PCI Library</H1
-><P
->The eCos PCI library provides the following functionality:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Scan the PCI bus for specific devices or devices of a certain
-class.</P
-></LI
-><LI
-><P
->Read and change generic PCI information.</P
-></LI
-><LI
-><P
->Read and change device-specific PCI information.</P
-></LI
-><LI
-><P
->Allocate PCI memory and IO space to devices.</P
-></LI
-><LI
-><P
->Translate a device's PCI interrupts to equivalent HAL
-vectors.</P
-></LI
-></OL
-><P
->Example code fragments are from the pci1 test (see <TT
-CLASS="FILENAME"
->io/pci/&lt;release&gt;/tests/pci1.c</TT
->).</P
-><P
->All of the functions described below are declared in the header
-file <TT
-CLASS="FILENAME"
->&lt;cyg/io/pci.h&gt;</TT
-> which all
-clients of the PCI library should include.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12691">PCI Overview</H2
-><P
->The PCI bus supports several address spaces: memory, IO, and configuration. All PCI
-devices must support mandatory configuration space registers. Some devices may also present
-IO mapped and/or memory mapped resources. Before devices on the bus can be used, they must
-be configured. Basically, configuration will assign PCI IO and/or memory address ranges to
-each device and then enable that device. All PCI devices have a unique address in
-configuration space. This address is comprised of a bus number, a device number, and a
-function number. Special devices called bridges are used to connect two PCI busses together.
-The PCI standard supports up to 255 busses with each bus having up to 32 devices and each
-device having up to 8 functions.</P
-><P
->The environment in which a platform operates will dictate if and how eCos should
-configure devices on the PCI bus. If the platform acts as a host on a single PCI bus,
-then devices may be configured individually from the relevant device driver. If the
-platform is not the primary host, such as a PCI card plugged into a PC, configuration
-of PCI devices may be left to the PC BIOS. If PCI-PCI bridges are involved, configuration
-of all devices is best done all at once early in the boot process. This is because all
-devices on the secondary side of a bridge must be evaluated for their IO and memory space
-requirements before the bridge can be configured.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12695">Initializing the bus</H2
-><P
->The PCI bus needs to be initialized before it can be used.
-This only needs to be done once - some HALs may do it as part of
-the platform initialization procedure, other HALs may leave it to
-the application or device drivers to do it. The following function
-will do the initialization only once, so it's safe to call from
-multiple drivers:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_init( void );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12699">Scanning for devices</H2
-><P
->After the bus has been initialized, it is possible to scan
-it for devices. This is done using the function:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_find_next(  cyg_pci_device_id cur_devid, 
-                            cyg_pci_device_id *next_devid );</PRE
-></TD
-></TR
-></TABLE
-><P
->It will scan the bus for devices starting at <TT
-CLASS="PARAMETER"
-><I
->cur_devid</I
-></TT
->. If a device is found, its devid is stored in <TT
-CLASS="PARAMETER"
-><I
->next_devid</I
-></TT
-> and the function returns <TT
-CLASS="CONSTANT"
->true</TT
->.</P
-><P
->The <TT
-CLASS="FILENAME"
->pci1</TT
-> test's outer loop looks like:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    cyg_pci_init();
-    if (cyg_pci_find_next(CYG_PCI_NULL_DEVID, &amp;devid)) {
-        do {
-             &lt;use devid&gt;
-        } while (cyg_pci_find_next(devid, &amp;devid));
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->What happens is that the bus gets initialized and a scan is
-started. <TT
-CLASS="LITERAL"
->CYG_PCI_NULL_DEVID</TT
-> causes <TT
-CLASS="FUNCTION"
->cyg_pci_find_next()</TT
-> to restart its scan. If the bus does not
-contain any devices, the first call to <TT
-CLASS="FUNCTION"
->cyg_pci_find_next()</TT
->
-will return <TT
-CLASS="CONSTANT"
->false</TT
->.</P
-><P
->If the call returns <TT
-CLASS="CONSTANT"
->true</TT
->, a loop is entered where
-the found devid is used. After devid processing has completed, the next device
-on the bus is searched for; <TT
-CLASS="FUNCTION"
->cyg_pci_find_next()</TT
->
-continues its scan from the current devid. The loop terminates when
-no more devices are found on the bus.</P
-><P
->This is the generic way of scanning the bus, enumerating all
-the devices on the bus. But if the application is looking for a
-device of a given device class (e.g., a SCSI controller), or a specific
-vendor device, these functions simplify the task a bit:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_find_class(  cyg_uint32 dev_class,
-                              cyg_pci_device_id *devid );
-cyg_bool cyg_pci_find_device(  cyg_uint16 vendor, cyg_uint16 device,
-                               cyg_pci_device_id *devid );</PRE
-></TD
-></TR
-></TABLE
-><P
->They work just like <TT
-CLASS="FUNCTION"
->cyg_pci_find_next()</TT
->,
-but only return true when the dev_class or vendor/device
-qualifiers match those of a device on the bus. The devid serves
-as both an input and an output operand: the scan starts at the given
-device, and if a device is found devid is updated with the value
-for the found device.</P
-><P
->The <TT
-CLASS="FILENAME"
->&lt;cyg/io/pci_cfg.h&gt;</TT
-> header
-file (included by <TT
-CLASS="FILENAME"
->pci.h</TT
->) contains definitions for PCI 
-class, vendor and device codes which can be used as arguments to the find
-functions.
-The list of vendor and device codes is not complete: add new codes
-as necessary. If possible also register the codes at the PCI Code
-List (<A
-HREF="http://www.yourvote.com/pci"
-TARGET="_top"
->http://www.yourvote.com/pci)</A
-> which is where the eCos definitions are generated from.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12726">Generic config information</H2
-><P
->When a valid device ID (devid) is found using one of the above
-functions, the associated device can be queried and controlled using
-the functions:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_get_device_info (  cyg_pci_device_id devid, 
-                                cyg_pci_device *dev_info );
-void cyg_pci_set_device_info (  cyg_pci_device_id devid, 
-                                cyg_pci_device *dev_info );</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="STRUCTNAME"
->cyg_pci_device structure</SPAN
-> (defined in
-<TT
-CLASS="FILENAME"
->pci.h</TT
->) primarily holds information as described by the PCI
- specification <A
-HREF="ecos-pci-library.html#PCI-SPEC"
->[1]</A
->.
-The <TT
-CLASS="FILENAME"
->pci1</TT
-> test prints out some of this information:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->            // Get device info
-            cyg_pci_get_device_info(devid, &amp;dev_info);
-            diag_printf("\n Command   0x%04x, Status 0x%04x\n",
-                        dev_info.command, dev_info.status);</PRE
-></TD
-></TR
-></TABLE
-><P
->The command register can also be written to, controlling (among
-other things) whether the device responds to IO and memory access
-from the bus. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12737">Specific config information</H2
-><P
->The above functions only allow access to generic PCI config
-registers. A device can have extra config registers not specified
-by the PCI specification. These can be accessed with these functions:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_read_config_uint8(  cyg_pci_device_id devid,
-                                 cyg_uint8 offset, cyg_uint8 *val);
-void cyg_pci_read_config_uint16(  cyg_pci_device_id devid,
-                                  cyg_uint8 offset, cyg_uint16 *val);
-void cyg_pci_read_config_uint32(  cyg_pci_device_id devid,
-                                  cyg_uint8 offset, cyg_uint32 *val);
-void cyg_pci_write_config_uint8(  cyg_pci_device_id devid,
-                                  cyg_uint8 offset, cyg_uint8 val);
-void cyg_pci_write_config_uint16(  cyg_pci_device_id devid,
-                                   cyg_uint8 offset, cyg_uint16 val);
-void cyg_pci_write_config_uint32(  cyg_pci_device_id devid,
-                                   cyg_uint8 offset, cyg_uint32 val);</PRE
-></TD
-></TR
-></TABLE
-><P
->The write functions should only be used for device-specific
-config registers since using them on generic registers may invalidate
-the contents of a previously fetched cyg_pci_device
-structure.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12742">Allocating memory</H2
-><P
->A PCI device ignores all IO and memory access from the PCI
-bus until it has been activated. Activation cannot happen until
-after device configuration. Configuration means telling the device
-where it should map its IO and memory resources. This is done with
-one of the following functions::</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_configure_device( cyg_pci_device *dev_info );
-cyg_bool cyg_pci_configure_bus( cyg_uint8 bus, cyg_uint8 *next_bus );</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="FUNCTION"
->cyg_pci_configure_device</TT
-> handles all IO
-and memory regions that need configuration on non-bridge devices. On
-platforms with multiple busses connected by bridges, the <TT
-CLASS="FUNCTION"
->cyg_pci_configure_bus</TT
-> function should be used. It will recursively
-configure all devices on the given <TT
-CLASS="PARAMETER"
-><I
->bus</I
-></TT
-> and all
-subordinate busses. <TT
-CLASS="FUNCTION"
->cyg_pci_configure_bus</TT
-> will
-use <TT
-CLASS="FUNCTION"
->cyg_pci_configure_device</TT
-> to configure
-individual non-bridge devices.</P
-><P
-> Each region is represented in the PCI device's config space by BARs
-(Base Address Registers) and is handled individually according to type
-using these functions:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_allocate_memory(  cyg_pci_device *dev_info,
-                                   cyg_uint32 bar, 
-                                   CYG_PCI_ADDRESS64 *base );
-cyg_bool cyg_pci_allocate_io(  cyg_pci_device *dev_info,
-                               cyg_uint32 bar, 
-                               CYG_PCI_ADDRESS32 *base );</PRE
-></TD
-></TR
-></TABLE
-><P
->The memory bases (in two distinct address spaces) are increased
-as memory regions are allocated to devices. Allocation will fail
-(the function returns false) if the base exceeds the limits of the
-address space (IO is 1MB, memory is 2^32 or 2^64 bytes).</P
-><P
->These functions can also be called directly by the application/driver
-if necessary, but this should not be necessary.</P
-><P
->The bases are initialized with default values provided by
-the HAL. It is possible for an application to override these using
-the following functions: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_set_memory_base(  CYG_PCI_ADDRESS64 base );
-void cyg_pci_set_io_base( CYG_PCI_ADDRESS32 base );</PRE
-></TD
-></TR
-></TABLE
-><P
->When a device has been configured, the cyg_pci_device
-structure will contain the physical address in the CPU's
-address space where the device's memory regions can be
-accessed. </P
-><P
->This information is provided in <TT
-CLASS="VARNAME"
->base_map[]</TT
-> -
-there is a 32 bit word for each of the device's BARs. For
-32 bit PCI memory regions, each 32 bit word will be an actual pointer
-that can be used immediately by the driver: the memory space will normally
-be linearly addressable by the CPU.</P
-><P
->However, for 64 bit PCI memory regions, some (or all) of the
-region may be outside of the CPUs address space. In this case the
-driver will need to know how to access the region in segments. This
-functionality may be adopted by the eCos HAL if deemed useful in
-the future. The 2GB available on many systems should suffice though.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="PCI-INTERRUPTS">Interrupts</H2
-><P
->A device may generate interrupts. The HAL vector associated
-with a given device on the bus is platform specific. This function
-allows a driver to find the actual interrupt vector for a given
-device:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_translate_interrupt(  cyg_pci_device *dev_info,
-                                       CYG_ADDRWORD *vec );</PRE
-></TD
-></TR
-></TABLE
-><P
->If the function returns false, no interrupts will be generated
-by the device. If it returns true, the CYG_ADDRWORD pointed
-to by vec is updated with the HAL interrupt vector the device will
-be using. This is how the function is used in the <TT
-CLASS="FILENAME"
->pci1</TT
->
-test:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->            if (cyg_pci_translate_interrupt(&amp;dev_info, &amp;irq))
-                diag_printf(" Wired to HAL vector %d\n", irq);
-            else
-                diag_printf(" Does not generate interrupts.\n");</PRE
-></TD
-></TR
-></TABLE
-><P
->The application/drive should attach an interrupt
-handler to a device's interrupt before activating the device.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12770">Activating a device</H2
-><P
->When the device has been allocated memory space it can be
-activated. This is not done by the library since a driver may have
-to initialize more state on the device before it can be safely activated.</P
-><P
->Activating the device is done by enabling flags in its command
-word. As an example, see the <TT
-CLASS="FILENAME"
->pci1</TT
-> test which can be
-configured to enable the devices it finds. This allows these to be accessed from
-GDB (if a breakpoint is set on <TT
-CLASS="FUNCTION"
->cyg_test_exit</TT
->):</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef ENABLE_PCI_DEVICES
-      {
-          cyg_uint16 cmd;
-
-          // Don't use cyg_pci_set_device_info since it clears
-          // some of the fields we want to print out below.
-          cyg_pci_read_config_uint16(dev_info.devid,
-                                     CYG_PCI_CFG_COMMAND, &amp;cmd);
-          cmd |= CYG_PCI_CFG_COMMAND_IO|CYG_PCI_CFG_COMMAND_MEMORY;
-          cyg_pci_write_config_uint16(dev_info.devid,
-                                      CYG_PCI_CFG_COMMAND, cmd);
-      }
-      diag_printf(" **** Device IO and MEM access enabled\n");
-#endif</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The best way to activate a device is actually
-through <TT
-CLASS="FUNCTION"
->cyg_pci_set_device_info()</TT
->,
-but in this particular case the <SPAN
-CLASS="STRUCTNAME"
->cyg_pci_device</SPAN
->
-structure contents from before the activation is required for printout
-further down in the code.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12782">Links</H2
-><P
->See these links for more information about PCI:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
-><A
-NAME="PCI-SPEC"
-></A
-><A
-HREF="http://www.pcisig.com/"
-TARGET="_top"
->http://www.pcisig.com/</A
-> - information on the PCI specifications</P
-></LI
-><LI
-><P
-><A
-HREF="http://www.yourvote.com/pci/"
-TARGET="_top"
->http://www.yourvote.com/pci/</A
-> - list of vendor and device IDs</P
-></LI
-><LI
-><P
-><A
-HREF="http://www.picmg.org/"
-TARGET="_top"
->http://www.picmg.org/</A
-> - PCI Industrial Computer Manufacturers Group</P
-></LI
-></OL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="pci-library-reference.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PCI Library</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-pci.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PCI Library reference</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ecos-ref.html b/doc/html/ref/ecos-ref.html
deleted file mode 100644 (file)
index 2adb101..0000000
+++ /dev/null
@@ -1,2148 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Reference Manual</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="NEXT"
-TITLE="The eCos Kernel"
-HREF="kernel.html"></HEAD
-><BODY
-CLASS="BOOK"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="BOOK"
-><A
-NAME="ECOS-REF"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN2">eCos Reference Manual</H1
-><P
-CLASS="COPYRIGHT"
->Copyright &copy; 1998, 1999, 2000, 2001, 2002, 2003 by Red Hat, Inc., Nick Garnett (eCosCentric), Jonathan Larmour (eCosCentric), Andrew Lunn (Ascom), Gary Thomas (MLB Associates), Bart Veer (eCosCentric)</P
-><DIV
-CLASS="LEGALNOTICE"
-><A
-NAME="AEN17"><P
-><B
->Documentation licensing terms</B
-></P
-><P
->This material may be distributed only subject to the terms
-and conditions set forth in the Open Publication License, v1.0
-or later (the latest version is presently available at
-<A
-HREF="http://www.opencontent.org/openpub/"
-TARGET="_top"
->http://www.opencontent.org/openpub/</A
->).</P
-><P
->Distribution of substantively modified versions of this
-document is prohibited without the explicit permission of the
-copyright holder.</P
-><P
->Distribution of the work or derivative of the work in any
-standard (paper) book form is prohibited unless prior
-permission is obtained from the copyright holder.</P
-></DIV
-><DIV
-CLASS="LEGALNOTICE"
-><A
-NAME="AEN23"><P
-><B
->Trademarks</B
-></P
-><P
->Red Hat, the Red Hat Shadow Man logo&reg;, eCos&#8482;, RedBoot&#8482;,
-GNUPro&reg;, and Insight&#8482; are trademarks of Red Hat, Inc. </P
-><P
->Sun Microsystems&reg; and Solaris&reg; are registered trademarks of
-Sun Microsystems, Inc. </P
-><P
->SPARC&reg; is a registered trademark of SPARC International, Inc., and
-is used under license by Sun Microsystems, Inc. </P
-><P
->Intel&reg; is a registered trademark of Intel Corporation.</P
-><P
->Motorola&#8482; is a trademark of Motorola, Inc.</P
-><P
->ARM&reg; is a registered trademark of Advanced RISC Machines, Ltd.</P
-><P
->MIPS&#8482; is a trademark of MIPS Technologies, Inc.</P
-><P
->Toshiba&reg; is a registered trademark of the Toshiba Corporation.</P
-><P
->NEC&reg; is a registered trademark if the NEC Corporation.</P
-><P
->Cirrus Logic&reg; is a registered trademark of Cirrus Logic, Inc.</P
-><P
->Compaq&reg; is a registered trademark of the Compaq Computer Corporation.</P
-><P
->Matsushita&#8482; is a trademark of the Matsushita Electric Corporation.</P
-><P
->Samsung&reg; and CalmRISC&#8482; are trademarks or registered trademarks
-of Samsung, Inc. </P
-><P
->Linux&reg; is a registered trademark of Linus Torvalds. </P
-><P
->UNIX&reg; is a registered trademark of The Open Group. </P
-><P
->Microsoft&reg;, Windows&reg;, and Windows NT&reg; are registered trademarks
-of Microsoft Corporation, Inc. </P
-><P
->All other brand and product names, trademarks, and copyrights are the
-property of their respective owners. </P
-></DIV
-><DIV
-CLASS="LEGALNOTICE"
-><A
-NAME="AEN42"><P
-><B
->Warranty</B
-></P
-><P
->eCos and RedBoot are open source software, covered by a
-modified version of the <A
-HREF="http://www.gnu.org/copyleft/gpl.html"
-TARGET="_top"
->GNU
-General Public Licence</A
->,
-and you are welcome to change it and/or distribute copies of it under certain
-conditions. See <A
-HREF="http://sources.redhat.com/ecos/license-overview.html"
-TARGET="_top"
->http://sources.redhat.com/ecos/license-overview.html</A
-> for more information about the license.</P
-><P
->eCos and RedBoot software have NO WARRANTY. </P
-><P
->Because this software is licensed free of charge, there are no warranties
-for it, to the extent permitted by applicable law. Except when otherwise stated
-in writing, the copyright holders and/or other parties provide the software
-&#8220;as is&#8221; without warranty of any kind, either expressed or implied,
-including, but not limited to, the implied warranties of merchantability and
-fitness for a particular purpose. The entire risk as to the quality and performance
-of the software is with you. Should the software prove defective, you assume
-the cost of all necessary servicing, repair or correction.</P
-><P
-> In no event, unless required by applicable law or agreed to in writing,
-will any copyright holder, or any other party who may modify and/or redistribute
-the program as permitted above, be liable to you for damages, including any
-general, special, incidental or consequential damages arising out of the use
-or inability to use the program (including but not limited to loss of data
-or data being rendered inaccurate or losses sustained by you or third parties
-or a failure of the program to operate with any other programs), even if such
-holder or other party has been advised of the possibility of such damages.</P
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->I. <A
-HREF="kernel.html"
->The eCos Kernel</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="kernel-overview.html"
->Kernel Overview</A
->&nbsp;--&nbsp;Overview of the eCos Kernel</DT
-><DT
-><A
-HREF="kernel-smp.html"
->SMP Support</A
->&nbsp;--&nbsp;Support Symmetric Multiprocessing Systems</DT
-><DT
-><A
-HREF="kernel-thread-create.html"
->Thread creation</A
->&nbsp;--&nbsp;Create a new thread</DT
-><DT
-><A
-HREF="kernel-thread-info.html"
->Thread information</A
->&nbsp;--&nbsp;Get basic thread information</DT
-><DT
-><A
-HREF="kernel-thread-control.html"
->Thread control</A
->&nbsp;--&nbsp;Control whether or not a thread is running</DT
-><DT
-><A
-HREF="kernel-thread-termination.html"
->Thread termination</A
->&nbsp;--&nbsp;Allow threads to terminate</DT
-><DT
-><A
-HREF="kernel-thread-priorities.html"
->Thread priorities</A
->&nbsp;--&nbsp;Examine and manipulate thread priorities</DT
-><DT
-><A
-HREF="kernel-thread-data.html"
->Per-thread data</A
->&nbsp;--&nbsp;Manipulate per-thread data</DT
-><DT
-><A
-HREF="kernel-thread-destructors.html"
->Thread destructors</A
->&nbsp;--&nbsp;Call functions on thread termination</DT
-><DT
-><A
-HREF="kernel-exceptions.html"
->Exception handling</A
->&nbsp;--&nbsp;Handle processor exceptions</DT
-><DT
-><A
-HREF="kernel-counters.html"
->Counters</A
->&nbsp;--&nbsp;Count event occurrences</DT
-><DT
-><A
-HREF="kernel-clocks.html"
->Clocks</A
->&nbsp;--&nbsp;Provide system clocks</DT
-><DT
-><A
-HREF="kernel-alarms.html"
->Alarms</A
->&nbsp;--&nbsp;Run an alarm function when a number of events have occurred</DT
-><DT
-><A
-HREF="kernel-mutexes.html"
->Mutexes</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-condition-variables.html"
->Condition Variables</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-semaphores.html"
->Semaphores</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-mail-boxes.html"
->Mail boxes</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-flags.html"
->Event Flags</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-spinlocks.html"
->Spinlocks</A
->&nbsp;--&nbsp;Low-level Synchronization Primitive</DT
-><DT
-><A
-HREF="kernel-schedcontrol.html"
->Scheduler Control</A
->&nbsp;--&nbsp;Control the state of the scheduler</DT
-><DT
-><A
-HREF="kernel-interrupts.html"
->Interrupt Handling</A
->&nbsp;--&nbsp;Manage interrupt handlers</DT
-><DT
-><A
-HREF="kernel-characterization.html"
->Kernel Real-time Characterization</A
->&nbsp;--&nbsp;Measure the performance of the eCos kernel</DT
-></DL
-></DD
-><DT
->II. <A
-HREF="redboot.html"
->RedBoot&#8482; User's Guide</A
-></DT
-><DD
-><DL
-><DT
->1. <A
-HREF="getting-started-with-redboot.html"
->Getting Started with RedBoot</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="getting-started-with-redboot.html#REDBOOT-ON-THE-WEB"
->More information about RedBoot on the web</A
-></DT
-><DT
-><A
-HREF="installing-redboot.html"
->Installing RedBoot</A
-></DT
-><DT
-><A
-HREF="user-interface.html"
->User Interface</A
-></DT
-><DT
-><A
-HREF="redboot-editing-commands.html"
->RedBoot Editing Commands</A
-></DT
-><DT
-><A
-HREF="startup-mode.html"
->RedBoot Startup Mode</A
-></DT
-><DT
-><A
-HREF="resource-usage.html"
->RedBoot Resource Usage</A
-></DT
-><DT
-><A
-HREF="configuring-the-redboot-environment.html"
->Configuring the RedBoot Environment</A
-></DT
-></DL
-></DD
-><DT
->2. <A
-HREF="redboot-commands-and-examples.html"
->RedBoot Commands and Examples</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="redboot-commands-and-examples.html#AEN2850"
->Introduction</A
-></DT
-><DT
-><A
-HREF="common-commands.html"
->Common Commands</A
-></DT
-><DT
-><A
-HREF="flash-image-system.html"
->Flash Image System (FIS)</A
-></DT
-><DT
-><A
-HREF="persistent-state-flash.html"
->Persistent State Flash-based Configuration and Control</A
-></DT
-><DT
-><A
-HREF="executing-programs.html"
->Executing Programs from RedBoot</A
-></DT
-></DL
-></DD
-><DT
->3. <A
-HREF="rebuilding-redboot.html"
->Rebuilding RedBoot</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="rebuilding-redboot.html#AEN4673"
->Introduction</A
-></DT
-></DL
-></DD
-><DT
->4. <A
-HREF="updating-redboot.html"
->Updating RedBoot</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="updating-redboot.html#AEN4752"
->Introduction</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="installation-and-testing.html"
->Installation and Testing</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="installation-and-testing.html#ASB2305"
->AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board</A
-></DT
-><DT
-><A
-HREF="e7t.html"
->ARM/ARM7 ARM Evaluator7T</A
-></DT
-><DT
-><A
-HREF="integrator.html"
->ARM/ARM7+ARM9 ARM Integrator</A
-></DT
-><DT
-><A
-HREF="pid.html"
->ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</A
-></DT
-><DT
-><A
-HREF="at91.html"
->ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</A
-></DT
-><DT
-><A
-HREF="edb7xxx.html"
->ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</A
-></DT
-><DT
-><A
-HREF="aaed2000.html"
->ARM/ARM9 Agilent AAED2000</A
-></DT
-><DT
-><A
-HREF="excaliburarm9.html"
->ARM/ARM9 Altera Excalibur</A
-></DT
-><DT
-><A
-HREF="ebsa285.html"
->ARM/StrongARM(SA110) Intel EBSA 285</A
-></DT
-><DT
-><A
-HREF="brutus.html"
->ARM/StrongARM(SA1100) Intel Brutus</A
-></DT
-><DT
-><A
-HREF="sa1100mm.html"
->ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board</A
-></DT
-><DT
-><A
-HREF="assabet.html"
->ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</A
-></DT
-><DT
-><A
-HREF="nano.html"
->ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</A
-></DT
-><DT
-><A
-HREF="ipaq.html"
->ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</A
-></DT
-><DT
-><A
-HREF="cerfcube.html"
->ARM/StrongARM(SA11X0) Intrinsyc CerfCube</A
-></DT
-><DT
-><A
-HREF="iq80310.html"
->ARM/Xscale Cyclone IQ80310</A
-></DT
-><DT
-><A
-HREF="iq80321.html"
->ARM/Xscale Intel IQ80321</A
-></DT
-><DT
-><A
-HREF="calmrisc16.html"
->CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</A
-></DT
-><DT
-><A
-HREF="calmrisc32.html"
->CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board</A
-></DT
-><DT
-><A
-HREF="frv400.html"
->FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</A
-></DT
-><DT
-><A
-HREF="x86pc.html"
->IA32/x86 x86-Based PC</A
-></DT
-><DT
-><A
-HREF="atlas.html"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</A
-></DT
-><DT
-><A
-HREF="malta.html"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</A
-></DT
-><DT
-><A
-HREF="ocelot.html"
->MIPS/RM7000 PMC-Sierra Ocelot</A
-></DT
-><DT
-><A
-HREF="vrc4375.html"
->MIPS/VR4375 NEC DDB-VRC4375</A
-></DT
-><DT
-><A
-HREF="viper.html"
->PowerPC/MPC860T Analogue &#38; Micro PowerPC 860T</A
-></DT
-><DT
-><A
-HREF="mbx.html"
->PowerPC/MPC8XX Motorola MBX</A
-></DT
-><DT
-><A
-HREF="edk7708.html"
->SuperH/SH3(SH7708) Hitachi EDK7708</A
-></DT
-><DT
-><A
-HREF="se7709.html"
->SuperH/SH3(SH7709) Hitachi Solution Engine 7709</A
-></DT
-><DT
-><A
-HREF="hs7729pci.html"
->SuperH/SH3(SH7729) Hitachi HS7729PCI</A
-></DT
-><DT
-><A
-HREF="se77x9.html"
->SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</A
-></DT
-><DT
-><A
-HREF="se7751.html"
->SuperH/SH4(SH7751) Hitachi Solution Engine 7751</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->III. <A
-HREF="the-ecos-hardware-abstraction-layer.html"
->The eCos Hardware Abstraction Layer (HAL)</A
-></DT
-><DD
-><DL
-><DT
->6. <A
-HREF="hal-introduction.html"
->Introduction</A
-></DT
-><DT
->7. <A
-HREF="hal-architecture-variant-and-platform.html"
->Architecture, Variant and Platform</A
-></DT
-><DT
->8. <A
-HREF="hal-general-principles.html"
->General principles</A
-></DT
-><DT
->9. <A
-HREF="hal-interfaces.html"
->HAL Interfaces</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="hal-interfaces.html#HAL-BASE-DEFINITIONS"
->Base Definitions</A
-></DT
-><DT
-><A
-HREF="hal-architecture-characterization.html"
->Architecture Characterization</A
-></DT
-><DT
-><A
-HREF="hal-interrupt-handling.html"
->Interrupt Handling</A
-></DT
-><DT
-><A
-HREF="hal-input-and-output.html"
->HAL I/O</A
-></DT
-><DT
-><A
-HREF="hal-cache-control.html"
->Cache Control</A
-></DT
-><DT
-><A
-HREF="hal-linker-scripts.html"
->Linker Scripts</A
-></DT
-><DT
-><A
-HREF="hal-diagnostic-support.html"
->Diagnostic Support</A
-></DT
-><DT
-><A
-HREF="hal-smp-support.html"
->SMP Support</A
-></DT
-></DL
-></DD
-><DT
->10. <A
-HREF="hal-exception-handling.html"
->Exception Handling</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="hal-exception-handling.html#HAL-STARTUP"
->HAL Startup</A
-></DT
-><DT
-><A
-HREF="hal-vectors-and-vsrs.html"
->Vectors and VSRs</A
-></DT
-><DT
-><A
-HREF="hal-default-synchronous-exception-handling.html"
->Default Synchronous Exception Handling</A
-></DT
-><DT
-><A
-HREF="hal-default-interrupt-handling.html"
->Default Interrupt Handling</A
-></DT
-></DL
-></DD
-><DT
->11. <A
-HREF="hal-porting-guide.html"
->Porting Guide</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="hal-porting-guide.html#HAL-PORTING-INTRO"
->Introduction</A
-></DT
-><DT
-><A
-HREF="hal-porting-structure.html"
->HAL Structure</A
-></DT
-><DT
-><A
-HREF="hal-calling-if.html"
->Virtual Vectors (eCos/ROM Monitor Calling Interface)</A
-></DT
-><DT
-><A
-HREF="hal-porting-coding-conventions.html"
->HAL Coding Conventions</A
-></DT
-><DT
-><A
-HREF="hal-porting-platform.html"
->Platform HAL Porting</A
-></DT
-><DT
-><A
-HREF="hal-porting-variant.html"
->Variant HAL Porting</A
-></DT
-><DT
-><A
-HREF="hal-porting-architecture.html"
->Architecture HAL Porting</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="hal-future-developments.html"
->Future developments</A
-></DT
-></DL
-></DD
-><DT
->IV. <A
-HREF="libc.html"
->The ISO Standard C and Math Libraries</A
-></DT
-><DD
-><DL
-><DT
->13. <A
-HREF="c-and-math-library-overview.html"
->C and math library overview</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="c-and-math-library-overview.html#INCLUDE-NON-ISO-FUNCTIONS"
->Included non-ISO functions</A
-></DT
-><DT
-><A
-HREF="math-library-compatibility-modes.html"
->Math library compatibility modes</A
-></DT
-><DT
-><A
-HREF="libc-implementation-details.html"
->Some implementation details</A
-></DT
-><DT
-><A
-HREF="libc-thread-safety.html"
->Thread safety</A
-></DT
-><DT
-><A
-HREF="c-library-startup.html"
->C library startup</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->V. <A
-HREF="io.html"
->I/O Package (Device Drivers)</A
-></DT
-><DD
-><DL
-><DT
->14. <A
-HREF="io-package-intro.html"
->Introduction</A
-></DT
-><DT
->15. <A
-HREF="io-user-api.html"
->User API</A
-></DT
-><DT
->16. <A
-HREF="io-serial-driver-details.html"
->Serial driver details</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="io-serial-driver-details.html#IO-SIMPLE-SERIAL-DRIVER"
->Raw Serial Driver</A
-></DT
-><DT
-><A
-HREF="io-tty-driver.html"
->TTY driver</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="io-how-to-write-a-driver.html"
->How to Write a Driver</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="io-how-to-write-a-driver.html#IO-HOW-TO-WRITE-SERIAL-INTERFACE-DRIVER"
->How to Write a Serial Hardware Interface Driver</A
-></DT
-><DT
-><A
-HREF="io-serial-testing-with-serfilter.html"
->Serial testing with ser_filter</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
->Device Driver Interface to the Kernel</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html#DEVAPI-INTERRUPT-MODEL"
->Interrupt Model</A
-></DT
-><DT
-><A
-HREF="devapi-synchronization.html"
->Synchronization</A
-></DT
-><DT
-><A
-HREF="devapi-smp-support.html"
->SMP Support</A
-></DT
-><DT
-><A
-HREF="devapi-device-driver-models.html"
->Device Driver Models</A
-></DT
-><DT
-><A
-HREF="devapi-synchronization-levels.html"
->Synchronization Levels</A
-></DT
-><DT
-><A
-HREF="devapi-api.html"
->The API</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->VI. <A
-HREF="fileio.html"
->File System Support Infrastructure</A
-></DT
-><DD
-><DL
-><DT
->19. <A
-HREF="fileio-intro.html"
->Introduction</A
-></DT
-><DT
->20. <A
-HREF="fileio-fstab.html"
->File System Table</A
-></DT
-><DT
->21. <A
-HREF="fileio-mount-table.html"
->Mount Table</A
-></DT
-><DT
->22. <A
-HREF="fileio-file-table.html"
->File Table</A
-></DT
-><DT
->23. <A
-HREF="fileio-directories.html"
->Directories</A
-></DT
-><DT
->24. <A
-HREF="fileio-synchronization.html"
->Synchronization</A
-></DT
-><DT
->25. <A
-HREF="fileio-mounting.html"
->Initialization and Mounting</A
-></DT
-><DT
->26. <A
-HREF="fileio-sockets.html"
->Sockets</A
-></DT
-><DT
->27. <A
-HREF="fileio-select.html"
->Select</A
-></DT
-><DT
->28. <A
-HREF="fileio-devices.html"
->Devices</A
-></DT
-><DT
->29. <A
-HREF="fileio-writing.html"
->Writing a New Filesystem</A
-></DT
-></DL
-></DD
-><DT
->VII. <A
-HREF="io-pci.html"
->PCI Library</A
-></DT
-><DD
-><DL
-><DT
->30. <A
-HREF="ecos-pci-library.html"
->The eCos PCI Library</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="ecos-pci-library.html#PCI-LIBRARY"
->PCI Library</A
-></DT
-><DT
-><A
-HREF="pci-library-reference.html"
->PCI Library reference</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->VIII. <A
-HREF="posix-compatibility.html"
->eCos POSIX compatibility layer</A
-></DT
-><DD
-><DL
-><DT
->31. <A
-HREF="posix-standard-support.html"
->POSIX Standard Support</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="posix-standard-support.html#POSIX-PROCESS-PRIMITIVES"
->Process Primitives &#0091;POSIX Section 3&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-process-environment.html"
->Process Environment &#0091;POSIX Section 4&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-files-and-directories.html"
->Files and Directories &#0091;POSIX Section 5&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-input-and-output.html"
->Input and Output &#0091;POSIX Section 6&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-device-and-class-specific-functions.html"
->Device and Class Specific Functions &#0091;POSIX Section 7&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-c-language-services.html"
->C Language Services &#0091;POSIX Section 8&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-system-databases.html"
->System Databases &#0091;POSIX Section 9&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-data-interchange-format.html"
->Data Interchange Format &#0091;POSIX Section 10&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-synchronization.html"
->Synchronization &#0091;POSIX Section 11&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-memory-management.html"
->Memory Management &#0091;POSIX Section 12&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-execution-scheduling.html"
->Execution Scheduling &#0091;POSIX Section 13&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-clocks-and-timers.html"
->Clocks and Timers &#0091;POSIX Section 14&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-message-passing.html"
->Message Passing &#0091;POSIX Section 15&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-thread-management.html"
->Thread Management &#0091;POSIX Section 16&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-thread-specific-data.html"
->Thread-Specific Data &#0091;POSIX Section 17&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-thread-cancellation.html"
->Thread Cancellation &#0091;POSIX Section 18&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-non-posix-functions.html"
->Non-POSIX Functions</A
-></DT
-></DL
-></DD
-><DT
-><A
-HREF="posix-compatibility.html#POSIX-REFERENCES-AND-BIBLIOGRAPHY"
->References and Bibliography</A
-></DT
-></DL
-></DD
-><DT
->IX. <A
-HREF="compat-uitron.html"
->&micro;ITRON</A
-></DT
-><DD
-><DL
-><DT
->32. <A
-HREF="compat-uitron-microitron-api.html"
->&micro;ITRON API</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="compat-uitron-microitron-api.html#COMPAT-UITRON-INTRODUCTION"
->Introduction to &micro;ITRON</A
-></DT
-><DT
-><A
-HREF="compat-uitron-over-ecos.html"
->&micro;ITRON and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></A
-></DT
-><DT
-><A
-HREF="compat-uitron-task-management-functions.html"
->Task Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-task-dependent-synch-functions.html"
->Task-Dependent Synchronization Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-sync-and-comm-functions.html"
->Synchronization and Communication Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-extended-sync-comm-functions.html"
->Extended Synchronization and Communication Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-interrupt-management-functions.html"
->Interrupt management functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-memory-pool-mgmt-functions.html"
->Memory pool Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-time-mgmt-functions.html"
->Time Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-system-mgmt-functions.html"
->System Management Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-network-support-functions.html"
->Network Support Functions</A
-></DT
-><DT
-><A
-HREF="compat-uitron-configuration-faq.html"
->&micro;ITRON Configuration FAQ</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->X. <A
-HREF="net-common-tcpip.html"
->TCP/IP Stack Support for eCos</A
-></DT
-><DD
-><DL
-><DT
->33. <A
-HREF="net-common-ethernet-driver-design.html"
->Ethernet Driver Design</A
-></DT
-><DT
->34. <A
-HREF="net-common-sample-code.html"
->Sample Code</A
-></DT
-><DT
->35. <A
-HREF="net-common-configuring-ip-addresses.html"
->Configuring IP Addresses</A
-></DT
-><DT
->36. <A
-HREF="net-common-tests-and-demonstrations.html"
->Tests and Demonstrations</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="net-common-tests-and-demonstrations.html#NET-COMMON-LOOPBACK-TESTS"
->Loopback tests</A
-></DT
-><DT
-><A
-HREF="net-common-building-the-network-tests.html"
->Building the Network Tests</A
-></DT
-><DT
-><A
-HREF="net-common-standalone-tests.html"
->Standalone Tests</A
-></DT
-><DT
-><A
-HREF="net-common-performance-test.html"
->Performance Test</A
-></DT
-><DT
-><A
-HREF="net-common-interactive-tests.html"
->Interactive Tests</A
-></DT
-><DT
-><A
-HREF="net-common-maintenance-tools.html"
->Maintenance Tools</A
-></DT
-></DL
-></DD
-><DT
->37. <A
-HREF="net-common-support.html"
->Support Features</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="net-common-support.html#NET-COMMON-TFTP"
->TFTP</A
-></DT
-><DT
-><A
-HREF="net-common-dhcp.html"
->DHCP</A
-></DT
-></DL
-></DD
-><DT
->38. <A
-HREF="tcpip-library-reference.html"
->TCP/IP Library Reference</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="tcpip-library-reference.html#NET-COMMON-TCPIP-MANPAGES-GETDOMAINNAME"
->getdomainname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-gethostname.html"
->gethostname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-byteorder.html"
->byteorder</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ethers.html"
->ethers</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getaddrinfo.html"
->getaddrinfo</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-gethostbyname.html"
->gethostbyname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getifaddrs.html"
->getifaddrs</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getnameinfo.html"
->getnameinfo</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getnetent.html"
->getnetent</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getprotoent.html"
->getprotoent</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"
->getrrsetbyname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getservent.html"
->getservent</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-if-nametoindex.html"
->if_nametoindex</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet.html"
->inet</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet6-option-space.html"
->inet6_option_space</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"
->inet6_rthdr_space</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet-net.html"
->inet_net</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ipx.html"
->ipx</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-iso-addr.html"
->iso_addr</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-link-addr.html"
->link_addr</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-net-addrcmp.html"
->net_addrcmp</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ns.html"
->ns</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-resolver.html"
->resolver</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-accept.html"
->accept</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-bind.html"
->bind</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-connect.html"
->connect</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getpeername.html"
->getpeername</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getsockname.html"
->getsockname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getsockopt.html"
->getsockopt</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ioctl.html"
->ioctl</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-poll.html"
->poll</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-select.html"
->select</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-send.html"
->send</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-shutdown.html"
->shutdown</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-socket.html"
->socket</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-socketpair.html"
->socketpair</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XI. <A
-HREF="tcpip-freebsd.html"
->FreeBSD TCP/IP Stack port for eCos</A
-></DT
-><DD
-><DL
-><DT
->39. <A
-HREF="tcpip-freebsd-networking-stack-features.html"
->Networking Stack Features</A
-></DT
-><DT
->40. <A
-HREF="tcpip-freebsd-stack-port.html"
->Freebsd TCP/IP stack port</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="tcpip-freebsd-stack-port.html#TCPIP-FREEBSD-TCPIP-TARGETS"
->Targets</A
-></DT
-><DT
-><A
-HREF="tcpip-freebsd-building-the-network-stack.html"
->Building the Network Stack</A
-></DT
-></DL
-></DD
-><DT
->41. <A
-HREF="tcpip-freebsd-tcpip-apis.html"
->APIs</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="tcpip-freebsd-tcpip-apis.html#TCPIP-FREEBSD-STANDARD-NETWORKING-API"
->Standard networking</A
-></DT
-><DT
-><A
-HREF="tcpip-freebsd-enhanced-select.html"
->Enhanced Select()</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XII. <A
-HREF="tcpip-openbsd.html"
->OpenBSD TCP/IP Stack port for eCos</A
-></DT
-><DD
-><DL
-><DT
->42. <A
-HREF="tcpip-openbsd-networking-stack-features.html"
->Networking Stack Features</A
-></DT
-><DT
->43. <A
-HREF="tcpip-openbsd-stack-port.html"
->OpenBSD TCP/IP stack port</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="tcpip-openbsd-stack-port.html#TCPIP-OPENBSD-TCPIP-TARGETS"
->Targets</A
-></DT
-><DT
-><A
-HREF="tcpip-openbsd-building-the-network-stack.html"
->Building the Network Stack</A
-></DT
-></DL
-></DD
-><DT
->44. <A
-HREF="tcpip-openbsd-tcpip-apis.html"
->APIs</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="tcpip-openbsd-tcpip-apis.html#TCPIP-OPENBSD-STANDARD-NETWORKING-API"
->Standard networking</A
-></DT
-><DT
-><A
-HREF="tcpip-openbsd-enhanced-select.html"
->Enhanced Select()</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XIII. <A
-HREF="net-ns-dns.html"
->DNS for eCos and RedBoot</A
-></DT
-><DD
-><DL
-><DT
->45. <A
-HREF="net-ns-dns-api.html"
->DNS</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="net-ns-dns-api.html#NET-NS-DNS-API1"
->DNS API</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XIV. <A
-HREF="io-eth-drv-generic.html"
->Ethernet Device Drivers</A
-></DT
-><DD
-><DL
-><DT
->46. <A
-HREF="io-eth-drv-generic1.html"
->Generic Ethernet Device Driver</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="io-eth-drv-generic1.html#IO-ETH-DRV-API"
->Generic Ethernet API</A
-></DT
-><DT
-><A
-HREF="io-eth-drv-api-funcs.html"
->Review of the functions</A
-></DT
-><DT
-><A
-HREF="io-eth-drv-upper-api.html"
->Upper Layer Functions</A
-></DT
-><DT
-><A
-HREF="io-eth-call-graph.html"
->Calling graph for Transmission and Reception</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XV. <A
-HREF="net-snmp.html"
->SNMP</A
-></DT
-><DD
-><DL
-><DT
->47. <A
-HREF="net-snmp-ecos-port.html"
->SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="net-snmp-ecos-port.html#NET-SNMP-VERSION"
->Version</A
-></DT
-><DT
-><A
-HREF="net-snmp-package-contents.html"
->SNMP packages in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> source repository</A
-></DT
-><DT
-><A
-HREF="net-snmp-mibs-supported.html"
->MIBs supported</A
-></DT
-><DT
-><A
-HREF="net-snmp-ecos-changes.html"
->Changes to eCos sources</A
-></DT
-><DT
-><A
-HREF="net-snmp-starting-the-snmp-agent.html"
->Starting the SNMP Agent</A
-></DT
-><DT
-><A
-HREF="net-snmp-configuring-ecos.html"
->Configuring eCos</A
-></DT
-><DT
-><A
-HREF="net-snmp-test-cases.html"
->Test cases</A
-></DT
-><DT
-><A
-HREF="net-snmp-clients-and-package-use.html"
->SNMP clients and package use</A
-></DT
-><DT
-><A
-HREF="net-snmp-unimplemented-features.html"
->Unimplemented features</A
-></DT
-><DT
-><A
-HREF="net-snmp-mib-compiler.html"
->MIB Compiler</A
-></DT
-><DT
-><A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
->snmpd.conf</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XVI. <A
-HREF="net-httpd.html"
->Embedded HTTP Server</A
-></DT
-><DD
-><DL
-><DT
->48. <A
-HREF="net-httpd-chapter.html"
->Embedded HTTP Server</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="net-httpd-chapter.html#NET-HTTPD-INTRO"
->Intrduction</A
-></DT
-><DT
-><A
-HREF="net-httpd-organization.html"
->Server Organization</A
-></DT
-><DT
-><A
-HREF="net-httpd-configuration.html"
->Server Configuration</A
-></DT
-><DT
-><A
-HREF="net-httpd-html.html"
->Support Functions and Macros</A
-></DT
-><DT
-><A
-HREF="net-httpd-monitor.html"
->System Monitor</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XVII. <A
-HREF="net-ftpclient.html"
->FTP Client for eCos TCP/IP Stack</A
-></DT
-><DD
-><DL
-><DT
->49. <A
-HREF="net-ftpclient-features.html"
->FTP Client Features</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="net-ftpclient-features.html#NET-FTPCLIENT-FEATURES-API"
->FTP Client API</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XVIII. <A
-HREF="services-crc.html"
->CRC Algorithms</A
-></DT
-><DD
-><DL
-><DT
->50. <A
-HREF="crc-functions.html"
->CRC Functions</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="crc-functions.html#SERVICES-CRC-API"
->CRC API</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XIX. <A
-HREF="services-cpuload.html"
->CPU load measurements</A
-></DT
-><DD
-><DL
-><DT
->51. <A
-HREF="cpuload-functions.html"
->CPU Load Measurements</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="cpuload-functions.html#SERVICES-CPULOAD-API"
->CPU Load API</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XX. <A
-HREF="services-profile-gprof.html"
->Application profiling</A
-></DT
-><DD
-><DL
-><DT
->52. <A
-HREF="profile-functions.html"
->Profiling functions</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="profile-functions.html#SERVICES-PROFILE-API"
->API</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->XXI. <A
-HREF="services-power.html"
->eCos Power Management Support</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="power-intro.html"
->Introduction</A
->&nbsp;--&nbsp;eCos support for Power Management</DT
-><DT
-><A
-HREF="power-info.html"
->Power Management Information</A
->&nbsp;--&nbsp;finding out about the various power controllers in the system</DT
-><DT
-><A
-HREF="power-change.html"
->Changing Power Modes</A
->&nbsp;--&nbsp;reducing or increasing power consumption as needed</DT
-><DT
-><A
-HREF="power-policy.html"
->Support for Policy Modules</A
->&nbsp;--&nbsp;closer integration with higher-level code</DT
-><DT
-><A
-HREF="power-attached.html"
->Attached and Detached Controllers</A
->&nbsp;--&nbsp;control which power controllers are affected by global changes</DT
-><DT
-><A
-HREF="power-controller.html"
->Implementing a Power Controller</A
->&nbsp;--&nbsp;adding power management support to device drivers and
-other packages</DT
-></DL
-></DD
-><DT
->XXII. <A
-HREF="io-usb-slave.html"
->eCos USB Slave Support</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="usbs-intro.html"
->Introduction</A
->&nbsp;--&nbsp;eCos support for USB slave devices</DT
-><DT
-><A
-HREF="usbs-enum.html"
->USB Enumeration Data</A
->&nbsp;--&nbsp;The USB enumeration data structures</DT
-><DT
-><A
-HREF="usbs-start.html"
->Starting up a USB Device</A
->&nbsp;--&nbsp;Starting up a USB Device</DT
-><DT
-><A
-HREF="usbs-devtab.html"
->Devtab Entries</A
->&nbsp;--&nbsp;Data endpoint data structure</DT
-><DT
-><A
-HREF="usbs-start-rx.html"
->Receiving Data from the Host</A
->&nbsp;--&nbsp;Receiving Data from the Host</DT
-><DT
-><A
-HREF="usbs-start-tx.html"
->Sending Data to the Host</A
->&nbsp;--&nbsp;Sending Data to the Host</DT
-><DT
-><A
-HREF="usbs-halt.html"
->Halted Endpoints</A
->&nbsp;--&nbsp;Support for Halting and Halted Endpoints</DT
-><DT
-><A
-HREF="usbs-control.html"
->Control Endpoints</A
->&nbsp;--&nbsp;Control endpoint data structure</DT
-><DT
-><A
-HREF="usbs-data.html"
->Data Endpoints</A
->&nbsp;--&nbsp;Data endpoint data structures</DT
-><DT
-><A
-HREF="usbs-writing.html"
->Writing a USB Device Driver</A
->&nbsp;--&nbsp;USB Device Driver Porting Guide</DT
-><DT
-><A
-HREF="usbs-testing.html"
->Testing</A
->&nbsp;--&nbsp;Testing of USB Device Drivers</DT
-></DL
-></DD
-><DT
->XXIII. <A
-HREF="io-usb-slave-eth.html"
->eCos Support for Developing USB-ethernet Peripherals</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="usbseth-intro.html"
->Introduction</A
->&nbsp;--&nbsp;eCos support for developing USB ethernet peripherals</DT
-><DT
-><A
-HREF="usbseth-init.html"
->Initializing the USB-ethernet Package</A
->&nbsp;--&nbsp;Initializing the USB-ethernet Package</DT
-><DT
-><A
-HREF="usbseth-data.html"
->USB-ethernet Data Transfers</A
->&nbsp;--&nbsp;Exchanging ethernet packets with the USB host</DT
-><DT
-><A
-HREF="usbseth-control.html"
->USB-ethernet State Handling</A
->&nbsp;--&nbsp;Maintaining the USB-ethernet connection with the host</DT
-><DT
-><A
-HREF="usbseth-netdev.html"
->Network Device for the eCos TCP/IP Stack</A
->&nbsp;--&nbsp;USB-ethernet support for the eCos TCP/IP Stack</DT
-><DT
-><A
-HREF="usbseth-host.html"
->Example Host-side Device Driver</A
->&nbsp;--&nbsp;Provide host-side support for the eCos USB-ethernet package</DT
-><DT
-><A
-HREF="usbseth-protocol.html"
->Communication Protocol</A
->&nbsp;--&nbsp;Protocol used between the host-side device driver and the eCos
-USB-ethernet package </DT
-></DL
-></DD
-><DT
->XXIV. <A
-HREF="hal-synth-arch.html"
->eCos Synthetic Target</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="synth.html"
->Overview</A
->&nbsp;--&nbsp;Overview</DT
-><DT
-><A
-HREF="synth-install.html"
->Installation</A
->&nbsp;--&nbsp;Preparing to use the synthetic target</DT
-><DT
-><A
-HREF="synth-running.html"
->Running a Synthetic Target Application</A
->&nbsp;--&nbsp;Arguments and configuration files</DT
-><DT
-><A
-HREF="synth-gui.html"
->The I/O Auxiliary's User Interface</A
->&nbsp;--&nbsp;Controlling the I/O Auxiliary</DT
-><DT
-><A
-HREF="synth-console.html"
->The Console Device</A
->&nbsp;--&nbsp;Show output from the eCos application</DT
-><DT
-><A
-HREF="synth-syscalls.html"
->System Calls</A
->&nbsp;--&nbsp;Access Linux system facilities</DT
-><DT
-><A
-HREF="synth-new-target.html"
->Writing New Devices - target</A
->&nbsp;--&nbsp;extending the synthetic target, target-side</DT
-><DT
-><A
-HREF="synth-new-host.html"
->Writing New Devices - host</A
->&nbsp;--&nbsp;extending the synthetic target, host-side</DT
-><DT
-><A
-HREF="synth-porting.html"
->Porting</A
->&nbsp;--&nbsp;Adding support for other hosts</DT
-></DL
-></DD
-><DT
->XXV. <A
-HREF="devs-usb-sa11x0-ref.html"
->SA11X0 USB Device Driver</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="devs-usb-sa11x0.html"
->SA11X0 USB Device Driver</A
->&nbsp;--&nbsp;Device driver for the on-chip SA11X0 USB device</DT
-></DL
-></DD
-><DT
->XXVI. <A
-HREF="devs-usb-nec-upd985xx-ref.html"
->NEC uPD985xx USB Device Driver</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="devs-usb-nec-upd985xx.html"
->NEC uPD985xx USB Device Driver</A
->&nbsp;--&nbsp;Device driver for the on-chip NEC uPD985xx USB device</DT
-></DL
-></DD
-><DT
->XXVII. <A
-HREF="devs-eth-synth-ecosynth-ref.html"
->Synthetic Target Ethernet Driver</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="devs-eth-synth-ecosynth.html"
->Synthetic Target Ethernet Driver</A
->&nbsp;--&nbsp;Allow synthetic target applications to perform ethernet I/O</DT
-></DL
-></DD
-><DT
->XXVIII. <A
-HREF="devs-watchdog-synth-ref.html"
->Synthetic Target Watchdog Device</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="devs-watchdog-synth.html"
->Synthetic Target Watchdog Device</A
->&nbsp;--&nbsp;Emulate watchdog hardware in the synthetic target</DT
-></DL
-></DD
-></DL
-></DIV
-><DIV
-CLASS="LOT"
-><DL
-CLASS="LOT"
-><DT
-><B
->List of Tables</B
-></DT
-><DT
->13-1. <A
-HREF="math-library-compatibility-modes.html#AEN10199"
->Behavior of math exception handling</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="LOT"
-><DL
-CLASS="LOT"
-><DT
-><B
->List of Examples</B
-></DT
-><DT
->1-1. <A
-HREF="configuring-the-redboot-environment.html#AEN2797"
->Sample DHCP configuration file</A
-></DT
-><DT
->1-2. <A
-HREF="configuring-the-redboot-environment.html#AEN2813"
->Sample <TT
-CLASS="FILENAME"
->/etc/named.conf</TT
-> for Red Hat Linux 7.x</A
-></DT
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The eCos Kernel</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/edb7xxx.html b/doc/html/ref/edb7xxx.html
deleted file mode 100644 (file)
index 5d39f71..0000000
+++ /dev/null
@@ -1,386 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312) </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM7 Atmel AT91 Evaluation Board (EB40)"
-HREF="at91.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM9 Agilent AAED2000"
-HREF="aaed2000.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="at91.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="aaed2000.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EDB7XXX">ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5321">Overview</H2
-><P
->RedBoot supports both serial ports on the board and
-the ethernet port. The default serial port settings are 38400,8,N,1. RedBoot
-also supports flash management on the EDB7xxx for the NOR flash
-only.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5331"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector (EDB7312 only).</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5355">Initial Installation Method</H2
-><P
->A Windows or Linux utility is used to program flash using serial port
-#1 via on-chip programming firmware. See board documentation for details on
-in situ flash programming. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5358">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5361">Memory Maps</H2
-><P
->The MMU page tables and LCD display buffer, if enabled, are located
-at the end of DRAM. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x01ffffff    NOR Flash (EDB7211, EDB7212)
-0x00000000 - 0x00ffffff    NOR Flash (EDB7312)
-0x10000000 - 0x11ffffff    NAND Flash
-0x20000000 - 0x2fffffff    Expansion 2
-0x30000000 - 0x3fffffff    Expansion 3
-0x40000000 - 0x4fffffff    PCMCIA 0
-0x50000000 - 0x5fffffff    PCMCIA 1
-0x60000000 - 0x600007ff    On-chip SRAM
-0x80000000 - 0x8fffffff    I/O registers
-0xc0000000 - 0xc1ffffff    DRAM (EDB7211, EDB7212)
-0xc0000000 - 0xc0ffffff    DRAM (EDB7312)
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x01ffffff  Y Y  DRAM 
-0x00000000 - 0x00fcffff  Y Y  DRAM (EDB7312)
-0x20000000 - 0x2fffffff  N N  Expansion 2
-0x30000000 - 0x3fffffff  N N  Expansion 3
-0x40000000 - 0x4fffffff  N N  PCMCIA 0
-0x50000000 - 0x5fffffff  N N  PCMCIA 1
-0x60000000 - 0x600007ff  Y Y  On-chip SRAM
-0x80000000 - 0x8fffffff  N N  I/O registers
-0xc0000000 - 0xc001ffff  N Y  LCD buffer (if configured)
-0xe0000000 - 0xe1ffffff  Y Y  NOR Flash (EDB7211, EDB7212)
-0xe0000000 - 0xe0ffffff  Y Y  NOR Flash (EDB7312)
-0xf0000000 - 0xf1ffffff  Y Y  NAND Flash
-
-The flash based RedBoot image occupies virtual addresses 0xe0000000 - 0xe003ffff.</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5368">Platform Resource Usage</H2
-><P
->The EP7xxx timer #2 is used as a polled timer to provide timeout support
-for network and XModem file transfers.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5371">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=edb7211
-export TARGET=edb7212
-export TARGET=edb7312
-export ARCH_DIR=arm
-export PLATFORM_DIR=edb7xxx</PRE
-></TD
-></TR
-></TABLE
->
-
-Use one of the TARGET settings only.</P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="at91.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="aaed2000.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM9 Agilent AAED2000</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/edk7708.html b/doc/html/ref/edk7708.html
deleted file mode 100644 (file)
index 9204fa5..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SuperH/SH3(SH7708) Hitachi EDK7708</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="PowerPC/MPC8XX Motorola MBX"
-HREF="mbx.html"><LINK
-REL="NEXT"
-TITLE="SuperH/SH3(SH7709) Hitachi Solution Engine 7709"
-HREF="se7709.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="mbx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="se7709.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EDK7708">SuperH/SH3(SH7708) Hitachi EDK7708</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7202">Overview</H2
-><P
->RedBoot uses
-the serial port. The default serial port settings are 38400,8,N,1.</P
-><P
->Management of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7213"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7232">Initial Installation Method</H2
-><P
->Program the ROM RedBoot image into flash using an eprom programmer.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7235">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the EDK7708 board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  Description
------------------------ -----------
-0x80000000 - 0x8001ffff Flash (AT29LV1024)
-0x88000000 - 0x881fffff DRAM
-0xa4000000 - 0xa40000ff LED ON
-0xb8000000 - 0xb80000ff LED ON</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7239">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=edk7708
-export ARCH_DIR=sh
-export PLATFORM_DIR=edk7708</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="mbx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="se7709.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PowerPC/MPC8XX Motorola MBX</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SuperH/SH3(SH7709) Hitachi Solution Engine 7709</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/excaliburarm9.html b/doc/html/ref/excaliburarm9.html
deleted file mode 100644 (file)
index 66f5d3f..0000000
+++ /dev/null
@@ -1,522 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM9 Altera Excalibur</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM9 Agilent AAED2000"
-HREF="aaed2000.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA110) Intel EBSA 285"
-HREF="ebsa285.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="aaed2000.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ebsa285.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EXCALIBURARM9">ARM/ARM9 Altera Excalibur</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5486">Overview</H2
-><P
->RedBoot supports the serial port labelled
-P2 on the board. The default serial port settings are 57600,8,N,1. RedBoot
-also supports flash management on the Excalibur.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5496"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-              board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-              flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->REDBOOT</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from top of RAM, but contained in
-              the board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_REDBOOT.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->RedBoot is currently hardwired to use a 128MB SDRAM SIMM module.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5523">Initial Installation Method</H2
-><P
->A Windows utility
-(<SPAN
-CLASS="APPLICATION"
->exc_flash_programmer.exe</SPAN
->) is used to
-program flash using the ByteBlasterMV JTAG unit.
-See board documentation for details on
-in situ flash programming. </P
-><P
->For ethernet to work (under Linux) the following jumper
-settings should be used on a REV 2 board: <P
-CLASS="LITERALLAYOUT"
->SW2-9&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;OFF<br>
-U179&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;:&nbsp;2-3<br>
-JP14-18&nbsp;&nbsp;:&nbsp;OPEN<br>
-JP40-41&nbsp;&nbsp;:&nbsp;2-3<br>
-JP51-55&nbsp;&nbsp;:&nbsp;2-3</P
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5529">Flash management</H2
-><P
->The ROMRAM and REDBOOT configurations supported on this platform
-differ only in the memory layout (ROMRAM configuration runs RedBoot from
-0x00008000 while REDBOOT configuration runs RedBoot from 0x07f80000). The
-REDBOOT configuration allows applications to be loaded and run from
-address 0x00008000.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5532">Special RedBoot Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels,
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the Excalibur are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location Linux kernel was loaded to</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->'initrd' ramdisk location</P
-></DD
-><DT
->-s <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of initrd ramdisk</P
-></DD
-></DL
-></DIV
-><P
->The parameters for kernel image base and size are automatically
-set after a load operation. So one way of starting the kernel would
-be:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->load -r -b 0x100000 zImage</B
-></TT
->
-Raw file loaded 0x00100000-0x001a3d6c
-RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->exec -c "console=ttyUA0,57600"</B
-></TT
->
-Using base address 0x00100000 and length 0x000a3d6c
-Uncompressing Linux.....</PRE
-></TD
-></TR
-></TABLE
->
-
-An image could also be put in flash and started directly:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&gt; <TT
-CLASS="USERINPUT"
-><B
->exec -b 0x40400000 -l 0xc0000 -c "console=ttyUA0,57600"</B
-></TT
->
-Uncompressing Linux.....</PRE
-></TD
-></TR
-></TABLE
->&#13;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5570">Memory Maps</H2
-><P
->The MMU page tables are located at 0x4000. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x07ffffff    SDRAM
-0x08000000 - 0x0805ffff    On-chip SRAM
-0x40000000 - 0x40ffffff    Flash
-0x7fffc000 - 0x7fffffff    I/O registers
-0x80000000 - 0x8001ffff    PLD
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x07ffffff  Y Y  SDRAM
-0x08000000 - 0x0805ffff  Y Y  On-chip SRAM
-0x40000000 - 0x403fffff  N Y  Flash
-0x7fffc000 - 0x7fffffff  N N  I/O registers
-0x80000000 - 0x8001ffff  N N  PLD</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5577">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=excalibur_arm9
-export ARCH_DIR=arm
-export PLATFORM_DIR=arm9/excalibur</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="aaed2000.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ebsa285.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM9 Agilent AAED2000</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA110) Intel EBSA 285</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/exec-command.html b/doc/html/ref/exec-command.html
deleted file mode 100644 (file)
index ab8cc41..0000000
+++ /dev/null
@@ -1,578 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->exec</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Executing Programs from RedBoot"
-HREF="executing-programs.html"><LINK
-REL="PREVIOUS"
-TITLE="go"
-HREF="go-command.html"><LINK
-REL="NEXT"
-TITLE="Rebuilding RedBoot"
-HREF="rebuilding-redboot.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="go-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rebuilding-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="EXEC-COMMAND">exec</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4570"
-></A
-><H2
->Name</H2
->exec&nbsp;--&nbsp;Execute a Linux kernel</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4573"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->exec</B
->  [-w <TT
-CLASS="REPLACEABLE"
-><I
-> timeout</I
-></TT
->] [-r <TT
-CLASS="REPLACEABLE"
-><I
-> ramdisk_address</I
-></TT
->] [-s <TT
-CLASS="REPLACEABLE"
-><I
-> ramdisk_length</I
-></TT
->] [-b <TT
-CLASS="REPLACEABLE"
-><I
-> load_address</I
-></TT
->
-           {-l <TT
-CLASS="REPLACEABLE"
-><I
-> load_length</I
-></TT
->}
-        ] [-c <TT
-CLASS="REPLACEABLE"
-><I
-> kernel_command_line</I
-></TT
->] [<TT
-CLASS="REPLACEABLE"
-><I
-> entry_point</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4590"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4592"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-w <TT
-CLASS="REPLACEABLE"
-><I
->timeout</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Time to wait before starting execution.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-r <TT
-CLASS="REPLACEABLE"
-><I
->ramdisk_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address in memory of "initrd"-style ramdisk - passed to Linux kernel.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-s <TT
-CLASS="REPLACEABLE"
-><I
->ramdisk_length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of ramdisk image - passed to Linux kernel.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b <TT
-CLASS="REPLACEABLE"
-><I
->load_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address in memory of the Linux kernel image.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Value set by <B
-CLASS="COMMAND"
->load</B
-> or <B
-CLASS="COMMAND"
->fis load</B
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->load_length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of Linux kernel image.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-c <TT
-CLASS="REPLACEABLE"
-><I
->kernel_command_line</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Command line to pass to the Linux kernel.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->entry_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Starting address for Linux kernel execution</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Implied by architecture</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4653"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command is used to execute a non-eCos application, typically a
-Linux kernel. Additional information may be passed to the kernel at startup
-time. This command is quite special (and unique from the <B
-CLASS="COMMAND"
->go</B
-> command) in
-that the program being executed may expect certain environmental setups, for
-example that the MMU is turned off, etc. </P
-><P
->The Linux kernel expects to have been loaded to a particular memory
-location which is architecture dependent(0xC0008000 in the case of the SA1110). 
-Since this memory is  used
-by RedBoot internally, it is not possible to load the kernel to that location
-directly. Thus the requirement for the "-b" option which tells the command
-where the kernel has been loaded. When the <B
-CLASS="COMMAND"
->exec</B
-> command runs, the image will
-be relocated to the appropriate location before being started. The "-r" and
-"-s" options are used to pass information to the kernel about where a statically
-loaded ramdisk (initrd) is located.</P
-><P
->The "-c" option can be used to pass textual "command line" information
-to the kernel.  If the command line data contains any punctuation (spaces,
-etc), then it must be quoted using the double-quote character '"'. If the
-quote character is required, it should be written as '\"'.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4661"
-></A
-><H2
->Examples</H2
-><P
->Execute a Linux kernel, passing a command line, which needs relocation.
-The result from RedBoot is normally quiet, with the target platform being
-passed over to Linux immediately.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->exec -b 0x100000 -l 0x80000 -c "noinitrd root=/dev/mtdblock3 console=ttySA0"</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-><P
->Execute a Linux kernel, default entry address and no relocation required, with a timeout.  
-The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> emphasized lines</I
-></SPAN
-> are output from the loaded kernel.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; exec <TT
-CLASS="USERINPUT"
-><B
->-c "console=ttyS0,38400 ip=dhcp nfsroot=/export/elfs-sh" -w 5</B
-></TT
->
-Now booting linux kernel:
-Base address 0x8c001000 Entry 0x8c210000
-Cmdline : console=ttyS0,38400 ip=dhcp nfsroot=/export/elfs-sh
-About to start execution at 0x8x210000 - abort with ^C within 5 seconds
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Linux version 2.4.10-pre6 (...) (gcc version 3.1-stdsh-010931) #3 Thu Sep 27 11:04:23 BST 2001</I
-></SPAN
-></PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="go-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rebuilding-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->go</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="executing-programs.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Rebuilding RedBoot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/executing-programs.html b/doc/html/ref/executing-programs.html
deleted file mode 100644 (file)
index 865f6c4..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Executing Programs from RedBoot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot Commands and Examples"
-HREF="redboot-commands-and-examples.html"><LINK
-REL="PREVIOUS"
-TITLE="Persistent State Flash-based Configuration and Control"
-HREF="persistent-state-flash.html"><LINK
-REL="NEXT"
-TITLE="go"
-HREF="go-command.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="persistent-state-flash.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. RedBoot Commands and Examples</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="go-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EXECUTING-PROGRAMS">Executing Programs from RedBoot</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="go-command.html"
->go</A
->&nbsp;--&nbsp;Execute a program</DT
-><DT
-><A
-HREF="exec-command.html"
->exec</A
->&nbsp;--&nbsp;Execute a Linux kernel</DT
-></DL
-></DIV
-><P
->Once
-an image has been loaded into memory, either via the <B
-CLASS="COMMAND"
->load</B
-> command or the <B
-CLASS="COMMAND"
->fis load</B
->
-command, execution may be transfered to that image.</P
-><P
->  <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The image is assumed to be a stand-alone entity, as RedBoot gives the
-entire platform over to it. Typical examples would be an eCos application
-or a Linux kernel.</P
-></BLOCKQUOTE
-></DIV
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="persistent-state-flash.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="go-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Persistent State Flash-based Configuration and Control</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->go</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-devices.html b/doc/html/ref/fileio-devices.html
deleted file mode 100644 (file)
index c8ed0c5..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Devices</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Select"
-HREF="fileio-select.html"><LINK
-REL="NEXT"
-TITLE="Writing a New Filesystem"
-HREF="fileio-writing.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-writing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-DEVICES">Chapter 28. Devices</H1
-><P
->Devices are accessed by means of a pseudo-filesystem, &quot;devfs&quot;, that is
-mounted on &quot;/dev&quot;. Open operations are translated into calls to
-<TT
-CLASS="FUNCTION"
->cyg_io_lookup()</TT
-> and if successful result in a file object whose
-<TT
-CLASS="STRUCTFIELD"
-><I
->f_ops</I
-></TT
-> functions translate filesystem API functions into calls into
-the device API.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-writing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Select</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Writing a New Filesystem</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-directories.html b/doc/html/ref/fileio-directories.html
deleted file mode 100644 (file)
index cc5b3c4..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Directories</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="File Table"
-HREF="fileio-file-table.html"><LINK
-REL="NEXT"
-TITLE="Synchronization"
-HREF="fileio-synchronization.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-file-table.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-synchronization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-DIRECTORIES">Chapter 23. Directories</H1
-><P
->Filesystem operations all take a directory pointer as one of their
-arguments.  A directory pointer is an opaque handle managed by the
-filesystem. It should encapsulate a reference to a specific directory
-within the filesystem. For example, it may be a pointer to the data
-structure that represents that directory (such as an inode), or a
-pointer to a pathname for the directory.</P
-><P
->The <TT
-CLASS="FUNCTION"
->chdir()</TT
-> filesystem function pointer has two
-modes of use. When passed a pointer in the
-<TT
-CLASS="PARAMETER"
-><I
->dir_out</I
-></TT
-> argument, it should locate the named
-directory and place a directory pointer there. If the
-<TT
-CLASS="PARAMETER"
-><I
->dir_out</I
-></TT
-> argument is NULL then the
-<TT
-CLASS="PARAMETER"
-><I
->dir</I
-></TT
-> argument is a previously generated
-directory pointer that can now be disposed of. When the infrastructure
-is implementing the <TT
-CLASS="FUNCTION"
->chdir()</TT
-> function it makes two
-calls to filesystem <TT
-CLASS="FUNCTION"
->chdir()</TT
-> functions. The first
-is to get a directory pointer for the new current directory. If this
-succeeds the second is to dispose of the old current directory
-pointer.</P
-><P
->The <TT
-CLASS="FUNCTION"
->opendir()</TT
-> function is used to open a
-directory for reading. This results in an open file object that can be
-read to return a sequence of <SPAN
-CLASS="STRUCTNAME"
->struct dirent</SPAN
->
-objects. The only operations that are allowed on this file are
-<TT
-CLASS="FUNCTION"
->read</TT
->, <TT
-CLASS="FUNCTION"
->lseek</TT
-> and
-<TT
-CLASS="FUNCTION"
->close</TT
->. Each read operation on this file should
-return a single <SPAN
-CLASS="STRUCTNAME"
->struct dirent</SPAN
-> object. When
-the end of the directory is reached, zero should be returned. The only
-seek operation allowed is a rewind to the start of the directory, by
-supplying an offset of zero and a <TT
-CLASS="PARAMETER"
-><I
->whence</I
-></TT
->
-specifier of <TT
-CLASS="LITERAL"
->SEEK_SET</TT
->.</P
-><P
->Most of these considerations are invisible to clients of a filesystem
-since they will access directories via the POSIX
-<TT
-CLASS="FUNCTION"
->opendir()</TT
->, <TT
-CLASS="FUNCTION"
->readdir()</TT
-> and
-<TT
-CLASS="FUNCTION"
->closedir()</TT
-> functions.</P
-><P
->Support for the <TT
-CLASS="FUNCTION"
->getcwd()</TT
-> function is provided by
-three mechanisms.  The first is to use the
-<TT
-CLASS="LITERAL"
->FS_INFO_GETCWD</TT
-> getinfo key on the filesystem to use
-any internal support that it has for this. If that fails it falls back
-on one of the two other mechanisms. If
-<TT
-CLASS="LITERAL"
->CYGPKG_IO_FILEIO_TRACK_CWD</TT
-> is set then the current
-directory is tracked textually in <TT
-CLASS="FUNCTION"
->chdir()</TT
-> and the result of that is
-reported in getcwd(). Otherwise an attempt is made to traverse the
-directory tree to its root using &quot;..&quot; entries.</P
-><P
->This last option is complicated and expensive, and relies on the
-filesystem supporting &quot;.&quot; and &quot;..&quot;  entries. This is not always the
-case, particularly if the filesystem has been ported from a
-non-UNIX-compatible source. Tracking the pathname textually will
-usually work, but might not produce optimum results when symbolic
-links are being used.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-file-table.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-synchronization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->File Table</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synchronization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-file-table.html b/doc/html/ref/fileio-file-table.html
deleted file mode 100644 (file)
index a3e1314..0000000
+++ /dev/null
@@ -1,415 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->File Table</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Mount Table"
-HREF="fileio-mount-table.html"><LINK
-REL="NEXT"
-TITLE="Directories"
-HREF="fileio-directories.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-mount-table.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-directories.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-FILE-TABLE">Chapter 22. File Table</H1
-><P
->Once a file has been opened it is represented by an open file
-object. These are allocated from an array of available file
-objects. User code accesses these open file objects via a second array
-of pointers which is indexed by small integer offsets. This gives the
-usual Unix file descriptor functionality, complete with the various
-duplication mechanisms.</P
-><P
->A file table entry has the following structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct CYG_FILE_TAG
-{
-    cyg_uint32                 f_flag;         /* file state                   */
-    cyg_uint16                  f_ucount;       /* use count                    */
-    cyg_uint16                  f_type;                /* descriptor type              */
-    cyg_uint32                  f_syncmode;     /* synchronization protocol     */
-    struct CYG_FILEOPS_TAG      *f_ops;         /* file operations              */
-    off_t                      f_offset;       /* current offset               */
-    CYG_ADDRWORD               f_data;         /* file or socket               */
-    CYG_ADDRWORD                f_xops;         /* extra type specific ops      */
-    cyg_mtab_entry              *f_mte;         /* mount table entry            */
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_flag</I
-></TT
-> field contains some FILEIO
-control bits and some bits propagated from the
-<TT
-CLASS="PARAMETER"
-><I
->flags</I
-></TT
-> argument of the
-<TT
-CLASS="FUNCTION"
->open()</TT
-> call (defined by
-<TT
-CLASS="LITERAL"
->CYG_FILE_MODE_MASK</TT
->).</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_ucount</I
-></TT
-> field contains a use count that
-controls when a file will be closed. Each duplicate in the file
-descriptor array counts for one reference here. It is also
-incremented around each I/O operation to ensure that the file cannot
-be closed while it has current I/O operations.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_type</I
-></TT
-> field indicates the type of the
-underlying file object. Some of the possible values here are
-<TT
-CLASS="LITERAL"
->CYG_FILE_TYPE_FILE</TT
->,
-<TT
-CLASS="LITERAL"
->CYG_FILE_TYPE_SOCKET</TT
-> or <TT
-CLASS="LITERAL"
->CYG_FILE_TYPE_DEVICE</TT
->.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_syncmode</I
-></TT
-> field is copied from the
-<TT
-CLASS="STRUCTFIELD"
-><I
->syncmode</I
-></TT
-> field of the implementing
-filesystem. Its use is described in <A
-HREF="fileio-synchronization.html"
->Chapter 24</A
->.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_offset</I
-></TT
-> field records the current file
-position. It is the responsibility of the file operation functions to
-keep this field up to date.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_data</I
-></TT
-> field contains private data
-placed here by the underlying filesystem. Normally this will be a
-pointer to, or handle on, the filesystem object that implements this
-file.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_xops</I
-></TT
-> field contains a pointer to any
-extra type specific operation functions. For example, the socket I/O
-system installs a pointer to a table of functions that implement the
-standard socket operations.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_mte</I
-></TT
-> field contains a pointer to the
-parent mount table entry for this file. It is used mainly to implement
-the synchronization protocol. This may contain a pointer to some other
-data structure in file objects not derived from a filesystem.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->f_ops</I
-></TT
-> field contains a pointer to a
-table of file I/O operations. This has the following structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct CYG_FILEOPS_TAG
-{
-        int    (*fo_read)      (struct CYG_FILE_TAG *fp, struct CYG_UIO_TAG *uio);
-        int    (*fo_write)     (struct CYG_FILE_TAG *fp, struct CYG_UIO_TAG *uio);
-        int     (*fo_lseek)     (struct CYG_FILE_TAG *fp, off_t *pos, int whence );
-        int    (*fo_ioctl)     (struct CYG_FILE_TAG *fp, CYG_ADDRWORD com,
-                                 CYG_ADDRWORD data);
-        int    (*fo_select)    (struct CYG_FILE_TAG *fp, int which, CYG_ADDRWORD info);
-        int     (*fo_fsync)     (struct CYG_FILE_TAG *fp, int mode );        
-        int    (*fo_close)     (struct CYG_FILE_TAG *fp);
-        int     (*fo_fstat)     (struct CYG_FILE_TAG *fp, struct stat *buf );
-        int     (*fo_getinfo)   (struct CYG_FILE_TAG *fp, int key, char *buf, int len );
-        int     (*fo_setinfo)   (struct CYG_FILE_TAG *fp, int key, char *buf, int len );
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->It should be obvious from the names of most of these functions what
-their responsibilities are. The <TT
-CLASS="FUNCTION"
->fo_getinfo()</TT
->
-and <TT
-CLASS="FUNCTION"
->fo_setinfo()</TT
-> function pointers, like their
-counterparts in the filesystem structure, implement minor control and
-info functions such as <TT
-CLASS="FUNCTION"
->fpathconf()</TT
->.</P
-><P
->The second argument to the <TT
-CLASS="FUNCTION"
->fo_read()</TT
-> and
-<TT
-CLASS="FUNCTION"
->fo_write()</TT
-> function pointers is a pointer to a
-UIO structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct CYG_UIO_TAG
-{
-    struct CYG_IOVEC_TAG *uio_iov;     /* pointer to array of iovecs */
-    int                         uio_iovcnt;    /* number of iovecs in array */
-    off_t               uio_offset;    /* offset into file this uio corresponds to */
-    ssize_t             uio_resid;     /* residual i/o count */
-    enum cyg_uio_seg     uio_segflg;    /* see above */
-    enum cyg_uio_rw      uio_rw;        /* see above */
-};
-
-struct CYG_IOVEC_TAG
-{
-    void           *iov_base;           /* Base address. */
-    ssize_t        iov_len;             /* Length. */
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->This structure encapsulates the parameters of any data transfer
-operation. It provides support for scatter/gather operations and
-records the progress of any data transfer. It is also compatible with
-the I/O operations of any BSD-derived network stacks and filesystems.</P
-><P
->When a file is opened (or a file object created by some other means,
-such as <TT
-CLASS="FUNCTION"
->socket()</TT
-> or <TT
-CLASS="FUNCTION"
->accept()</TT
->) it is the
-responsibility of the filesystem open operation to initialize all the
-fields of the object except the <TT
-CLASS="STRUCTFIELD"
-><I
->f_ucount</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->f_syncmode</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->f_mte</I
-></TT
-> fields. Since the
-<TT
-CLASS="STRUCTFIELD"
-><I
->f_flag</I
-></TT
-> field will already contain bits belonging to the FILEIO
-infrastructure, any changes to it must be made with the appropriate
-logical operations.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-mount-table.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-directories.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Mount Table</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Directories</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-fstab.html b/doc/html/ref/fileio-fstab.html
deleted file mode 100644 (file)
index 726b2d5..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->File System Table</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="fileio-intro.html"><LINK
-REL="NEXT"
-TITLE="Mount Table"
-HREF="fileio-mount-table.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-mount-table.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-FSTAB">Chapter 20. File System Table</H1
-><P
->The filesystem table is an array of entries that describe each
-filesystem implementation that is part of the system image. Each
-resident filesystem should export an entry to this table using the
-<TT
-CLASS="LITERAL"
->FSTAB_ENTRY()</TT
-> macro.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At present we do not support dynamic addition or removal of table
-entries. However, an API similar to <TT
-CLASS="FUNCTION"
->mount()</TT
-> would
-allow new entries to be added to the table.</P
-></BLOCKQUOTE
-></DIV
-><P
->The table entries are described by the following structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct cyg_fstab_entry
-{
-    const char          *name;          // filesystem name
-    CYG_ADDRWORD        data;           // private data value
-    cyg_uint32          syncmode;       // synchronization mode
-    
-    int     (*mount)    ( cyg_fstab_entry *fste, cyg_mtab_entry *mte );
-    int     (*umount)   ( cyg_mtab_entry *mte );
-    int     (*open)     ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                          int mode,  cyg_file *fte );
-    int     (*unlink)   ( cyg_mtab_entry *mte, cyg_dir dir, const char *name );
-    int     (*mkdir)    ( cyg_mtab_entry *mte, cyg_dir dir, const char *name );
-    int     (*rmdir)    ( cyg_mtab_entry *mte, cyg_dir dir, const char *name );
-    int     (*rename)   ( cyg_mtab_entry *mte, cyg_dir dir1, const char *name1,
-                          cyg_dir dir2, const char *name2 );
-    int     (*link)     ( cyg_mtab_entry *mte, cyg_dir dir1, const char *name1,
-                          cyg_dir dir2, const char *name2, int type );
-    int     (*opendir)  ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                          cyg_file *fte );
-    int     (*chdir)    ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                          cyg_dir *dir_out );
-    int     (*stat)     ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                          struct stat *buf);
-    int     (*getinfo)  ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                          int key, char *buf, int len );
-    int     (*setinfo)  ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                          int key, char *buf, int len );
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field points to a string that
-identifies this filesystem implementation. Typical values might be
-&quot;romfs&quot;, &quot;msdos&quot;, &quot;ext2&quot; etc.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->data</I
-></TT
-> field contains any private data
-that the filesystem needs, perhaps the root of its data structures.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->syncmode</I
-></TT
-> field contains a description of
-the locking protocol to be used when accessing this filesystem. It
-will be described in more detail in <A
-HREF="fileio-synchronization.html"
->Chapter 24</A
->.</P
-><P
->The remaining fields are pointers to functions that implement
-filesystem operations that apply to files and directories as whole
-objects. The operation implemented by each function should be obvious
-from the names, with a few exceptions:</P
-><P
->The <TT
-CLASS="FUNCTION"
->opendir()</TT
-> function pointer opens a directory
-for reading. See <A
-HREF="fileio-directories.html"
->Chapter 23</A
-> for details.</P
-><P
->The <TT
-CLASS="FUNCTION"
->getinfo()</TT
-> and
-<TT
-CLASS="FUNCTION"
->setinfo()</TT
-> function pointers provide support for
-various minor control and information functions such as
-<TT
-CLASS="FUNCTION"
->pathconf()</TT
-> and <TT
-CLASS="FUNCTION"
->access()</TT
->.</P
-><P
->With the exception of the <TT
-CLASS="FUNCTION"
->mount()</TT
-> and
-<TT
-CLASS="FUNCTION"
->umount()</TT
-> functions, all of these functions
-take three standard arguments, a pointer to a mount table entry (see
-later) a directory pointer (also see later) and a file name relative
-to the directory. These should be used by the filesystem to locate the
-object of interest.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-mount-table.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Mount Table</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-intro.html b/doc/html/ref/fileio-intro.html
deleted file mode 100644 (file)
index ff42c8a..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="NEXT"
-TITLE="File System Table"
-HREF="fileio-fstab.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-fstab.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-INTRO">Chapter 19. Introduction</H1
-><P
->This document describes the filesystem infrastructure provided in
-eCos. This is implemented by the FILEIO package and provides POSIX
-compliant file and IO operations together with the BSD socket
-API. These APIs are described in the relevant standards and original
-documentation and will not be described here. See <A
-HREF="posix-standard-support.html"
->Chapter 31</A
-> for details of which parts of the
-POSIX standard are supported.</P
-><P
->This document is concerned with the interfaces presented to client
-filesystems and network protocol stacks.</P
-><P
->The FILEIO infrastructure consist mainly of a set of tables containing
-pointers to the primary interface functions of a file system. This
-approach avoids problems of namespace pollution (for example several
-filesystems can have a function called <TT
-CLASS="FUNCTION"
->read()</TT
->, so long as they are
-static). The system is also structured to eliminate the need for
-dynamic memory allocation.</P
-><P
->New filesystems can be written directly to the interfaces described
-here. Existing filesystems can be ported very easily by the
-introduction of a thin veneer porting layer that translates FILEIO
-calls into native filesystem calls. </P
-><P
->The term filesystem should be read fairly loosely in this
-document. Object accessed through these interfaces could equally be
-network protocol sockets, device drivers, fifos, message queues or any
-other object that can present a file-like interface.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-fstab.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->File System Support Infrastructure</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->File System Table</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-mount-table.html b/doc/html/ref/fileio-mount-table.html
deleted file mode 100644 (file)
index e898f93..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Mount Table</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="File System Table"
-HREF="fileio-fstab.html"><LINK
-REL="NEXT"
-TITLE="File Table"
-HREF="fileio-file-table.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-fstab.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-file-table.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-MOUNT-TABLE">Chapter 21. Mount Table</H1
-><P
->The mount table records the filesystems that are actually active.
-These can be seen as being analogous to mount points in Unix systems.</P
-><P
->There are two sources of mount table entries. Filesystems (or other
-components) may export static entries to the table using the
-<TT
-CLASS="LITERAL"
->MTAB_ENTRY()</TT
-> macro. Alternatively, new entries may
-be installed at run time using the <TT
-CLASS="FUNCTION"
->mount()</TT
->
-function. Both types of entry may be unmounted with the
-<TT
-CLASS="FUNCTION"
->umount()</TT
-> function.</P
-><P
->A mount table entry has the following structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct cyg_mtab_entry
-{
-    const char          *name;          // name of mount point
-    const char          *fsname;        // name of implementing filesystem
-    const char          *devname;       // name of hardware device
-    CYG_ADDRWORD        data;           // private data value
-    cyg_bool            valid;          // Valid entry?
-    cyg_fstab_entry     *fs;            // pointer to fstab entry
-    cyg_dir             root;           // root directory pointer
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field identifies the mount
-point. This is used to direct rooted filenames (filenames that
-begin with &quot;/&quot;) to the correct filesystem. When a file
-name that begins with &quot;/&quot; is submitted, it is matched
-against the <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> fields of all valid mount
-table entries. The entry that yields the longest match terminating
-before a &quot;/&quot;, or end of string, wins and the appropriate
-function from the filesystem table entry is then passed the remainder
-of the file name together with a pointer to the table entry and the
-value of the <TT
-CLASS="STRUCTFIELD"
-><I
->root</I
-></TT
-> field as the directory
-pointer.</P
-><P
->For example, consider a mount table that contains the following
-entries:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      { "/",    "msdos", "/dev/hd0", ... }
-       { "/fd",  "msdos", "/dev/fd0", ... }
-       { "/rom", "romfs", "", ... }
-       { "/tmp", "ramfs", "", ... }
-       { "/dev", "devfs", "", ... }</PRE
-></TD
-></TR
-></TABLE
-><P
->An attempt to open &quot;/tmp/foo&quot; would be directed to the RAM
-filesystem while an open of &quot;/bar/bundy&quot; would be directed
-to the hard disc MSDOS filesystem. Opening &quot;/dev/tty0&quot; would
-be directed to the device management filesystem for lookup in the
-device table.</P
-><P
->Unrooted file names (those that do not begin with a '/') are passed
-straight to the filesystem that contains the current directory. The
-current directory is represented by a pair consisting of a mount table
-entry and a directory pointer.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->fsname</I
-></TT
-> field points to a string that
-should match the <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field of the
-implementing filesystem. During initialization the mount table is
-scanned and the <TT
-CLASS="STRUCTFIELD"
-><I
->fsname</I
-></TT
-> entries looked up in
-the filesystem table. For each match, the filesystem's _mount_
-function is called and if successful the mount table entry is marked
-as valid and the <TT
-CLASS="STRUCTFIELD"
-><I
->fs</I
-></TT
-> pointer installed.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->devname</I
-></TT
-> field contains the name of the
-device that this filesystem is to use. This may match an entry in the
-device table (see later) or may be a string that is specific to the
-filesystem if it has its own internal device drivers.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->data</I
-></TT
-> field is a private data value. This
-may be installed either statically when the table entry is defined, or
-may be installed during the <TT
-CLASS="FUNCTION"
->mount()</TT
-> operation.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->valid</I
-></TT
-> field indicates whether this mount
-point has actually been mounted successfully. Entries with a false
-<TT
-CLASS="STRUCTFIELD"
-><I
->valid</I
-></TT
-> field are ignored when searching for a
-name match.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->fs</I
-></TT
-> field is installed after a successful
-<TT
-CLASS="FUNCTION"
->mount()</TT
-> operation to point to the implementing
-filesystem.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->root</I
-></TT
-> field contains a directory pointer
-value that the filesystem can interpret as the root of its directory
-tree. This is passed as the <TT
-CLASS="PARAMETER"
-><I
->dir</I
-></TT
-> argument of
-filesystem functions that operate on rooted filenames. This field must
-be initialized by the filesystem's <TT
-CLASS="FUNCTION"
->mount()</TT
->
-function.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-fstab.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-file-table.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->File System Table</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->File Table</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-mounting.html b/doc/html/ref/fileio-mounting.html
deleted file mode 100644 (file)
index 6521d7e..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Initialization and Mounting</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Synchronization"
-HREF="fileio-synchronization.html"><LINK
-REL="NEXT"
-TITLE="Sockets"
-HREF="fileio-sockets.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-synchronization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-sockets.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-MOUNTING">Chapter 25. Initialization and Mounting</H1
-><P
->As mentioned previously, mount table entries can be sourced from two
-places. Static entries may be defined by using the
-<TT
-CLASS="LITERAL"
->MTAB_ENTRY()</TT
-> macro. Such entries will be
-automatically mounted on system startup.  For each entry in the mount
-table that has a non-null <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field the
-filesystem table is searched for a match with the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fsname</I
-></TT
-> field. If a match is found the
-filesystem's <TT
-CLASS="STRUCTFIELD"
-><I
->mount</I
-></TT
-> entry is called and if
-successful the mount table entry marked valid and the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fs</I
-></TT
-> field initialized. The
-<TT
-CLASS="FUNCTION"
->mount()</TT
-> function is responsible for initializing
-the <TT
-CLASS="STRUCTFIELD"
-><I
->root</I
-></TT
-> field.</P
-><P
->The size of the mount table is defined by the configuration value
-<TT
-CLASS="LITERAL"
->CYGNUM_FILEIO_MTAB_MAX</TT
->. Any entries that have not
-been statically defined are available for use by dynamic mounts.</P
-><P
->A filesystem may be mounted dynamically by calling <TT
-CLASS="FUNCTION"
->mount()</TT
->. This
-function has the following prototype:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int mount( const char *devname,
-           const char *dir,
-          const char *fsname);</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->devname</I
-></TT
-> argument identifies a device that
-will be used by this filesystem and will be assigned to the
-<TT
-CLASS="STRUCTFIELD"
-><I
->devname</I
-></TT
-> field of the mount table entry.</P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->dir</I
-></TT
-> argument is the mount point name, it
-will be assigned to the <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field of the
-mount table entry.</P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->fsname</I
-></TT
-> argument is the name of the
-implementing filesystem, it will be assigned to the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fsname</I
-></TT
-> entry of the mount table entry.</P
-><P
->The process of mounting a filesystem dynamically is as follows. First
-a search is made of the mount table for an entry with a NULL
-<TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field to be used for the new mount
-point. The filesystem table is then searched for an entry whose name
-matches <TT
-CLASS="STRUCTFIELD"
-><I
->fsname</I
-></TT
->. If this is successful then
-the mount table entry is initialized and the filesystem's
-<TT
-CLASS="FUNCTION"
->mount()</TT
-> operation called. If this is successful,
-the mount table entry is marked valid and the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fs</I
-></TT
-> field initialized.</P
-><P
->Unmounting a filesystem is done by the <TT
-CLASS="FUNCTION"
->umount()</TT
->
-function. This can unmount filesystems whether they were mounted
-statically or dynamically.</P
-><P
->The <TT
-CLASS="FUNCTION"
->umount()</TT
-> function has the following prototype:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int umount( const char *name );</PRE
-></TD
-></TR
-></TABLE
-><P
->The mount table is searched for a match between the
-<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
-> argument and the entry
-<TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field. When a match is found the
-filesystem's <TT
-CLASS="FUNCTION"
->umount()</TT
-> operation is called and if
-successful, the mount table entry is invalidated by setting its
-<TT
-CLASS="STRUCTFIELD"
-><I
->valid</I
-></TT
-> field false and the
-<TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field to NULL.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-synchronization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-sockets.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synchronization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Sockets</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-select.html b/doc/html/ref/fileio-select.html
deleted file mode 100644 (file)
index a6b86e2..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Select</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Sockets"
-HREF="fileio-sockets.html"><LINK
-REL="NEXT"
-TITLE="Devices"
-HREF="fileio-devices.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-sockets.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-devices.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-SELECT">Chapter 27. Select</H1
-><P
->The infrastructure provides support for implementing a select
-mechanism. This is modeled on the mechanism in the BSD kernel, but has
-been modified to make it implementation independent.</P
-><P
->The main part of the mechanism is the <TT
-CLASS="FUNCTION"
->select()</TT
->
-API call. This processes its arguments and calls the
-<TT
-CLASS="FUNCTION"
->fo_select()</TT
-> function pointer on all file objects
-referenced by the file descriptor sets passed to it. If the same
-descriptor appears in more than one descriptor set, the
-<TT
-CLASS="FUNCTION"
->fo_select()</TT
-> function will be called separately
-for each appearance.</P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->which</I
-></TT
-> argument of the
-<TT
-CLASS="FUNCTION"
->fo_select()</TT
-> function will either be
-<TT
-CLASS="LITERAL"
->CYG_FREAD</TT
-> to test for read conditions,
-<TT
-CLASS="LITERAL"
->CYG_FWRITE</TT
-> to test for write conditions or zero to
-test for exceptions. For each of these options the function should
-test whether the condition is satisfied and if so return true. If it
-is not satisfied then it should call
-<TT
-CLASS="FUNCTION"
->cyg_selrecord()</TT
-> with the
-<TT
-CLASS="PARAMETER"
-><I
->info</I
-></TT
-> argument that was passed to the function
-and a pointer to a <SPAN
-CLASS="STRUCTNAME"
->cyg_selinfo</SPAN
-> structure.</P
-><P
->The <SPAN
-CLASS="STRUCTNAME"
->cyg_selinfo</SPAN
-> structure is used to record information about current
-select operations. Any object that needs to support select must
-contain an instance of this structure.  Separate <SPAN
-CLASS="STRUCTNAME"
->cyg_selinfo</SPAN
->
-structures should be kept for each of the options that the object can
-select on - read, write or exception.</P
-><P
->If none of the file objects report that the select condition is
-satisfied, then the <TT
-CLASS="FUNCTION"
->select()</TT
-> API function puts
-the calling thread to sleep waiting either for a condition to become
-satisfied, or for the optional timeout to expire.</P
-><P
->A selectable object must have some asynchronous activity that may
-cause a select condition to become true - either via interrupts or the
-activities of other threads. Whenever a selectable condition is
-satisfied, the object should call <TT
-CLASS="FUNCTION"
->cyg_selwakeup()</TT
-> with a pointer to
-the appropriate <SPAN
-CLASS="STRUCTNAME"
->cyg_selinfo</SPAN
-> structure. If the thread is still waiting,
-this will cause it to wake up and repeat its poll of the file
-descriptors. This time around, the object that caused the wakeup
-should indicate that the select condition is satisfied, and the
-<TT
-CLASS="FUNCTION"
->select()</TT
-> API call will return.</P
-><P
->Note that <TT
-CLASS="FUNCTION"
->select()</TT
-> does not exhibit real time
-behaviour: the iterative poll of the descriptors, and the wakeup
-mechanism mitigate against this. If real time response to device or
-socket I/O is required then separate threads should be devoted to each
-device of interest and should use blocking calls to wait for a
-condition to become ready.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-sockets.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-devices.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Sockets</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Devices</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-sockets.html b/doc/html/ref/fileio-sockets.html
deleted file mode 100644 (file)
index 0fb005d..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Sockets</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Initialization and Mounting"
-HREF="fileio-mounting.html"><LINK
-REL="NEXT"
-TITLE="Select"
-HREF="fileio-select.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-mounting.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-SOCKETS">Chapter 26. Sockets</H1
-><P
->If a network stack is present, then the FILEIO infrastructure also
-provides access to the standard BSD socket calls.</P
-><P
->The netstack table contains entries which describe the network
-protocol stacks that are in the system image. Each resident stack
-should export an entry to this table using the
-<TT
-CLASS="LITERAL"
->NSTAB_ENTRY()</TT
-> macro.</P
-><P
->Each table entry has the following structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct cyg_nstab_entry
-{
-    cyg_bool            valid;          // true if stack initialized
-    cyg_uint32          syncmode;       // synchronization protocol
-    char                *name;          // stack name
-    char                *devname;       // hardware device name
-    CYG_ADDRWORD        data;           // private data value
-
-    int     (*init)( cyg_nstab_entry *nste );
-    int     (*socket)( cyg_nstab_entry *nste, int domain, int type,
-                      int protocol, cyg_file *file );
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->This table is analogous to a combination of the filesystem and mount
-tables.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->valid</I
-></TT
-> field is set
-<TT
-CLASS="LITERAL"
->true</TT
-> if the stack's <TT
-CLASS="FUNCTION"
->init()</TT
->
-function returned successfully and the
-<TT
-CLASS="STRUCTFIELD"
-><I
->syncmode</I
-></TT
-> field contains the
-<TT
-CLASS="LITERAL"
->CYG_SYNCMODE_SOCK_*</TT
-> bits described above.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
-> field contains the name of the
-protocol stack.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->devname</I
-></TT
-> field names the device that the stack is using. This may
-reference a device under &quot;/dev&quot;, or may be a name that is only
-meaningful to the stack itself.</P
-><P
->The <TT
-CLASS="FUNCTION"
->init()</TT
-> function pointer is called during
-system initialization to start the protocol stack running. If it
-returns non-zero the <TT
-CLASS="STRUCTFIELD"
-><I
->valid</I
-></TT
-> field is set
-false and the stack will be ignored subsequently.</P
-><P
->The <TT
-CLASS="FUNCTION"
->socket()</TT
-> function is called to attempt to create a socket in the
-stack. When the <TT
-CLASS="FUNCTION"
->socket()</TT
-> API function is called the netstack table is
-scanned and for each valid entry the <TT
-CLASS="FUNCTION"
->socket()</TT
->
-function pointer is called. If
-this returns non-zero then the scan continues to the next valid stack,
-or terminates with an error if the end of the table is reached.</P
-><P
->The result of a successful socket call is an initialized file object
-with the <TT
-CLASS="STRUCTFIELD"
-><I
->f_xops</I
-></TT
-> field pointing to the
-following structure:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct cyg_sock_ops
-{
-    int (*bind)      ( cyg_file *fp, const sockaddr *sa, socklen_t len );
-    int (*connect)   ( cyg_file *fp, const sockaddr *sa, socklen_t len );
-    int (*accept)    ( cyg_file *fp, cyg_file *new_fp,
-                       struct sockaddr *name, socklen_t *anamelen );
-    int (*listen)    ( cyg_file *fp, int len );
-    int (*getname)   ( cyg_file *fp, sockaddr *sa, socklen_t *len, int peer );
-    int (*shutdown)  ( cyg_file *fp, int flags );
-    int (*getsockopt)( cyg_file *fp, int level, int optname,
-                       void *optval, socklen_t *optlen);
-    int (*setsockopt)( cyg_file *fp, int level, int optname,
-                       const void *optval, socklen_t optlen);
-    int (*sendmsg)   ( cyg_file *fp, const struct msghdr *m,
-                       int flags, ssize_t *retsize );
-    int (*recvmsg)   ( cyg_file *fp, struct msghdr *m,
-                       socklen_t *namelen, ssize_t *retsize );
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->It should be obvious from the names of these functions which API calls
-they provide support for. The <TT
-CLASS="FUNCTION"
->getname()</TT
-> function
-pointer provides support for both <TT
-CLASS="FUNCTION"
->getsockname()</TT
->
-and <TT
-CLASS="FUNCTION"
->getpeername()</TT
-> while the
-<TT
-CLASS="FUNCTION"
->sendmsg()</TT
-> and <TT
-CLASS="FUNCTION"
->recvmsg()</TT
->
-function pointers provide support for <TT
-CLASS="FUNCTION"
->send()</TT
->,
-<TT
-CLASS="FUNCTION"
->sendto()</TT
->, <TT
-CLASS="FUNCTION"
->sendmsg()</TT
->,
-<TT
-CLASS="FUNCTION"
->recv()</TT
->, <TT
-CLASS="FUNCTION"
->recvfrom()</TT
-> and
-<TT
-CLASS="FUNCTION"
->recvmsg()</TT
-> as appropriate.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-mounting.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Initialization and Mounting</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Select</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-synchronization.html b/doc/html/ref/fileio-synchronization.html
deleted file mode 100644 (file)
index ae45589..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synchronization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Directories"
-HREF="fileio-directories.html"><LINK
-REL="NEXT"
-TITLE="Initialization and Mounting"
-HREF="fileio-mounting.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-directories.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-mounting.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-SYNCHRONIZATION">Chapter 24. Synchronization</H1
-><P
->The FILEIO infrastructure provides a synchronization mechanism for
-controlling concurrent access to filesystems. This allows existing
-filesystems to be ported to eCos, even if they do not have their own
-synchronization mechanisms. It also allows new filesystems to be
-implemented easily without having to consider the synchronization
-issues.</P
-><P
->The infrastructure maintains a mutex for each entry in each of
-the main tables: filesystem table, mount table and file table. For
-each class of operation each of these mutexes may be locked before the
-corresponding filesystem operation is invoked.</P
-><P
->The synchronization protocol required by a filesystem is described
-by the <TT
-CLASS="STRUCTFIELD"
-><I
->syncmode</I
-></TT
-> field of the filesystem
-table entry. This is a combination of the following flags:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_FILE_FILESYSTEM</TT
-></DT
-><DD
-><P
->Lock the filesystem table entry mutex
-during all filesystem level operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_FILE_MOUNTPOINT</TT
-></DT
-><DD
-><P
->Lock the mount table entry mutex
-during all filesystem level operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_IO_FILE</TT
-></DT
-><DD
-><P
->Lock the file table entry mutex during all
-I/O operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_IO_FILESYSTEM</TT
-></DT
-><DD
-><P
->Lock the filesystem table entry mutex during all I/O operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_IO_MOUNTPOINT</TT
-></DT
-><DD
-><P
->Lock the mount table entry mutex during all I/O operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_SOCK_FILE</TT
-></DT
-><DD
-><P
->Lock the file table entry mutex during all socket operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_SOCK_NETSTACK</TT
-></DT
-><DD
-><P
->Lock the network stack table entry mutex during all socket operations.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_SYNCMODE_NONE</TT
-></DT
-><DD
-><P
->Perform no locking at all during any operations.</P
-></DD
-></DL
-></DIV
-><P
->The value of the <TT
-CLASS="STRUCTFIELD"
-><I
->syncmode</I
-></TT
-> field in the
-filesystem table entry will be copied by the infrastructure to the
-open file object after a successful <TT
-CLASS="FUNCTION"
->open()</TT
-> operation.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-directories.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-mounting.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Directories</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Initialization and Mounting</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio-writing.html b/doc/html/ref/fileio-writing.html
deleted file mode 100644 (file)
index 3ba8b01..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Writing a New Filesystem</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="File System Support Infrastructure"
-HREF="fileio.html"><LINK
-REL="PREVIOUS"
-TITLE="Devices"
-HREF="fileio-devices.html"><LINK
-REL="NEXT"
-TITLE="PCI Library"
-HREF="io-pci.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-devices.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="FILEIO-WRITING">Chapter 29. Writing a New Filesystem</H1
-><P
->To create a new filesystem it is necessary to define the fstab entry
-and the file IO operations. The easiest way to do this is to copy an
-existing filesystem: either the test filesystem in the FILEIO package,
-or the RAM or ROM filesystem packages.</P
-><P
->To make this clearer, the following is a brief tour of the FILEIO
-relevant parts of the RAM filesystem.</P
-><P
->First, it is necessary to provide forward definitions of the functions
-that constitute the filesystem interface:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->//==========================================================================
-// Forward definitions
-
-// Filesystem operations
-static int ramfs_mount    ( cyg_fstab_entry *fste, cyg_mtab_entry *mte );
-static int ramfs_umount   ( cyg_mtab_entry *mte );
-static int ramfs_open     ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                             int mode,  cyg_file *fte );
-static int ramfs_unlink   ( cyg_mtab_entry *mte, cyg_dir dir, const char *name );
-static int ramfs_mkdir    ( cyg_mtab_entry *mte, cyg_dir dir, const char *name );
-static int ramfs_rmdir    ( cyg_mtab_entry *mte, cyg_dir dir, const char *name );
-static int ramfs_rename   ( cyg_mtab_entry *mte, cyg_dir dir1, const char *name1,
-                             cyg_dir dir2, const char *name2 );
-static int ramfs_link     ( cyg_mtab_entry *mte, cyg_dir dir1, const char *name1,
-                             cyg_dir dir2, const char *name2, int type );
-static int ramfs_opendir  ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                             cyg_file *fte );
-static int ramfs_chdir    ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                             cyg_dir *dir_out );
-static int ramfs_stat     ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                             struct stat *buf);
-static int ramfs_getinfo  ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                             int key, void *buf, int len );
-static int ramfs_setinfo  ( cyg_mtab_entry *mte, cyg_dir dir, const char *name,
-                             int key, void *buf, int len );
-
-// File operations
-static int ramfs_fo_read      (struct CYG_FILE_TAG *fp, struct CYG_UIO_TAG *uio);
-static int ramfs_fo_write     (struct CYG_FILE_TAG *fp, struct CYG_UIO_TAG *uio);
-static int ramfs_fo_lseek     (struct CYG_FILE_TAG *fp, off_t *pos, int whence );
-static int ramfs_fo_ioctl     (struct CYG_FILE_TAG *fp, CYG_ADDRWORD com,
-                                CYG_ADDRWORD data);
-static int ramfs_fo_fsync     (struct CYG_FILE_TAG *fp, int mode );        
-static int ramfs_fo_close     (struct CYG_FILE_TAG *fp);
-static int ramfs_fo_fstat     (struct CYG_FILE_TAG *fp, struct stat *buf );
-static int ramfs_fo_getinfo   (struct CYG_FILE_TAG *fp, int key, void *buf, int len );
-static int ramfs_fo_setinfo   (struct CYG_FILE_TAG *fp, int key, void *buf, int len );
-
-// Directory operations
-static int ramfs_fo_dirread      (struct CYG_FILE_TAG *fp, struct CYG_UIO_TAG *uio);
-static int ramfs_fo_dirlseek     (struct CYG_FILE_TAG *fp, off_t *pos, int whence );</PRE
-></TD
-></TR
-></TABLE
-><P
->We define all of the fstab entries and all of the file IO
-operations. We also define alternatives for the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fo_read</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->fo_lseek</I
-></TT
-> file IO operations.</P
-><P
->We can now define the filesystem table entry. There is a macro,
-<TT
-CLASS="LITERAL"
->FSTAB_ENTRY</TT
-> to do this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->//==========================================================================
-// Filesystem table entries
-
-// -------------------------------------------------------------------------
-// Fstab entry.
-// This defines the entry in the filesystem table.
-// For simplicity we use _FILESYSTEM synchronization for all accesses since
-// we should never block in any filesystem operations.
-
-FSTAB_ENTRY( ramfs_fste, "ramfs", 0,
-             CYG_SYNCMODE_FILE_FILESYSTEM|CYG_SYNCMODE_IO_FILESYSTEM,
-             ramfs_mount,
-             ramfs_umount,
-             ramfs_open,
-             ramfs_unlink,
-             ramfs_mkdir,
-             ramfs_rmdir,
-             ramfs_rename,
-             ramfs_link,
-             ramfs_opendir,
-             ramfs_chdir,
-             ramfs_stat,
-             ramfs_getinfo,
-             ramfs_setinfo);</PRE
-></TD
-></TR
-></TABLE
-><P
->The first argument to this macro gives the fstab entry a name, the
-remainder are initializers for the field of the structure.</P
-><P
->We must also define the file operations table that is installed in all
-open file table entries:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// -------------------------------------------------------------------------
-// File operations.
-// This set of file operations are used for normal open files.
-
-static cyg_fileops ramfs_fileops =
-{
-    ramfs_fo_read,
-    ramfs_fo_write,
-    ramfs_fo_lseek,
-    ramfs_fo_ioctl,
-    cyg_fileio_seltrue,
-    ramfs_fo_fsync,
-    ramfs_fo_close,
-    ramfs_fo_fstat,
-    ramfs_fo_getinfo,
-    ramfs_fo_setinfo
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->These all point to functions supplied by the filesystem except the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fo_select</I
-></TT
-> field which is filled with a
-pointer to <TT
-CLASS="FUNCTION"
->cyg_fileio_seltrue()</TT
->. This is provided
-by the FILEIO package and is a select function that always returns
-true to all operations.</P
-><P
->Finally, we need to define a set of file operations for use when
-reading directories. This table only defines the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fo_read</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->fo_lseek</I
-></TT
-> operations. The rest are filled
-with stub functions supplied by the FILEIO package that just return an
-error code.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// -------------------------------------------------------------------------
-// Directory file operations.
-// This set of operations are used for open directories. Most entries
-// point to error-returning stub functions. Only the read, lseek and
-// close entries are functional.
-
-static cyg_fileops ramfs_dirops =
-{
-    ramfs_fo_dirread,
-    (cyg_fileop_write *)cyg_fileio_enosys,
-    ramfs_fo_dirlseek,
-    (cyg_fileop_ioctl *)cyg_fileio_enosys,
-    cyg_fileio_seltrue,
-    (cyg_fileop_fsync *)cyg_fileio_enosys,
-    ramfs_fo_close,
-    (cyg_fileop_fstat *)cyg_fileio_enosys,
-    (cyg_fileop_getinfo *)cyg_fileio_enosys,
-    (cyg_fileop_setinfo *)cyg_fileio_enosys
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->If the filesystem wants to have an instance automatically mounted on
-system startup, it must also define a mount table entry. This is done
-with the <TT
-CLASS="LITERAL"
->MTAB_ENTRY</TT
-> macro. This is an example from
-the test filesystem of how this is used:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->MTAB_ENTRY( testfs_mte1,
-                   "/",
-                   "testfs",
-                   "",
-                   0);</PRE
-></TD
-></TR
-></TABLE
-><P
->The first argument provides a name for the table entry. The following
-arguments provide initialization for the
-<TT
-CLASS="STRUCTFIELD"
-><I
->name</I
-></TT
->, <TT
-CLASS="STRUCTFIELD"
-><I
->fsname</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->devname</I
-></TT
-> and <TT
-CLASS="STRUCTFIELD"
-><I
->data</I
-></TT
->
-fields respectively.</P
-><P
->These definitions are adequate to let the new filesystem interact
-with the FILEIO package. The new filesystem now needs to be fleshed
-out with implementations of the functions defined above. Obviously,
-the exact form this takes will depend on what the filesystem is
-intended to do. Take a look at the RAM and ROM filesystems for
-examples of how this has been done.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-devices.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Devices</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="fileio.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PCI Library</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fileio.html b/doc/html/ref/fileio.html
deleted file mode 100644 (file)
index fcae8cc..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->File System Support Infrastructure</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="The API"
-HREF="devapi-api.html"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="fileio-intro.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="devapi-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fileio-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="FILEIO"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->VI. File System Support Infrastructure</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->19. <A
-HREF="fileio-intro.html"
->Introduction</A
-></DT
-><DT
->20. <A
-HREF="fileio-fstab.html"
->File System Table</A
-></DT
-><DT
->21. <A
-HREF="fileio-mount-table.html"
->Mount Table</A
-></DT
-><DT
->22. <A
-HREF="fileio-file-table.html"
->File Table</A
-></DT
-><DT
->23. <A
-HREF="fileio-directories.html"
->Directories</A
-></DT
-><DT
->24. <A
-HREF="fileio-synchronization.html"
->Synchronization</A
-></DT
-><DT
->25. <A
-HREF="fileio-mounting.html"
->Initialization and Mounting</A
-></DT
-><DT
->26. <A
-HREF="fileio-sockets.html"
->Sockets</A
-></DT
-><DT
->27. <A
-HREF="fileio-select.html"
->Select</A
-></DT
-><DT
->28. <A
-HREF="fileio-devices.html"
->Devices</A
-></DT
-><DT
->29. <A
-HREF="fileio-writing.html"
->Writing a New Filesystem</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="devapi-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fileio-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The API</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/filters.png b/doc/html/ref/filters.png
deleted file mode 100644 (file)
index ed89b28..0000000
Binary files a/doc/html/ref/filters.png and /dev/null differ
diff --git a/doc/html/ref/fis-create-command.html b/doc/html/ref/fis-create-command.html
deleted file mode 100644 (file)
index be67730..0000000
+++ /dev/null
@@ -1,576 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis create</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis free"
-HREF="fis-free-command.html"><LINK
-REL="NEXT"
-TITLE="fis load"
-HREF="fis-load-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-free-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-load-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-CREATE-COMMAND">fis create</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4008"
-></A
-><H2
->Name</H2
->fis create&nbsp;--&nbsp;Create flash image</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4011"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis create</B
->  {-b <TT
-CLASS="REPLACEABLE"
-><I
-> data address</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
-> length</I
-></TT
->} [-f <TT
-CLASS="REPLACEABLE"
-><I
-> flash address</I
-></TT
->] [-e <TT
-CLASS="REPLACEABLE"
-><I
-> entry</I
-></TT
->] [-r <TT
-CLASS="REPLACEABLE"
-><I
-> relocation address</I
-></TT
->] [-s <TT
-CLASS="REPLACEABLE"
-><I
-> data length</I
-></TT
->] [-n ] [<TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4029"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4031"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of data to be written to the flash.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of last loaded file. If not set in a load
-             operation, it must be specified.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of flash area to occopy. If specified, and
-             the named image already exists, the length must match
-             the value in the FIS directory.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of area reserved in FIS directory if the
-             image already exists, or the length of the last loaded
-             file. If neither are set, it must be specified.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-f</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of flash area to occopy.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The address of an area reserved in the FIS
-             directory for extant images. Otherwise the first free block
-             which is large enough will be used.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-e</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Entry address for an executable image, used by
-             the <B
-CLASS="COMMAND"
->fis load</B
-> command.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The entry address of last loaded file.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-r</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address where the image should be relocated to by
-             the <B
-CLASS="COMMAND"
->fis load</B
-> command. This is only
-             relevant for images that will be loaded with the
-             <B
-CLASS="COMMAND"
->fis load</B
-> command.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The load address of the last loaded file.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-s</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Actual length of data written to image. This is
-             used to control the range over which the checksum is
-             made.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->It defaults to the length of the last loaded
-             file.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-n</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->When set, no image data will be written to the
-             flash. Only the FIS directory will be updated.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name of flash image.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4088"
-></A
-><H2
->Description</H2
-><P
->This command creates an image in the FIS directory. The data for the
-image must exist in RAM memory before the copy. Typically, you would use the
-RedBoot <B
-CLASS="COMMAND"
->load</B
-> command to load file into
-RAM and then the <B
-CLASS="COMMAND"
->fis create</B
-> command to write
-it to a flash image.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4093"
-></A
-><H2
->Examples</H2
-><P
->Trying to create an extant image, will require the action
-      to be verified.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis create RedBoot -f 0xa0000000 -b 0x8c400000 -l 0x20000</B
-></TT
->
-An image named &#8216;RedBoot&#8217; exists - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->n</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Create a new test image, let the command find a suitable place.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis create junk -b 0x8c400000 -l 0x20000</B
-></TT
->
-... Erase from 0xa0040000-0xa0060000: .
-... Program from 0x8c400000-0x8c420000 at 0xa0040000: .
-... Erase from 0xa0fe0000-0xa1000000: .
-... Program from 0x8c7d0000-0x8c7f0000 at 0xa0fe0000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Update the RedBoot[RAM] image.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load redboot_RAM.img</B
-></TT
->
-Entry point: 0x060213c0, address range: 0x06020000-0x06036cc0                   
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis create RedBoot[RAM]</B
-></TT
->
-No memory address set.
-An image named 'RedBoot[RAM]' exists - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-* CAUTION * about to program 'RedBoot[RAM]'
-            at 0x00020000..0x00036cbf from 0x06020000 - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0x00020000-0x00040000: ..
-... Program from 0x06020000-0x06036cc0 at 0x00020000: ..
-... Erase from 0x00070000-0x00080000: .
-... Program from 0x0606f000-0x0607f000 at 0x00070000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-free-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-load-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis free</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis load</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-delete-command.html b/doc/html/ref/fis-delete-command.html
deleted file mode 100644 (file)
index fa05a71..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis delete</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis load"
-HREF="fis-load-command.html"><LINK
-REL="NEXT"
-TITLE="fis lock"
-HREF="fis-lock-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-load-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-lock-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-DELETE-COMMAND">fis delete</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4166"
-></A
-><H2
->Name</H2
->fis delete&nbsp;--&nbsp;Delete flash image</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4169"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis delete</B
->  {<TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4174"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4176"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name of image that should be deleted.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4195"
-></A
-><H2
->Description</H2
-><P
->This command removes an image from the FIS. The flash memory will be
-erased as part of the execution of this command, as well as removal of the
-name from the FIS directory.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Certain images are reserved by RedBoot and cannot be deleted.
-RedBoot will issue a warning if this is attempted.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4200"
-></A
-><H2
->Examples</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis list</B
-></TT
->
-Name              flash addr   Mem addr    Length    Entry point
-RedBoot          0xA0000000   0xA0000000  0x020000  0x80000000
-RedBoot config   0xA0FC0000   0xA0FC0000  0x020000  0x00000000
-FIS directory    0xA0FE0000   0xA0FE0000  0x020000  0x00000000
-junk             0xA0040000   0x8C400000  0x020000  0x80000000
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis delete junk</B
-></TT
->
-Delete image &#8216;junk&#8217; - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0xa0040000-0xa0060000: .
-... Erase from 0xa0fe0000-0xa1000000: .
-... Program from 0x8c7d0000-0x8c7f0000 at 0xa0fe0000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-load-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-lock-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis load</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis lock</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-erase-command.html b/doc/html/ref/fis-erase-command.html
deleted file mode 100644 (file)
index 5ff674e..0000000
+++ /dev/null
@@ -1,317 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis erase</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis unlock"
-HREF="fis-unlock-command.html"><LINK
-REL="NEXT"
-TITLE="fis write"
-HREF="fis-write-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-unlock-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-write-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-ERASE-COMMAND">fis erase</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4305"
-></A
-><H2
->Name</H2
->fis erase&nbsp;--&nbsp;Erase flash area</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4308"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis erase</B
->  {-f <TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4315"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4317"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of area to be erased.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of area to be erased.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4342"
-></A
-><H2
->Description</H2
-><P
->This command is used to erase a portion of flash memory forcibly. There
-is no cross-checking to ensure that the area being erased does not correspond
-to an existing image.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4345"
-></A
-><H2
->Examples</H2
-><P
->Erase an area of the flash
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis erase -f 0xa0040000 -l 0x20000</B
-></TT
->
-... Erase from 0xa0040000-0xa0060000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-unlock-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-write-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis unlock</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis write</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-free-command.html b/doc/html/ref/fis-free-command.html
deleted file mode 100644 (file)
index fc9a910..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis free</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis list"
-HREF="fis-list-command.html"><LINK
-REL="NEXT"
-TITLE="fis create"
-HREF="fis-create-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-list-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-create-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-FREE-COMMAND">fis free</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3991"
-></A
-><H2
->Name</H2
->fis free&nbsp;--&nbsp;Free flash image</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3994"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis free</B
-> </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3997"
-></A
-><H2
->Description</H2
-><P
->This command shows which areas of the flash memory are currently
-not in use. When a block contains non-erased contents it is considered
-in use. Since it is possible to force an image to be loaded at a
-particular flash location, this command can be used to check whether
-that location is in use by any other image.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->There is currently no cross-checking between actual flash
-contents and the FIS directory, which mans that there could be a
-segment of flash which is not erased that does not correspond to a
-named image, or vice-versa.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4002"
-></A
-><H2
->Examples</H2
-><P
->Show free flash areas.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis free</B
-></TT
->
-        0xA0040000 .. 0xA07C0000
-        0xA0840000 .. 0xA0FC0000</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-list-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-create-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis list</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis create</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-init-command.html b/doc/html/ref/fis-init-command.html
deleted file mode 100644 (file)
index 30d2141..0000000
+++ /dev/null
@@ -1,342 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis init</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="NEXT"
-TITLE="fis list"
-HREF="fis-list-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-list-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-INIT-COMMAND">fis init</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3892"
-></A
-><H2
->Name</H2
->fis init&nbsp;--&nbsp;Initialize Flash Image System (FIS)</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3895"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis init</B
->  [<TT
-CLASS="REPLACEABLE"
-><I
->-f</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3900"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3902"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-f</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->All blocks of flash memory (except for the boot
-             blocks) will be erased as part of the initialization
-             procedure.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3920"
-></A
-><H2
->Description</H2
-><P
->This command is used to initialize the Flash Image System
-       (FIS). It should normally only be executed once, when RedBoot
-       is first installed on the hardware. If the reserved images or
-       their sizes in the FIS change, due to a different configuration
-       of RedBoot being used, it may be necessary to issue the command
-       again though.
-
-        <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Subsequent executions will cause loss of
-       previously stored information in the FIS.</P
-></BLOCKQUOTE
-></DIV
->
-     </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3925"
-></A
-><H2
->Examples</H2
-><P
->Initialize the FIS directory.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init</B
-></TT
->
-About to initialize [format] flash image system - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-*** Initialize FLASH Image System
-    Warning: device contents not erased, some blocks may not be usable
-... Erase from 0x00070000-0x00080000: .
-... Program from 0x0606f000-0x0607f000 at 0x00070000: .</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Initialize the FIS directory and all of flash memory, except for first
-blocks of the flash where the boot monitor resides.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init -f</B
-></TT
->
-About to initialize [format] flash image system - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-*** Initialize FLASH Image System                                               
-... Erase from 0x00020000-0x00070000: .....                                     
-... Erase from 0x00080000-0x00080000:                                           
-... Erase from 0x00070000-0x00080000: .                                         
-... Program from 0x0606f000-0x0607f000 at 0x00070000: .                         </PRE
-></TD
-></TR
-></TABLE
-> </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-list-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Flash Image System (FIS)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis list</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-list-command.html b/doc/html/ref/fis-list-command.html
deleted file mode 100644 (file)
index 61ad4b4..0000000
+++ /dev/null
@@ -1,391 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis list</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis init"
-HREF="fis-init-command.html"><LINK
-REL="NEXT"
-TITLE="fis free"
-HREF="fis-free-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-init-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-free-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-LIST-COMMAND">fis list</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3936"
-></A
-><H2
->Name</H2
->fis list&nbsp;--&nbsp;List Flash Image System directory</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3939"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis list</B
->  [<TT
-CLASS="REPLACEABLE"
-><I
->-f</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3944"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3946"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-c</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Show image checksum instead of memory address
-             (column <TT
-CLASS="COMPUTEROUTPUT"
->Mem addr</TT
-> is
-             replaced by
-             <TT
-CLASS="COMPUTEROUTPUT"
->Checksum</TT
->).</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-d</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Show image data length instead of amount of flash
-             occupied by image (column
-             <TT
-CLASS="COMPUTEROUTPUT"
->Length</TT
-> is replaced by
-             <TT
-CLASS="COMPUTEROUTPUT"
->Datalen</TT
->).</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3973"
-></A
-><H2
->Description</H2
-><P
->This command lists the images currently available in the FIS. Certain
-images used by RedBoot have fixed names and have reserved slots in the
-FIS (these can be seen after using the <B
-CLASS="COMMAND"
->fis init</B
->
-command). Other images can be manipulated by the user.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The images are listed in the order they appear in the FIS
-directory, not by name or creation time.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3979"
-></A
-><H2
->Examples</H2
-><P
->List the FIS directory.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis list</B
-></TT
->
-Name              FLASH addr  Mem addr    Length      Entry point               
-RedBoot           0x00000000  0x00000000  0x00020000  0x00000000                
-RedBoot config    0x0007F000  0x0007F000  0x00001000  0x00000000                
-FIS directory     0x00070000  0x00070000  0x0000F000  0x00000000                </PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->List the FIS directory, with image checksums substituted for
-memory addresses.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis list -c</B
-></TT
->
-Name              FLASH addr  Checksum    Length      Entry point               
-RedBoot           0x00000000  0x00000000  0x00020000  0x00000000                
-RedBoot config    0x0007F000  0x00000000  0x00001000  0x00000000                
-FIS directory     0x00070000  0x00000000  0x0000F000  0x00000000                </PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->List the FIS directory with image data lengths substituted for flash
-block reservation lengths.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis list</B
-></TT
->
-Name              FLASH addr  Mem addr    Datalen     Entry point               
-RedBoot           0x00000000  0x00000000  0x00000000  0x00000000                
-RedBoot config    0x0007F000  0x0007F000  0x00000000  0x00000000                
-FIS directory     0x00070000  0x00070000  0x00000000  0x00000000                </PRE
-></TD
-></TR
-></TABLE
-> </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-init-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-free-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis init</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis free</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-load-command.html b/doc/html/ref/fis-load-command.html
deleted file mode 100644 (file)
index ac921f8..0000000
+++ /dev/null
@@ -1,364 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis load</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis create"
-HREF="fis-create-command.html"><LINK
-REL="NEXT"
-TITLE="fis delete"
-HREF="fis-delete-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-create-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-delete-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-LOAD-COMMAND">fis load</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4109"
-></A
-><H2
->Name</H2
->fis load&nbsp;--&nbsp;Load flash image</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4112"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis load</B
->  [-b <TT
-CLASS="REPLACEABLE"
-><I
-> load address</I
-></TT
->] [-c ] [-d ] [<TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4121"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4123"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address the image should be loaded to. Executable
-             images normally load at the location to which the file
-             was linked. This option allows the image to be loaded to
-             a specific memory location, possibly overriding any
-             assumed location.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->If not specified, the address associated with the
-             image in the FIS directory will be used.</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-c</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Compute and print the checksum of the image data
-             after it has been loaded into memory.</TD
-><TD
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-d</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Decompress gzipped image while copying it from
-             flash to RAM.</TD
-><TD
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->name</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The name of the file, as shown in the FIS
-             directory.</TD
-><TD
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4154"
-></A
-><H2
->Description</H2
-><P
->This command is used to transfer an image from flash memory to RAM.</P
-><P
->Once the image has been loaded, it may be executed using the
-<B
-CLASS="COMMAND"
->go</B
-> command.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4159"
-></A
-><H2
->Examples</H2
-><P
->Load and run RedBoot[RAM] image.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis load RedBoot[RAM]</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->go</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-create-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-delete-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis create</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis delete</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-lock-command.html b/doc/html/ref/fis-lock-command.html
deleted file mode 100644 (file)
index 5bf4e85..0000000
+++ /dev/null
@@ -1,333 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis lock</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis delete"
-HREF="fis-delete-command.html"><LINK
-REL="NEXT"
-TITLE="fis unlock"
-HREF="fis-unlock-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-delete-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-unlock-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-LOCK-COMMAND">fis lock</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4208"
-></A
-><H2
->Name</H2
->fis lock&nbsp;--&nbsp;Lock flash area</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4211"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis lock</B
->  {-f <TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4218"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4220"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of area to be locked.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of area to be locked.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4245"
-></A
-><H2
->Description</H2
-><P
->This command is used to write-protect (lock) a portion of flash memory,
-to prevent accidental overwriting of images. In order to make make any modifications
-to the flash, a matching <B
-CLASS="COMMAND"
->fis unlock</B
-> command must be
-issued. This command is optional and will only be provided on hardware
-which can support write-protection of the flash space.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Depending on the system, attempting to write to write-protected flash
-may generate errors or warnings, or be benignly quiet.  </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4251"
-></A
-><H2
->Examples</H2
-><P
->Lock an area of the flash
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis lock -f 0xa0040000 -l 0x20000</B
-></TT
->
-... Lock from 0xa0040000-0xa0060000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-delete-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-unlock-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis delete</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis unlock</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-unlock-command.html b/doc/html/ref/fis-unlock-command.html
deleted file mode 100644 (file)
index f50503d..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis unlock</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis lock"
-HREF="fis-lock-command.html"><LINK
-REL="NEXT"
-TITLE="fis erase"
-HREF="fis-erase-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-lock-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-erase-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-UNLOCK-COMMAND">fis unlock</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4257"
-></A
-><H2
->Name</H2
->fis unlock&nbsp;--&nbsp;Unlock flash area</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4260"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis unlock</B
->  {-f <TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4267"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4269"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of area to be unlocked.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of area to be unlocked.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4294"
-></A
-><H2
->Description</H2
-><P
->This command is used to unlock a portion of flash memory forcibly, allowing
-it to be updated. It must be issued for regions which have been locked before
-the FIS can reuse those portions of flash.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Some flash devices power up in locked state and always need to
-be manually unlocked before they can be written to.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4299"
-></A
-><H2
->Examples</H2
-><P
->Unlock an area of the flash
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis unlock -f 0xa0040000 -l 0x20000</B
-></TT
->
-... Unlock from 0xa0040000-0xa0060000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-lock-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-erase-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis lock</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis erase</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/fis-write-command.html b/doc/html/ref/fis-write-command.html
deleted file mode 100644 (file)
index 9103237..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->fis write</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"><LINK
-REL="PREVIOUS"
-TITLE="fis erase"
-HREF="fis-erase-command.html"><LINK
-REL="NEXT"
-TITLE="Persistent State Flash-based Configuration and Control"
-HREF="persistent-state-flash.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-erase-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="persistent-state-flash.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="FIS-WRITE-COMMAND">fis write</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4351"
-></A
-><H2
->Name</H2
->fis write&nbsp;--&nbsp;Write flash area</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4354"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->fis write</B
->  {-b <TT
-CLASS="REPLACEABLE"
-><I
->mem_address</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->} {-f <TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4363"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4365"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->mem_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of data to be written to flash.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of data to be writtem.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->flash_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address of flash to write to.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4396"
-></A
-><H2
->Description</H2
-><P
->This command is used to write data from memory to flash. There
-is no cross-checking to ensure that the area being written to does not
-correspond to an existing image.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4399"
-></A
-><H2
->Examples</H2
-><P
->Write an area of data to the flash
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis write -b 0x0606f000 -l 0x1000 -f 0x00020000</B
-></TT
->
-* CAUTION * about to program FLASH
-            at 0x00020000..0x0002ffff from 0x0606f000 - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0x00020000-0x00030000: .
-... Program from 0x0606f000-0x0607f000 at 0x00020000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-erase-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="persistent-state-flash.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis erase</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Persistent State Flash-based Configuration and Control</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/flash-image-system.html b/doc/html/ref/flash-image-system.html
deleted file mode 100644 (file)
index a3fdad3..0000000
+++ /dev/null
@@ -1,218 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Flash Image System (FIS)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot Commands and Examples"
-HREF="redboot-commands-and-examples.html"><LINK
-REL="PREVIOUS"
-TITLE="version"
-HREF="version-command.html"><LINK
-REL="NEXT"
-TITLE="fis init"
-HREF="fis-init-command.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="version-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. RedBoot Commands and Examples</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fis-init-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="FLASH-IMAGE-SYSTEM">Flash Image System (FIS)</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="fis-init-command.html"
->fis init</A
->&nbsp;--&nbsp;Initialize Flash Image System (FIS)</DT
-><DT
-><A
-HREF="fis-list-command.html"
->fis list</A
->&nbsp;--&nbsp;List Flash Image System directory</DT
-><DT
-><A
-HREF="fis-free-command.html"
->fis free</A
->&nbsp;--&nbsp;Free flash image</DT
-><DT
-><A
-HREF="fis-create-command.html"
->fis create</A
->&nbsp;--&nbsp;Create flash image</DT
-><DT
-><A
-HREF="fis-load-command.html"
->fis load</A
->&nbsp;--&nbsp;Load flash image</DT
-><DT
-><A
-HREF="fis-delete-command.html"
->fis delete</A
->&nbsp;--&nbsp;Delete flash image</DT
-><DT
-><A
-HREF="fis-lock-command.html"
->fis lock</A
->&nbsp;--&nbsp;Lock flash area</DT
-><DT
-><A
-HREF="fis-unlock-command.html"
->fis unlock</A
->&nbsp;--&nbsp;Unlock flash area</DT
-><DT
-><A
-HREF="fis-erase-command.html"
->fis erase</A
->&nbsp;--&nbsp;Erase flash area</DT
-><DT
-><A
-HREF="fis-write-command.html"
->fis write</A
->&nbsp;--&nbsp;Write flash area</DT
-></DL
-></DIV
-><P
->If the platform
-has flash memory, RedBoot can use this for image storage. Executable images,
-as well as data, can be stored in flash in a simple file store. The <B
-CLASS="COMMAND"
->fis</B
-> command (fis is short for Flash Image System) is used to
-manipulate and maintain flash images.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="version-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fis-init-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->version</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->fis init</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/frv400.html b/doc/html/ref/frv400.html
deleted file mode 100644 (file)
index ac00b13..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board "
-HREF="calmrisc32.html"><LINK
-REL="NEXT"
-TITLE="IA32/x86 x86-Based PC"
-HREF="x86pc.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="calmrisc32.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="x86pc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="FRV400">FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6545">Overview</H2
-><P
->&#13;RedBoot supports both serial ports, which are available via
-the stacked serial connectors on the mother board. 
-The topmost port is the default and is considered to be port 0 by RedBoot.
-The bottommost port is serial port 1.
-The default serial port settings are 38400,8,N,1. </P
-><P
->FLASH management is also supported, but only for the FLASH device in IC7. 
-This arrangement allows for IC8 to retain either the original Fujitsu board
-firmware, or some application specific contents.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6556"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6575">Initial Installation Method</H2
-><P
->RedBoot can be installed by directly programming the FLASH device in IC7
-or by using the Fujitsu provided software to download and install a
-version into the FLASH device.  Complete instructions are provided
-separately.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6578">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6581">Memory Maps</H2
-><P
->The memory map of this platform is fixed by the hardware (cannot
-be changed by software).  The only attributes which can be modified are
-control over cacheability, as noted below.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Address                 Cache?      Resource
-00000000-03EFFFFF         Yes       SDRAM (via plugin DIMM)
-03F00000-03FFFFFF         No        SDRAM (used for PCI window)
-10000000-1FFFFFFF         No        MB86943 PCI bridge
-20000000-201FFFFF         No        SRAM
-21000000-23FFFFFF         No        Motherboard resources
-24000000-25FFFFFF         No        PCI I/O space
-26000000-2FFFFFFF         No        PCI Memory space
-30000000-FDFFFFFF         ??        Unused
-FE000000-FEFFFFFF         No        I/O devices
-FF000000-FF1FFFFF         No        IC7 - RedBoot FLASH
-FF200000-FF3FFFFF         No        IC8 - unused FLASH
-FF400000-FFFFFFFF         No        Misc other I/O</PRE
-></TD
-></TR
-></TABLE
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The only configuration currently suppored requires a 64MB SDRAM 
-DIMM to be present on the CPU card.  No other memory configuration
-is supported at this time.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6588">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=frv400
-export ARCH_DIR=frv
-export PLATFORM_DIR=frv400</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="calmrisc32.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="x86pc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->IA32/x86 x86-Based PC</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/getting-started-with-redboot.html b/doc/html/ref/getting-started-with-redboot.html
deleted file mode 100644 (file)
index ac185ba..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Getting Started with RedBoot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"><LINK
-REL="NEXT"
-TITLE="Installing RedBoot"
-HREF="installing-redboot.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="installing-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="GETTING-STARTED-WITH-REDBOOT">Chapter 1. Getting Started with RedBoot</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="getting-started-with-redboot.html#REDBOOT-ON-THE-WEB"
->More information about RedBoot on the web</A
-></DT
-><DT
-><A
-HREF="installing-redboot.html"
->Installing RedBoot</A
-></DT
-><DT
-><A
-HREF="user-interface.html"
->User Interface</A
-></DT
-><DT
-><A
-HREF="redboot-editing-commands.html"
->RedBoot Editing Commands</A
-></DT
-><DT
-><A
-HREF="startup-mode.html"
->RedBoot Startup Mode</A
-></DT
-><DT
-><A
-HREF="resource-usage.html"
->RedBoot Resource Usage</A
-></DT
-><DT
-><A
-HREF="configuring-the-redboot-environment.html"
->Configuring the RedBoot Environment</A
-></DT
-></DL
-></DIV
-><P
->RedBoot&#8482; is an acronym for "Red Hat Embedded Debug and Bootstrap",
-and is the standard embedded system debug/bootstrap environment from Red Hat,
-replacing the previous generation of debug firmware: CygMon and GDB
-stubs. It provides a complete bootstrap environment for a range of embedded
-operating systems, such as embedded Linux&#8482; and eCos&#8482;, and includes facilities
-such as network downloading and debugging. It also provides a simple flash
-file system for boot images.</P
-><P
->RedBoot provides a wide set of tools for downloading and executing programs
-on embedded target systems, as well as tools for manipulating the target system's
-environment. It can be used for both product development (debug support) and
-for end product deployment (flash and network booting).</P
-><P
->Here are some highlights of RedBoot&#8217;s capabilities:  </P
-><P
-></P
-><UL
-><LI
-><P
->Boot scripting support</P
-></LI
-><LI
-><P
->Simple command line interface for RedBoot configuration and
-management, accessible via serial (terminal) or Ethernet (telnet) </P
-></LI
-><LI
-><P
->Integrated GDB stubs for connection to a host-based debugger
-via serial or ethernet. (Ethernet connectivity is limited to local network
-only)</P
-></LI
-><LI
-><P
->Attribute Configuration - user control of aspects such as
-system time and date (if applicable), default Flash image to boot from, default
-failsafe image, static IP address, etc.</P
-></LI
-><LI
-><P
->Configurable and extensible, specifically adapted to the target
-environment </P
-></LI
-><LI
-><P
->Network bootstrap support including setup and download, via
-BOOTP, DHCP and TFTP</P
-></LI
-><LI
-><P
->X/YModem support for image download via serial</P
-></LI
-><LI
-><P
->Power On Self Test</P
-></LI
-></UL
-><P
->Although RedBoot is derived from eCos, it may be used as a generalized
-system debug and bootstrap control software for any embedded system and any
-operating system. For example, with appropriate additions, RedBoot could replace
-the commonly used BIOS of PC (and certain other) architectures. Red Hat is
-currently installing RedBoot on all embedded platforms as a standard practice,
-and RedBoot is now generally included as part of all Red Hat Embedded Linux
-and eCos ports. Users who specifically wish to use RedBoot with the eCos operating
-system should refer to the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Getting Started with eCos</I
-></SPAN
->
-document, which provides information about the portability and extendability
-of RedBoot in an eCos environment.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="REDBOOT-ON-THE-WEB">More information about RedBoot on the web</H1
-><P
->The <A
-HREF="http://sources.redhat.com/redboot/"
-TARGET="_top"
->RedBoot Net
-Distribution web site</A
-> contains downloadable sources and documentation
-for all publically released targets, including the latest features and updates.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="installing-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->RedBoot&#8482; User's Guide</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Installing RedBoot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/go-command.html b/doc/html/ref/go-command.html
deleted file mode 100644 (file)
index 4191cb7..0000000
+++ /dev/null
@@ -1,371 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->go</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Executing Programs from RedBoot"
-HREF="executing-programs.html"><LINK
-REL="PREVIOUS"
-TITLE="Executing Programs from RedBoot"
-HREF="executing-programs.html"><LINK
-REL="NEXT"
-TITLE="exec"
-HREF="exec-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="executing-programs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="exec-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="GO-COMMAND">go</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN4515"
-></A
-><H2
->Name</H2
->go&nbsp;--&nbsp;Execute a program</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN4518"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->go</B
->  [-w <TT
-CLASS="REPLACEABLE"
-><I
-> timeout</I
-></TT
->] [<TT
-CLASS="REPLACEABLE"
-><I
-> start_address</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4525"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4527"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-w <TT
-CLASS="REPLACEABLE"
-><I
->timeout</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->How long to wait before starting execution.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->start_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Address in memory to begin execution.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Value set by last <B
-CLASS="COMMAND"
->load</B
-> or <B
-CLASS="COMMAND"
->fis load</B
-> command.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4554"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->go</B
-> command causes RedBoot to give control of the target platform to
-another program.  This program must execute stand alone, e.g. an eCos
-application or a Linux kernel.
-      </P
-><P
->If the -w option is used, RedBoot will print a message and then
-wait for a period of time before starting the execution.  This is
-most useful in a script, giving the user a chance to abort executing
-a program and move on in the script.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN4559"
-></A
-><H2
->Examples</H2
-><P
->Execute a program - <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->no explicit output from RedBoot</I
-></SPAN
->.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->go 0x40040</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-><P
->Execute a program with a timeout.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->go -w 10</B
-></TT
->
-About to start execution at 0x00000000 - abort with ^C within 10 seconds
-^C
-RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
-> 
-Note that the starting address was implied (0x00000000 in this example).
-The user is prompted that execution will commence in 10 seconds.  At
-anytime within that 10 seconds the user may type  <SPAN
-CLASS="GUIBUTTON"
->Ctrl+C</SPAN
->
-on the console and RedBoot will abort execution and return for the next
-command, either from a script or the console.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="executing-programs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="exec-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Executing Programs from RedBoot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="executing-programs.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->exec</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-architecture-characterization.html b/doc/html/ref/hal-architecture-characterization.html
deleted file mode 100644 (file)
index 5434d74..0000000
+++ /dev/null
@@ -1,782 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Architecture Characterization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="NEXT"
-TITLE="Interrupt Handling"
-HREF="hal-interrupt-handling.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-interrupt-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-ARCHITECTURE-CHARACTERIZATION">Architecture Characterization</H1
-><P
->These are definition that are related to the basic architecture of the
-CPU. These include the CPU context save format, context switching, bit
-twiddling, breakpoints, stack sizes and address translation.</P
-><P
->Most of these definition are found in
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_arch.h</TT
->.  This file is supplied by the
-architecture HAL. If there are variant or platform specific
-definitions then these will be found in
-<TT
-CLASS="FILENAME"
->cyg/hal/var_arch.h</TT
-> or
-<TT
-CLASS="FILENAME"
->cyg/hal/plf_arch.h</TT
->. These files are include
-automatically by this header, so need not be included explicitly.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7787">Register Save Format</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct HAL_SavedRegisters
-{
-    /* architecture-dependent list of registers to be saved */ 
-} HAL_SavedRegisters;</PRE
-></TD
-></TR
-></TABLE
-><P
->This structure describes the layout of a saved machine state on the
-stack. Such states are saved during thread context switches,
-interrupts and exceptions. Different quantities of state may be saved
-during each of these, but usually a thread context state is a subset
-of the interrupt state which is itself a subset of an exception state.
-For debugging purposes, the same structure is used for all three
-purposes, but where these states are significantly different, this
-structure may contain a union of the three states.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7791">Thread Context Initialization</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_THREAD_INIT_CONTEXT( sp, arg, entry, id )</PRE
-></TD
-></TR
-></TABLE
-><P
->This macro initializes a thread's context so that
-it may be switched to by <TT
-CLASS="FUNCTION"
->HAL_THREAD_SWITCH_CONTEXT()</TT
->.
-The arguments are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->sp</DT
-><DD
-><P
->      A location containing the current value of the thread's stack
-      pointer. This should be a variable or a structure field. The SP
-      value will be read out of here and an adjusted value written
-      back.
-      </P
-></DD
-><DT
->arg</DT
-><DD
-><P
->      A value that is passed as the first argument to the entry
-      point function.
-      </P
-></DD
-><DT
->entry</DT
-><DD
-><P
->      The address of an entry point function. This will be called
-      according the C calling conventions, and the value of
-      <TT
-CLASS="PARAMETER"
-><I
->arg</I
-></TT
-> will be passed as the first
-      argument. This function should have the following type signature
-      <TT
-CLASS="FUNCTION"
->void entry(CYG_ADDRWORD arg)</TT
->.
-      </P
-></DD
-><DT
->id</DT
-><DD
-><P
->      A thread id value. This is only used for debugging purposes,
-      it is ORed into the initialization pattern for unused registers
-      and may be used to help identify the thread from its register dump.
-      The least significant 16 bits of this value should be zero to allow
-      space for a register identifier.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="HAL-CONTEXT-SWITCH">Thread Context Switching</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_THREAD_LOAD_CONTEXT( to )
-HAL_THREAD_SWITCH_CONTEXT( from, to )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros implement the thread switch code. The arguments are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->from</DT
-><DD
-><P
->      A pointer to a location where the stack pointer of the current
-      thread will be stored.
-      </P
-></DD
-><DT
->to</DT
-><DD
-><P
->      A pointer to a location from where the stack pointer of the next
-      thread will be read.
-      </P
-></DD
-></DL
-></DIV
-><P
->For <TT
-CLASS="FUNCTION"
->HAL_THREAD_LOAD_CONTEXT()</TT
-> the current CPU
-state is discarded and the state of the destination thread is
-loaded. This is only used once, to load the first thread when the
-scheduler is started.</P
-><P
->For <TT
-CLASS="FUNCTION"
->HAL_THREAD_SWITCH_CONTEXT()</TT
-> the state of the
-current thread is saved onto its stack, using the current value of the
-stack pointer, and the address of the saved state placed in
-<TT
-CLASS="PARAMETER"
-><I
->*from</I
-></TT
->.  The value in
-<TT
-CLASS="PARAMETER"
-><I
->*to</I
-></TT
-> is then read and the state of the new
-thread is loaded from it.</P
-><P
->While these two operations may be implemented with inline assembler,
-they are normally implemented as calls to assembly code functions in
-the HAL. There are two advantages to doing it this way. First, the
-return link of the call provides a convenient PC value to be used in
-the saved context. Second, the calling conventions mean that the
-compiler will have already saved the caller-saved registers before the
-call, so the HAL need only save the callee-saved registers.</P
-><P
->The implementation of <TT
-CLASS="FUNCTION"
->HAL_THREAD_SWITCH_CONTEXT()</TT
->
-saves the current CPU state on the stack, including the current
-interrupt state (or at least the register that contains it). For
-debugging purposes it is useful to save the entire register set, but
-for performance only the ABI-defined callee-saved registers need be
-saved. If it is implemented, the option
-<TT
-CLASS="LITERAL"
->CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM</TT
-> controls
-how many registers are saved.</P
-><P
->The implementation of <TT
-CLASS="FUNCTION"
->HAL_THREAD_LOAD_CONTEXT()</TT
->
-loads a thread context, destroying the current context. With a little
-care this can be implemented by sharing code with
-<TT
-CLASS="FUNCTION"
->HAL_THREAD_SWITCH_CONTEXT()</TT
->. To load a thread
-context simply requires the saved registers to be restored from the
-stack and a jump or return made back to the saved PC.</P
-><P
->Note that interrupts are not disabled during this process, any
-interrupts that occur will be delivered onto the stack to which the
-current CPU stack pointer points. Hence the stack pointer
-should never be invalid, or loaded with a value that might cause the
-saved state to become corrupted by an interrupt. However, the current
-interrupt state is saved and restored as part of the thread
-context. If a thread disables interrupts and does something to cause a
-context switch, interrupts may be re-enabled on switching to another
-thread. Interrupts will be disabled again when the original thread
-regains control.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7842">Bit indexing</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_LSBIT_INDEX( index, mask )
-HAL_MSBIT_INDEX( index, mask )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros place in <TT
-CLASS="PARAMETER"
-><I
->index</I
-></TT
-> the bit index of
-the least significant bit in <TT
-CLASS="PARAMETER"
-><I
->mask</I
-></TT
->. Some
-architectures have instruction level support for one or other of these
-operations. If no architectural support is available, then these
-macros may call C functions to do the job.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7848">Idle thread activity</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_IDLE_THREAD_ACTION( count )</PRE
-></TD
-></TR
-></TABLE
-><P
->It may be necessary under some circumstances for the HAL to execute
-code in the kernel idle thread's loop. An example might be to execute
-a processor halt instruction. This macro provides a portable way of
-doing this. The argument is a copy of the idle thread's loop counter,
-and may be used to trigger actions at longer intervals than every
-loop.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7852">Reorder barrier</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_REORDER_BARRIER()</PRE
-></TD
-></TR
-></TABLE
-><P
->When optimizing the compiler can reorder code. In some parts of
-multi-threaded systems, where the order of actions is vital, this can
-sometimes cause problems. This macro may be inserted into places where
-reordering should not happen and prevents code being migrated across
-it by the compiler optimizer. It should be placed between statements
-that must be executed in the order written in the code.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7856">Breakpoint support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_BREAKPOINT( label )
-HAL_BREAKINST
-HAL_BREAKINST_SIZE</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros provide support for breakpoints.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_BREAKPOINT()</TT
-> executes a breakpoint
-instruction. The label is defined at the breakpoint instruction so
-that exception code can detect which breakpoint was executed.</P
-><P
-><TT
-CLASS="LITERAL"
->HAL_BREAKINST</TT
-> contains the breakpoint instruction
-code as an integer value. <TT
-CLASS="LITERAL"
->HAL_BREAKINST_SIZE</TT
-> is
-the size of that breakpoint instruction in bytes. Together these
-may be used to place a breakpoint in any code.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7865">GDB support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_THREAD_GET_SAVED_REGISTERS( sp, regs )
-HAL_GET_GDB_REGISTERS( regval, regs )
-HAL_SET_GDB_REGISTERS( regs, regval )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros provide support for interfacing GDB to the HAL.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_THREAD_GET_SAVED_REGISTERS()</TT
-> extracts a
-pointer to a <SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure
-from a stack pointer value. The stack pointer passed in should be the
-value saved by the thread context macros. The macro will assign a
-pointer to the <SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure
-to the variable passed as the second argument.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_GET_GDB_REGISTERS()</TT
-> translates a register
-state as saved by the HAL and into a register dump in the format
-expected by GDB. It takes a pointer to a
-<SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure in the
-<TT
-CLASS="PARAMETER"
-><I
->regs</I
-></TT
-> argument and a pointer to the memory to
-contain the GDB register dump in the <TT
-CLASS="PARAMETER"
-><I
->regval</I
-></TT
->
-argument.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_SET_GDB_REGISTERS()</TT
-> translates a GDB format
-register dump into a the format expected by the HAL.  It takes a
-pointer to the memory containing the GDB register dump in the
-<TT
-CLASS="PARAMETER"
-><I
->regval</I
-></TT
-> argument and a pointer to a
-<SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure
-in the <TT
-CLASS="PARAMETER"
-><I
->regs</I
-></TT
-> argument.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7883">Setjmp and longjmp support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYGARC_JMP_BUF_SIZE
-hal_jmp_buf[CYGARC_JMP_BUF_SIZE]
-hal_setjmp( hal_jmp_buf env )
-hal_longjmp( hal_jmp_buf env, int val )</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions provide support for the C
-<TT
-CLASS="FUNCTION"
->setjmp()</TT
-> and <TT
-CLASS="FUNCTION"
->longjmp()</TT
->
-functions.  Refer to the C library for further information.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7889">Stack Sizes</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYGNUM_HAL_STACK_SIZE_MINIMUM
-CYGNUM_HAL_STACK_SIZE_TYPICAL</PRE
-></TD
-></TR
-></TABLE
-><P
->The values of these macros define the minimum and typical sizes of
-thread stacks.</P
-><P
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
-> defines the minimum
-size of a thread stack. This is enough for the thread to function
-correctly within eCos and allows it to take interrupts and context
-switches. There should also be enough space for a simple thread entry
-function to execute and call basic kernel operations on objects like
-mutexes and semaphores. However there will not be enough room for much
-more than this. When creating stacks for their own threads,
-applications should determine the stack usage needed for application
-purposes and then add
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
->.</P
-><P
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_TYPICAL</TT
-> is a reasonable increment over
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
->, usually about 1kB. This should be
-adequate for most modest thread needs. Only threads that need to
-define significant amounts of local data, or have very deep call trees
-should need to use a larger stack size.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7899">Address Translation</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYGARC_CACHED_ADDRESS(addr)
-CYGARC_UNCACHED_ADDRESS(addr)
-CYGARC_PHYSICAL_ADDRESS(addr)</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros provide address translation between different views of
-memory. In many architectures a given memory location may be visible
-at different addresses in both cached and uncached forms. It is also
-possible that the MMU or some other address translation unit in the
-CPU presents memory to the program at a different virtual address to
-its physical address on the bus.</P
-><P
-><TT
-CLASS="FUNCTION"
->CYGARC_CACHED_ADDRESS()</TT
-> translates the given
-address to its location in cached memory. This is typically where the
-application will access the memory.</P
-><P
-><TT
-CLASS="FUNCTION"
->CYGARC_UNCACHED_ADDRESS()</TT
-> translates the given
-address to its location in uncached memory. This is typically where
-device drivers will access the memory to avoid cache problems. It may
-additionally be necessary for the cache to be flushed before the
-contents of this location is fully valid.</P
-><P
-><TT
-CLASS="FUNCTION"
->CYGARC_PHYSICAL_ADDRESS()</TT
-> translates the given
-address to its location in the physical address space. This is
-typically the address that needs to be passed to device hardware such
-as a DMA engine, ethernet device or PCI bus bridge. The physical
-address may not be directly accessible to the program, it may be
-re-mapped by address translation.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7909">Global Pointer</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYGARC_HAL_SAVE_GP()
-CYGARC_HAL_RESTORE_GP()</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros insert code to save and restore any global data pointer
-that the ABI uses. These are necessary when switching context between
-two eCos instances - for example between an eCos application and
-RedBoot.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-interrupt-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->HAL Interfaces</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Interrupt Handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-architecture-variant-and-platform.html b/doc/html/ref/hal-architecture-variant-and-platform.html
deleted file mode 100644 (file)
index 5336ef6..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Architecture, Variant and Platform</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="hal-introduction.html"><LINK
-REL="NEXT"
-TITLE="General principles"
-HREF="hal-general-principles.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-introduction.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-general-principles.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-ARCHITECTURE-VARIANT-AND-PLATFORM">Chapter 7. Architecture, Variant and Platform</H1
-><P
->We have identified three levels at which the HAL must operate.</P
-><P
-></P
-><UL
-><LI
-><P
->    The <I
-CLASS="FIRSTTERM"
->architecture
-    HAL</I
-> abstracts the basic CPU architecture and includes
-    things like interrupt delivery, context switching, CPU startup
-    etc.
-    </P
-></LI
-><LI
-><P
->    The  <I
-CLASS="FIRSTTERM"
->variant HAL</I
->
-    encapsulates features of the CPU variant such as caches, MMU and
-    FPU features. It also deals with any on-chip peripherals such as
-    memory and interrupt controllers. For architectural variations,
-    the actual implementation of the variation is often in the
-    architectural HAL, and the variant HAL simply provides the correct
-    configuration definitions.
-    </P
-></LI
-><LI
-><P
->    The <I
-CLASS="FIRSTTERM"
->platform HAL</I
->
-    abstracts the properties of the current platform and includes
-    things like platform startup, timer devices, I/O register access
-    and interrupt controllers.
-    </P
-></LI
-></UL
-><P
->The boundaries between these three HAL levels are necessarily blurred
-since functionality shifts between levels on a target-by-target basis.
-For example caches and MMU may be either an architecture feature or a
-variant feature. Similarly, memory and interrupt controllers may be
-on-chip and in the variant HAL, or off-chip and in the platform HAL.</P
-><P
->Generally there is a separate package for each of the architecture,
-variant and package HALs for a target. For some of the older targets,
-or where it would be essentially empty, the variant HAL is omitted.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-introduction.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-general-principles.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->General principles</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-cache-control.html b/doc/html/ref/hal-cache-control.html
deleted file mode 100644 (file)
index 1761038..0000000
+++ /dev/null
@@ -1,583 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Cache Control</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="HAL I/O"
-HREF="hal-input-and-output.html"><LINK
-REL="NEXT"
-TITLE="Linker Scripts"
-HREF="hal-linker-scripts.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-input-and-output.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-linker-scripts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-CACHE-CONTROL">Cache Control</H1
-><P
->This section contains definitions for supporting control
-of the caches on the CPU.</P
-><P
->These definitions are usually found in the header file
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_cache.h</TT
->.  This file may be defined in
-the architecture, variant or platform HAL, depending on where the
-caches are implemented for the target. Often there will be a generic
-implementation of the cache control macros in the architecture HAL
-with the ability to override or undefine them in the variant or
-platform HAL. Even when the implementation of the cache macros is in
-the architecture HAL, the cache dimensions will be defined in the
-variant or platform HAL. As with other files, the variant or platform
-specific definitions are usually found in
-<TT
-CLASS="FILENAME"
->cyg/hal/var_cache.h</TT
-> and
-<TT
-CLASS="FILENAME"
->cyg/hal/plf_cache.h</TT
-> respectively.  These files
-are include automatically by this header, so need not be included
-explicitly.</P
-><P
->There are versions of the macros defined here for both the Data and
-Instruction caches. these are distinguished by the use of either
-<TT
-CLASS="LITERAL"
->DCACHE</TT
-> or <TT
-CLASS="LITERAL"
->ICACHE</TT
-> in the macro
-names. Some architectures have a unified cache, where both data and
-instruction share the same cache. In these cases the control macros
-use <TT
-CLASS="LITERAL"
->UCACHE</TT
-> and the <TT
-CLASS="LITERAL"
->DCACHE</TT
-> and
-<TT
-CLASS="LITERAL"
->ICACHE</TT
-> macros will just be calls to the
-<TT
-CLASS="LITERAL"
->UCACHE</TT
-> version. In the following descriptions,
-<TT
-CLASS="LITERAL"
->XCACHE</TT
-> is used to stand for any of these. Where
-there are issues specific to a particular cache, this will be
-explained in the text.</P
-><P
->There might be target specific restrictions on the use of some of the
-macros which it is the user's responsibility to comply with. Such
-restrictions are documented in the header file with the macro
-definition.</P
-><P
->Note that destructive cache macros should be used with caution.
-Preceding a cache invalidation with a cache synchronization is not
-safe in itself since an interrupt may happen after the synchronization
-but before the invalidation. This might cause the state of dirty data
-lines created during the interrupt to be lost.</P
-><P
->Depending on the architecture's capabilities, it may be possible to
-temporarily disable the cache while doing the synchronization and
-invalidation which solves the problem (no new data would be cached
-during an interrupt). Otherwise it is necessary to disable interrupts
-while manipulating the cache which may take a long time.</P
-><P
->Some platform HALs now support a pair of cache state query
-macros: <TT
-CLASS="FUNCTION"
->HAL_ICACHE_IS_ENABLED( x )</TT
-> and
-<TT
-CLASS="FUNCTION"
->HAL_DCACHE_IS_ENABLED( x )</TT
-> which set the argument
-to true if the instruction or data cache is enabled,
-respectively. Like most cache control macros, these are optional,
-because the capabilities of different targets and boards can vary
-considerably. Code which uses them, if it is to be considered
-portable, should test for their existence first by means of
-<TT
-CLASS="LITERAL"
->#ifdef</TT
->.  Be sure to include
-<TT
-CLASS="FILENAME"
->&lt;cyg/hal/hal_cache.h&gt;</TT
-> in order to do this
-test and (maybe) use the macros.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8115">Cache Dimensions</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_XCACHE_SIZE
-HAL_XCACHE_LINE_SIZE
-HAL_XCACHE_WAYS
-HAL_XCACHE_SETS</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros define the size and dimensions of the Instruction
-and Data caches.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->HAL_XCACHE_SIZE</DT
-><DD
-><P
->Defines the total size of the cache in bytes.</P
-></DD
-><DT
->HAL_XCACHE_LINE_SIZE</DT
-><DD
-><P
->Defines the cache line size in bytes.</P
-></DD
-><DT
->HAL_XCACHE_WAYS</DT
-><DD
-><P
->      Defines the number of ways in each set and defines its level
-      of associativity. This would be 1 for a direct mapped
-      cache, 2 for a 2-way cache, 4 for 4-way and so on.
-      </P
-></DD
-><DT
->HAL_XCACHE_SETS</DT
-><DD
-><P
->      Defines the number of sets in the cache, and is calculated from
-      the previous values.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8136">Global Cache Control</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_XCACHE_ENABLE()
-HAL_XCACHE_DISABLE()
-HAL_XCACHE_INVALIDATE_ALL()
-HAL_XCACHE_SYNC()
-HAL_XCACHE_BURST_SIZE( size )
-HAL_DCACHE_WRITE_MODE( mode )
-HAL_XCACHE_LOCK( base, size )
-HAL_XCACHE_UNLOCK( base, size )
-HAL_XCACHE_UNLOCK_ALL()</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros affect the state of the entire cache, or a large part of
-it.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->HAL_XCACHE_ENABLE() and HAL_XCACHE_DISABLE()</DT
-><DD
-><P
->Enable and disable the cache.</P
-></DD
-><DT
->HAL_XCACHE_INVALIDATE_ALL()</DT
-><DD
-><P
->      Causes the entire contents of the cache to be invalidated.
-      Depending on the hardware, this may require the cache to be disabled
-      during the invalidation process. If so, the implementation must
-      use <TT
-CLASS="FUNCTION"
->HAL_XCACHE_IS_ENABLED()</TT
-> to save and
-      restore the previous state.
-      </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->      If this macro is called after
-       <TT
-CLASS="FUNCTION"
->HAL_XCACHE_SYNC()</TT
-> with the intention of clearing
-       the cache (invalidating the cache after writing dirty data back to
-       memory), you must prevent interrupts from happening between the two
-       calls:
-       </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> ...
- HAL_DISABLE_INTERRUPTS(old);
- HAL_XCACHE_SYNC();
- HAL_XCACHE_INVALIDATE_ALL();
- HAL_RESTORE_INTERRUPTS(old);
- ...</PRE
-></TD
-></TR
-></TABLE
-><P
->      Since the operation may take a very long time, real-time
-       responsiveness could be affected, so only do this when it is
-       absolutely required and you know the delay will not interfere
-       with the operation of drivers or the application.
-       </P
-></BLOCKQUOTE
-></DIV
-></DD
-><DT
->HAL_XCACHE_SYNC()</DT
-><DD
-><P
->      Causes the contents of the cache to be brought into synchronization
-      with the contents of memory. In some implementations this may be
-      equivalent to <TT
-CLASS="FUNCTION"
->HAL_XCACHE_INVALIDATE_ALL()</TT
->.
-      </P
-></DD
-><DT
->HAL_XCACHE_BURST_SIZE()</DT
-><DD
-><P
->      Allows the size of cache to/from memory bursts to
-      be controlled. This macro will only be defined if this functionality
-      is available.
-      </P
-></DD
-><DT
->HAL_DCACHE_WRITE_MODE()</DT
-><DD
-><P
->      Controls the way in which data cache lines are written back to
-      memory. There will be definitions for the possible
-      modes. Typical definitions are
-      <TT
-CLASS="LITERAL"
->HAL_DCACHE_WRITEBACK_MODE</TT
-> and
-      <TT
-CLASS="LITERAL"
->HAL_DCACHE_WRITETHRU_MODE</TT
->. This macro will
-      only be defined if this functionality is available.
-      </P
-></DD
-><DT
->HAL_XCACHE_LOCK()</DT
-><DD
-><P
->      Causes data to be locked into the cache. The base and size
-      arguments define the memory region that will be locked into the
-      cache. It is architecture dependent whether more than one locked
-      region is allowed at any one time, and whether this operation
-      causes the cache to cease acting as a cache for addresses
-      outside the region during the duration of the lock. This macro
-      will only be defined if this functionality is available.
-      </P
-></DD
-><DT
->HAL_XCACHE_UNLOCK()</DT
-><DD
-><P
->      Cancels the locking of the memory region given. This should
-      normally correspond to a region supplied in a matching lock
-      call.  This macro will only be defined if this functionality is
-      available.
-      </P
-></DD
-><DT
->HAL_XCACHE_UNLOCK_ALL()</DT
-><DD
-><P
->      Cancels all existing locked memory regions. This may be required
-      as part of the cache initialization on some architectures. This
-      macro will only be defined if this functionality is available.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8182">Cache Line Control</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_DCACHE_ALLOCATE( base , size )
-HAL_DCACHE_FLUSH( base , size )
-HAL_XCACHE_INVALIDATE( base , size )
-HAL_DCACHE_STORE( base , size )
-HAL_DCACHE_READ_HINT( base , size )
-HAL_DCACHE_WRITE_HINT( base , size )
-HAL_DCACHE_ZERO( base , size )</PRE
-></TD
-></TR
-></TABLE
-><P
->All of these macros apply a cache operation to all cache lines that
-match the memory address region defined by the base and size
-arguments. These macros will only be defined if the described
-functionality is available. Also, it is not guaranteed that the cache
-function will only be applied to just the described regions, in some
-architectures it may be applied to the whole cache.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->HAL_DCACHE_ALLOCATE()</DT
-><DD
-><P
->      Allocates lines in the cache for the given region without
-      reading their contents from memory, hence the contents of the lines
-      is undefined. This is useful for preallocating lines which are to
-      be completely overwritten, for example in a block copy
-      operation.
-      </P
-></DD
-><DT
->HAL_DCACHE_FLUSH()</DT
-><DD
-><P
->      Invalidates all cache lines in the region after writing any
-      dirty lines to memory.
-      </P
-></DD
-><DT
->HAL_XCACHE_INVALIDATE()</DT
-><DD
-><P
->      Invalidates all cache lines in the region. Any dirty lines
-      are invalidated without being written to memory.
-      </P
-></DD
-><DT
->HAL_DCACHE_STORE()</DT
-><DD
-><P
->      Writes all dirty lines in the region to memory, but does not
-      invalidate any lines.
-      </P
-></DD
-><DT
->HAL_DCACHE_READ_HINT()</DT
-><DD
-><P
->      Hints to the cache that the region is going to be read from
-      in the near future. This may cause the region to be speculatively
-      read into the cache.
-      </P
-></DD
-><DT
->HAL_DCACHE_WRITE_HINT()</DT
-><DD
-><P
->      Hints to the cache that the region is going to be written
-      to in the near future. This may have the identical behavior to
-      HAL_DCACHE_READ_HINT().
-      </P
-></DD
-><DT
->HAL_DCACHE_ZERO()</DT
-><DD
-><P
->      Allocates and zeroes lines in the cache for the given
-      region without reading memory. This is useful if a large area of
-      memory is to be cleared.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-input-and-output.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-linker-scripts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->HAL I/O</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Linker Scripts</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-calling-if.html b/doc/html/ref/hal-calling-if.html
deleted file mode 100644 (file)
index 5985fc1..0000000
+++ /dev/null
@@ -1,1432 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Virtual Vectors (eCos/ROM Monitor Calling Interface)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="HAL Structure"
-HREF="hal-porting-structure.html"><LINK
-REL="NEXT"
-TITLE="HAL Coding Conventions"
-HREF="hal-porting-coding-conventions.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-porting-structure.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Porting Guide</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-porting-coding-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-CALLING-IF">Virtual Vectors (eCos/ROM Monitor Calling Interface)</H1
-><P
->Some eCos platforms have supported full debugging capabilities via
-CygMon since day one. Platforms of the architectures PowerPC, ARM, and
-SH do not provide those features unless a GDB stub is included in the
-application.</P
-><P
->This is going to change. All platforms will (eventually) support
-all the debugging features by relying on a ROM/RAM calling interface
-(also referred to as virtual vector table) provided by the ROM
-monitor. This calling interface is based on the tables used by libbsp
-and is thus backwards compatible with the existing CygMon supported
-platforms.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-VIRTUAL-VECTORS">Virtual Vectors</H2
-><P
->What are virtual vectors, what do they do, and why are they
-needed?</P
-><P
->"Virtual vectors" is the name of a table located at a static
-location in the target address space. This table contains 64 vectors
-that point to <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->service</I
-></SPAN
-> functions or data.</P
-><P
->The fact that the vectors are always placed at the same location in
-the address space means that both ROM and RAM startup configurations
-can access these and thus the services pointed to.</P
-><P
->The primary goal is to allow services to be provided by ROM
-configurations (ROM monitors such as RedBoot in particular) with
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->clients</I
-></SPAN
-> in RAM configurations being able to use these
-services.</P
-><P
->Without the table of pointers this would be impossible since the
-ROM and RAM applications would be linked separately - in effect having
-separate name spaces - preventing direct references from one to the
-other.</P
-><P
->This decoupling of service from client is needed by RedBoot,
-allowing among other things debugging of applications which do not
-contain debugging client code (stubs).</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8971">Initialization (or Mechanism vs. Policy)</H3
-><P
->Virtual vectors are a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mechanism</I
-></SPAN
-> for decoupling services
-from clients in the address space.</P
-><P
->The mechanism allows services to be implemented by a ROM
-monitor, a RAM application, to be switched out at run-time, to be
-disabled by installing pointers to dummy functions, etc.</P
-><P
->The appropriate use of the mechanism is specified loosely by a
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->policy</I
-></SPAN
->. The general policy dictates that the vectors are
-initialized in whole by ROM monitors (built for ROM or RAM), or by
-stand-alone applications.</P
-><P
->For configurations relying on a ROM monitor environment, the policy
-is to allow initialization on a service by service basis. The default
-is to initialize all services, except COMMS services since these are
-presumed to already be carrying a communication session to the
-debugger / console which was used for launching the application.  This
-means that the bulk of the code gets tested in normal builds, and not
-just once in a blue moon when building new stubs or a ROM
-configuration.</P
-><P
->The configuration options are written to comply with this policy by
-default, but can be overridden by the user if desired. Defaults
-are:</P
-><P
-></P
-><UL
-><LI
-><P
->For application development: the ROM monitor provides
-debugging and diagnostic IO services, the RAM application relies
-on these by default.</P
-></LI
-><LI
-><P
->For production systems: the application contains all the
-necessary services.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8985">Pros and Cons of Virtual Vectors</H3
-><P
->There are pros and cons associated with the use of virtual
-vectors. We do believe that the pros generally outweigh the cons by a
-great margin, but there may be situations where the opposite is
-true.</P
-><P
->The use of the services are implemented by way of macros, meaning
-that it is possible to circumvent the virtual vectors if
-desired. There is (as yet) no implementation for doing this, but it is
-possible.</P
-><P
->Here is a list of pros and cons:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Pro: Allows debugging without including stubs</DT
-><DD
-><P
->This is the primary reason for using virtual vectors. It
-          allows the ROM monitor to provide most of the debugging
-          infrastructure, requiring only the application to provide
-          hooks for asynchronous debugger interrupts and for accessing
-          kernel thread information.</P
-></DD
-><DT
->Pro: Allows debugging to be initiated from arbitrary
-       channel</DT
-><DD
-><P
-> While this is only true where the application does not
-           actively override the debugging channel setup, it is a very
-           nice feature during development. In particular it makes it
-           possible to launch (and/or debug) applications via Ethernet
-           even though the application configuration does not contain
-           networking support.</P
-></DD
-><DT
->Pro: Image smaller due to services being provided by ROM
-       monitor</DT
-><DD
-><P
->All service functions except HAL IO are included in the
-           default configuration. But if these are all disabled the
-           image for download will be a little smaller. Probably
-           doesn't matter much for regular development, but it is a
-           worthwhile saving for the 20000 daily tests run in the Red
-           Hat eCos test farm.</P
-></DD
-><DT
->Con: The vectors add a layer of indirection, increasing application
-       size and reducing performance.</DT
-><DD
-><P
->The size increase is a fraction of what is required to
-           implement the services. So for RAM configurations there is
-           a net saving, while for ROM configurations there is a small
-           overhead.</P
-><P
->The performance loss means little for most of the
-           services (of which the most commonly used is diagnostic IO
-           which happens via polled routines
-           anyway).</P
-></DD
-><DT
->Con: The layer of indirection is another point of
-       failure.</DT
-><DD
-><P
-> The concern primarily being that of vectors being
-           trashed by rogue writes from bad code, causing a complete
-           loss of the service and possibly a crash.  But this does
-           not differ much from a rogue write to anywhere else in the
-           address space which could cause the same amount of
-           mayhem. But it is arguably an additional point of failure
-           for the service in question.</P
-></DD
-><DT
->Con: All the indirection stuff makes it harder to bring a HAL
-       up</DT
-><DD
-><P
-> This is a valid concern. However, seeing as most of the
-           code in question is shared between all HALs and should
-           remain unchanged over time, the risk of it being broken
-           when a new HAL is being worked on should be
-           minimal.</P
-><P
-> When starting a new port, be sure to implement the HAL
-           IO drivers according to the scheme used in other drivers,
-           and there should be no problem.</P
-><P
-> However, it is still possible to circumvent the vectors
-           if they are suspect of causing problems: simply change the
-           HAL_DIAG_INIT and HAL_DIAG_WRITE_CHAR macros to use the raw
-           IO functions.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9018">Available services</H3
-><P
->The <TT
-CLASS="FILENAME"
->hal_if.h</TT
-> file in the common HAL defines the
-complete list of available services. A few worth mentioning in
-particular:</P
-><P
-></P
-><UL
-><LI
-><P
->COMMS services. All HAL IO happens via the communication
-        channels.</P
-></LI
-><LI
-><P
->uS delay. Fine granularity (busy wait) delay function.</P
-></LI
-><LI
-><P
->Reset. Allows a software initiated reset of the board.</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9029">The COMMS channels</H2
-><P
->As all HAL IO happens via the COMMS channels these deserve to be
-described in a little more detail. In particular the controls of where
-diagnostic output is routed and how it is treated to allow for display
-in debuggers.</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9032">Console and Debugging Channels</H3
-><P
->There are two COMMS channels - one for console IO and one for
-debugging IO. They can be individually configured to use any of the
-actual IO ports (serial or Ethernet) available on the platform.</P
-><P
->The console channel is used for any IO initiated by calling the
-<TT
-CLASS="FUNCTION"
->diag_*()</TT
-> functions. Note that these should only be used during
-development for debugging, assertion and possibly tracing
-messages. All proper IO should happen via proper devices. This means
-it should be possible to remove the HAL device drivers from production
-configurations where assertions are disabled.</P
-><P
->The debugging channel is used for communication between the
-debugger and the stub which remotely controls the target for the
-debugger (the stub runs on the target). This usually happens via some
-protocol, encoding commands and replies in some suitable form.</P
-><P
->Having two separate channels allows, e.g., for simple logging
-without conflicts with the debugger or interactive IO which some
-debuggers do not allow.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9039">Mangling</H3
-><P
->As debuggers usually have a protocol using specialized commands
-when communicating with the stub on the target, sending out text as
-raw ASCII from the target on the same channel will either result in
-protocol errors (with loss of control over the target) or the text may
-just be ignored as junk by the debugger.</P
-><P
->To get around this, some debuggers have a special command for text
-output. Mangling is the process of encoding diagnostic ASCII text
-output in the form specified by the debugger protocol.</P
-><P
->When it is necessary to use mangling, i.e. when writing console
-output to the same port used for debugging, a mangler function is
-installed on the console channel which mangles the text and passes it
-on to the debugger channel.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9044">Controlling the Console Channel</H3
-><P
->Console output configuration is either inherited from the ROM
-monitor launching the application, or it is specified by the
-application. This is controlled by the new option
-<TT
-CLASS="LITERAL"
->CYGSEM_HAL_VIRTUAL_VECTOR_INHERIT_CONSOLE</TT
-> which
-defaults to enabled when the configuration is set to use a ROM
-monitor.</P
-><P
->If the user wants to specify the console configuration in the
-application image, there are two new options that are used for
-this.</P
-><P
->Defaults are to direct diagnostic output via a mangler to the
-debugging channel (<TT
-CLASS="LITERAL"
->CYGDBG_HAL_DIAG_TO_DEBUG_CHAN</TT
->
-enabled). The mangler type is controlled by the option
-<TT
-CLASS="LITERAL"
->CYGSEM_HAL_DIAG_MANGLER</TT
->. At present there are only
-two mangler types:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><SPAN
-CLASS="ACRONYM"
->GDB</SPAN
-></DT
-><DD
-><P
-> This causes a mangler appropriate for debugging with GDB to be
-       installed on the console channel.</P
-></DD
-><DT
->None</DT
-><DD
-><P
-> This causes a NULL mangler to be installed on the console
-        channel.  It will redirect the IO to/from the debug channel
-        without mangling of the data. This option differs from setting
-        the console channel to the same IO port as the debugging
-        channel in that it will keep redirecting data to the debugging
-        channel even if that is changed to some other port.</P
-></DD
-></DL
-></DIV
-><P
->Finally, by disabling <TT
-CLASS="LITERAL"
->CYGDBG_HAL_DIAG_TO_DEBUG_CHAN</TT
->, the diagnostic
-output is directed in raw form to the specified console IO port.</P
-><P
->In summary this results in the following common configuration
-scenarios for RAM startup configurations:</P
-><P
-></P
-><UL
-><LI
-><P
-> For regular debugging with diagnostic output appearing in the
-     debugger, mangling is enabled and stubs disabled.</P
-><P
->Diagnostic output appears via the debugging channel as
-     initiated by the ROM monitor, allowing for correct behavior
-     whether the application was launched via serial or Ethernet, from
-     the RedBoot command line or from a debugger.</P
-></LI
-><LI
-><P
-> For debugging with raw diagnostic output, mangling is
-     disabled.</P
-><P
-> Debugging session continues as initiated by the ROM monitor,
-     whether the application was launched via serial or
-     Ethernet. Diagnostic output is directed at the IO port configured
-     in the application configuration.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note:: </B
-> There is one caveat to be aware of. If the
-       application uses proper devices (be it serial or Ethernet) on
-       the same ports as those used by the ROM monitor, the
-       connections initiated by the ROM monitor will be
-       terminated.</P
-></BLOCKQUOTE
-></DIV
-></LI
-></UL
-><P
->And for ROM startup configurations:</P
-><P
-></P
-><UL
-><LI
-><P
-> Production configuration with raw output and no debugging
-     features (configured for RAM or ROM), mangling is disabled, no
-     stubs are included.</P
-><P
->Diagnostic output appears (in unmangled form) on the specified
-     IO port.</P
-></LI
-><LI
-><P
-> RedBoot configuration, includes debugging features and necessary
-     mangling.</P
-><P
->Diagnostic and debugging output port is auto-selected by the
-     first connection to any of the supported IO ports. Can change
-     from interactive mode to debugging mode when a debugger is
-     detected - when this happens a mangler will be installed as
-     required.</P
-></LI
-><LI
-><P
-> GDB stubs configuration (obsoleted by RedBoot configuration),
-     includes debugging features, mangling is hardwired to GDB
-     protocol.</P
-><P
->Diagnostic and debugging output is hardwired to configured IO
-     ports, mangling is hardwired.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9086">Footnote: Design Reasoning for Control of Console Channel</H3
-><P
->The current code for controlling the console channel is a
-replacement for an older implementation which had some shortcomings
-which addressed by the new implementation.</P
-><P
->This is what the old implementation did: on initialization it would
-check if the CDL configured console channel differed from the active
-debug channel - and if so, set the console channel, thereby disabling
-mangling.</P
-><P
->The idea was that whatever channel was configured to be used for
-console (i.e., diagnostic output) in the application was what should
-be used. Also, it meant that if debug and console channels were
-normally the same, a changed console channel would imply a request for
-unmangled output.</P
-><P
->But this prevented at least two things:</P
-><P
-></P
-><UL
-><LI
-><P
-> It was impossible to inherit the existing connection by which
-     the application was launched (either by RedBoot commands via
-     telnet, or by via a debugger).</P
-><P
->This was mostly a problem on targets supporting Ethernet
-     access since the diagnostic output would not be returned via the
-     Ethernet connection, but on the configured serial port.</P
-><P
->The problem also occurred on any targets with multiple serial
-     ports where the ROM monitor was configured to use a different
-     port than the CDL defaults.</P
-></LI
-><LI
-><P
-> Proper control of when to mangle or just write out raw ASCII
-        text.</P
-><P
->Sometimes it's desirable to disable mangling, even if the
-     channel specified is the same as that used for debugging. This
-     usually happens if GDB is used to download the application, but
-     direct interaction with the application on the same channel is
-     desired (GDB protocol only allows output from the target, no
-     input).</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9100">The calling Interface API</H2
-><P
->The calling interface API is defined by hal_if.h and hal_if.c in
-hal/common.</P
-><P
->The API provides a set of services. Different platforms, or
-different versions of the ROM monitor for a single platform, may
-implement fewer or extra service. The table has room for growth, and
-any entries which are not supported map to a NOP-service (when called
-it returns 0 (<TT
-CLASS="LITERAL"
->false</TT
->)).</P
-><P
->A client of a service should either be selected by configuration,
-or have suitable fall back alternatives in case the feature is not
-implemented by the ROM monitor.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note:: </B
->Checking for unimplemented service when this may be a data
-field/pointer instead of a function: suggest reserving the last entry
-in the table as the NOP-service pointer. Then clients can compare a
-service entry with this pointer to determine whether it's initialized
-or not.</P
-></BLOCKQUOTE
-></DIV
-><P
->The header file <TT
-CLASS="FILENAME"
->cyg/hal/hal_if.h</TT
-> defines
- the table layout and accessor macros (allowing primitive type
- checking and alternative implementations should it become necessary).</P
-><P
->The source file <TT
-CLASS="FILENAME"
->hal_if.c</TT
-> defines the table
- initialization function. All HALs should call this during platform
- initialization - the table will get initialized according to
- configuration.  Also defined here are wrapper functions which map
- between the calling interface API and the API of the used eCos
- functions.</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9113">Implemented Services</H3
-><P
->This is a brief description of the services, some of which are
-described in further detail below.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->VERSION</TT
-></DT
-><DD
-><P
->Version of table. Serves as a way to check for how many
-        features are available in the table. This is the index of the
-        last service in the table.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->KILL_VECTOR</TT
-></DT
-><DD
-><P
->[Presently unused by the stub code, but initialized] This
-        vector defines a function to execute when the system receives
-        a kill signal from the debugger. It is initialized with the
-        reset function (see below), but the application (or eCos) can
-        override it if necessary.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CONSOLE_PROCS</TT
-></DT
-><DD
-><P
->The communication procedure table used for console IO
-        (see <A
-HREF="hal-calling-if.html#HAL-PORTING-IO-CHANNELS"
->the Section called <I
->IO channels</I
-></A
->.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->DEBUG_PROCS</TT
-></DT
-><DD
-><P
->The communication procedure table used for debugger IO
-        (see <A
-HREF="hal-calling-if.html#HAL-PORTING-IO-CHANNELS"
->the Section called <I
->IO channels</I
-></A
->).</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->FLUSH_DCACHE</TT
-></DT
-><DD
-><P
->Flushes the data cache for the specified
-        region. Some implementations may flush the entire data cache.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->FLUSH_ICACHE</TT
-></DT
-><DD
-><P
->Flushes (invalidates) the instruction cache
-        for the specified region. Some implementations may flush the
-        entire instruction cache.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->SET_DEBUG_COMM</TT
-></DT
-><DD
-><P
->Change debugging communication channel.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->SET_CONSOLE_COMM</TT
-></DT
-><DD
-><P
->Change console communication channel.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->DBG_SYSCALL</TT
-></DT
-><DD
-><P
->Vector used to communication between debugger functions in
-        ROM and in RAM. RAM eCos configurations may install a function
-        pointer here which the ROM monitor uses to get thread
-        information from the kernel running in RAM.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->RESET</TT
-></DT
-><DD
-><P
->Resets the board on call. If it is not possible to reset
-        the board from software, it will jump to the ROM entry point
-        which will perform a "software" reset of the board.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CONSOLE_INTERRUPT_FLAG</TT
-></DT
-><DD
-><P
->Set if a debugger interrupt request was detected while
-        processing console IO. Allows the actual breakpoint action to
-        be handled after return to RAM, ensuring proper backtraces
-        etc.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->DELAY_US</TT
-></DT
-><DD
-><P
->Will delay the specified number of microseconds. The
-        precision is platform dependent to some extend - a small value
-        (&#60;100us) is likely to cause bigger delays than requested.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->FLASH_CFG_OP</TT
-></DT
-><DD
-><P
->For accessing configuration settings kept in flash memory.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->INSTALL_BPT_FN</TT
-></DT
-><DD
-><P
->Installs a breakpoint at the specified address. This is
-        used by the asynchronous breakpoint support
-       (see ).</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9189">Compatibility</H3
-><P
->When a platform is changed to support the calling interface,
-applications will use it if so configured. That means that if an
-application is run on a platform with an older ROM monitor, the
-service is almost guaranteed to fail.</P
-><P
->For this reason, applications should only use Console Comm for HAL
-diagnostics output if explicitly configured to do so
-(<TT
-CLASS="LITERAL"
->CYGSEM_HAL_VIRTUAL_VECTOR_DIAG</TT
->).</P
-><P
->As for asynchronous GDB interrupts, the service will always be
-used. This is likely to cause a crash under older ROM monitors, but
-this crash may be caught by the debugger. The old workaround still
-applies: if you need asynchronous breakpoints or thread debugging
-under older ROM monitors, you may have to include the debugging
-support when configuring eCos.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9195">Implementation details</H3
-><P
->During the startup of a ROM monitor, the calling table will be
-initialized. This also happens if eCos is configured <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> to rely on
-a ROM monitor.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note:: </B
-> There is reserved space (256 bytes) for the vector
-table whether it gets used or not. This may be something that we want
-to change if we ever have to shave off every last byte for a given
-target.</P
-></BLOCKQUOTE
-></DIV
-><P
->If thread debugging features are enabled, the function for accessing
-the thread information gets registered in the table during startup of
-a RAM startup configuration.</P
-><P
->Further implementation details are described where the service itself
-is described.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9204">New Platform Ports</H3
-><P
->The <TT
-CLASS="FUNCTION"
->hal_platform_init()</TT
-> function must call
-<TT
-CLASS="FUNCTION"
->hal_if_init()</TT
->.</P
-><P
->The HAL serial driver must, when called via
-<TT
-CLASS="FUNCTION"
->cyg_hal_plf_comms_init()</TT
-> must initialize the
-communication channels.</P
-><P
->The <TT
-CLASS="FUNCTION"
->reset()</TT
-> function defined in
-<TT
-CLASS="FILENAME"
->hal_if.c</TT
-> will attempt to do a hardware reset, but
-if this fails it will fall back to simply jumping to the reset
-entry-point. On most platforms the startup initialization will go a
-long way to reset the target to a sane state (there will be
-exceptions, of course). For this reason, make sure to define
-<TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET_ENTRY</TT
-> in plf_stub.h.</P
-><P
->All debugging features must be in place in order for the debugging
-services to be functional. See general platform porting notes.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9216">New architecture ports</H3
-><P
->There are no specific requirements for a new architecture port in
-order to support the calling interface, but the basic debugging
-features must be in place. See general architecture porting notes.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-IO-CHANNELS">IO channels</H2
-><P
->The calling interface provides procedure tables for all IO channels on
-the platform. These are used for console (diagnostic) and debugger IO,
-allowing a ROM monitor to provided all the needed IO routines. At
-the same time, this makes it easy to switch console/debugger channels
-at run-time (the old implementation had hardwired drivers for console
-and debugger IO, preventing these to change at run-time).</P
-><P
->The hal_if provides wrappers which interface these services to the
-eCos infrastructure diagnostics routines. This is done in a way which
-ensures proper string mangling of the diagnostics output when required
-(e.g. O-packetization when using a GDB compatible ROM monitor).</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9223">Available Procedures</H3
-><P
->This is a brief description of the procedures</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CH_DATA</TT
-></DT
-><DD
-><P
->Pointer to the controller IO base (or a pointer to a per-device
-    structure if more data than the IO base is required). All the
-    procedures below are called with this data item as the first
-    argument.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->WRITE</TT
-></DT
-><DD
-><P
->Writes the buffer to the device.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->READ</TT
-></DT
-><DD
-><P
->Fills a buffer from the device.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->PUTC</TT
-></DT
-><DD
-><P
->Write a character to the device.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->GETC</TT
-></DT
-><DD
-><P
->Read a character from the device.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CONTROL</TT
-></DT
-><DD
-><P
->Device feature control. Second argument specifies function:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->SETBAUD</TT
-></DT
-><DD
-><P
->Changes baud rate.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->GETBAUD</TT
-></DT
-><DD
-><P
->Returns the current baud rate.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->INSTALL_DBG_ISR</TT
-></DT
-><DD
-><P
->[Unused]</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->REMOVE_DBG_ISR</TT
-></DT
-><DD
-><P
->[Unused]</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->IRQ_DISABLE</TT
-></DT
-><DD
-><P
->Disable debugging receive interrupts on the device.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->IRQ_ENABLE</TT
-></DT
-><DD
-><P
->Enable debugging receive interrupts on the device.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->DBG_ISR_VECTOR</TT
-></DT
-><DD
-><P
->Returns the ISR vector used by the device for debugging
-        receive interrupts.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->SET_TIMEOUT</TT
-></DT
-><DD
-><P
->Set GETC timeout in milliseconds.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->FLUSH_OUTPUT</TT
-></DT
-><DD
-><P
->Forces driver to flush data in its buffers. Note
-            that this may not affect hardware buffers
-        (e.g. FIFOs).</P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->DBG_ISR</TT
-></DT
-><DD
-><P
->ISR used to handle receive interrupts from the
-       device (see ).</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->GETC_TIMEOUT</TT
-></DT
-><DD
-><P
->Read a character from the device with timeout.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9313">Usage</H3
-><P
->The standard eCos diagnostics IO functions use the channel
-procedure table when <TT
-CLASS="LITERAL"
->CYGSEM_HAL_VIRTUAL_VECTOR_DIAG</TT
-> is enabled. That
-means that when you use diag_printf (or the libc printf function) the
-stream goes through the selected console procedure table. If you use
-the virtual vector function SET_CONSOLE_COMM you can change the device
-which the diagnostics output goes to at run-time.</P
-><P
->You can also use the table functions directly if desired
-(regardless of the <TT
-CLASS="LITERAL"
->CYGSEM_HAL_VIRTUAL_VECTOR_DIAG</TT
-> setting - assuming
-the ROM monitor provides the services). Here is a small example which
-changes the console to use channel 2, fetches the comm procs pointer
-and calls the write function from that table, then restores the
-console to the original channel:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define T "Hello World!\n"
-
-int
-main(void)
-{
-    hal_virtual_comm_table_t* comm;
-    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(2);
-
-    comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-    CYGACC_COMM_IF_WRITE(*comm, T, strlen(T));
-
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Beware that if doing something like the above, you should only do
-it to a channel which does not have GDB at the other end: GDB ignores
-raw data, so you would not see the output.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9321">Compatibility</H3
-><P
->The use of this service is controlled by the option
-<TT
-CLASS="LITERAL"
->CYGSEM_HAL_VIRTUAL_VECTOR_DIAG</TT
-> which is disabled per default on most
-older platforms (thus preserving backwards compatibility with older
-stubs). On newer ports, this option should always be set.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9325">Implementation Details</H3
-><P
->There is an array of procedure tables (raw comm channels) for each
-IO device of the platform which get initialized by the ROM monitor, or
-optionally by a RAM startup configuration (allowing the RAM
-configuration to take full control of the target).  In addition to
-this, there's a special table which is used to hold mangler
-procedures.</P
-><P
->The vector table defines which of these channels are selected for
-console and debugging IO respectively: console entry can be empty,
-point to mangler channel, or point to a raw channel. The debugger
-entry should always point to a raw channel.</P
-><P
->During normal console output (i.e., diagnostic output) the console
-table will be used to handle IO if defined. If not defined, the debug
-table will be used.</P
-><P
->This means that debuggers (such as GDB) which require text streams
-to be mangled (O-packetized in the case of GDB), can rely on the ROM
-monitor install mangling IO routines in the special mangler table and
-select this for console output. The mangler will pass the mangled data
-on to the selected debugging channel.</P
-><P
->If the eCos configuration specifies a different console channel
-from that used by the debugger, the console entry will point to the
-selected raw channel, thus overriding any mangler provided by the ROM
-monitor.</P
-><P
->See hal_if_diag_* routines in hal_if.c for more details of the stream
-path of diagnostic output. See <TT
-CLASS="FUNCTION"
->cyg_hal_gdb_diag_*()</TT
-> routines in
-<TT
-CLASS="FILENAME"
->hal_stub.c</TT
-> for the mangler used for GDB communication.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9335">New Platform Ports</H3
-><P
->Define CDL options <TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS</TT
->,
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL</TT
->, and
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL</TT
->.</P
-><P
->If <TT
-CLASS="LITERAL"
->CYGSEM_HAL_VIRTUAL_VECTOR_DIAG</TT
-> is set, make sure the infra diag
-code uses the hal_if diag functions:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> #define HAL_DIAG_INIT() hal_if_diag_init()
- #define HAL_DIAG_WRITE_CHAR(_c_) hal_if_diag_write_char(_c_)
- #define HAL_DIAG_READ_CHAR(_c_) hal_if_diag_read_char(&#38;_c_)</PRE
-></TD
-></TR
-></TABLE
-><P
->In addition to the above functions, the platform HAL must also
-provide a function cyg_hal_plf_comms_init which initializes the
-drivers and the channel procedure tables.</P
-><P
->Most of the other functionality in the table is more or less
-possible to copy unchanged from existing ports. Some care is necessary
-though to ensure the proper handling of interrupt vectors and timeouts
-for various devices handled by the same driver. See PowerPC/Cogent
-platform HAL for an example implementation.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note:: </B
-> When vector table console code is <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> used,
-the platform HAL must map the HAL_DIAG_INIT, HAL_DIAG_WRITE_CHAR and
-HAL_DIAG_READ_CHAR macros directly to the low-level IO functions,
-hardwired to use a compile-time configured channel.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note:: </B
-> On old ports the hardwired <TT
-CLASS="LITERAL"
->HAL_DIAG_INIT</TT
->,
-<TT
-CLASS="LITERAL"
->HAL_DIAG_WRITE_CHAR</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_DIAG_READ_CHAR</TT
-> implementations will also
-contain code to O-packetize the output for GDB. This should
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> be adopted for new ports! On new ports the
-ROM monitor is guaranteed to provide the necessary mangling via the
-vector table. The hardwired configuration should be reserved for ROM
-startups where achieving minimal image size is crucial.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-porting-structure.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-porting-coding-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->HAL Structure</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->HAL Coding Conventions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-default-interrupt-handling.html b/doc/html/ref/hal-default-interrupt-handling.html
deleted file mode 100644 (file)
index 2fb425f..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Default Interrupt Handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Exception Handling"
-HREF="hal-exception-handling.html"><LINK
-REL="PREVIOUS"
-TITLE="Default Synchronous Exception Handling"
-HREF="hal-default-synchronous-exception-handling.html"><LINK
-REL="NEXT"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-default-synchronous-exception-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 10. Exception Handling</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-DEFAULT-INTERRUPT-HANDLING">Default Interrupt Handling</H1
-><P
->Most asynchronous external interrupt vectors will point to a default
-interrupt VSR which decodes the actual interrupt being delivered from
-the interrupt controller and invokes the appropriate ISR.</P
-><P
->The default interrupt VSR has a number of responsibilities if it is
-going to interact with the Kernel cleanly and allow interrupts to
-cause thread preemption.</P
-><P
->To support this VSR an ISR vector table is needed. For each valid
-vector three pointers need to be stored: the ISR, its data pointer and
-an opaque (to the HAL) interrupt object pointer needed by the
-kernel. It is implementation defined whether these are stored in a
-single table of triples, or in three separate tables.</P
-><P
->The VSR follows the following approximate plan:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->    Save the CPU state. In non-debug configurations, it may be
-    possible to get away with saving less than the entire machine
-    state. The option
-    <TT
-CLASS="LITERAL"
->CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT</TT
->
-    is supported in some targets to do this.
-    </P
-></LI
-><LI
-><P
->    Increment the kernel scheduler lock. This is a static member of
-    the Cyg_Scheduler class, however it has also been aliased to
-    <TT
-CLASS="LITERAL"
->cyg_scheduler_sched_lock</TT
-> so that it can be
-    accessed from assembly code.
-    </P
-></LI
-><LI
-><P
->    (Optional) Switch to an interrupt stack if not already running on
-    it. This allows nested interrupts to be delivered without needing
-    every thread to have a stack large enough to take the maximum
-    possible nesting. It is implementation defined how to detect
-    whether this is a nested interrupt but there are two basic
-    techniques. The first is to inspect the stack pointer and switch
-    only if it is not currently within the interrupt stack range; the
-    second is to maintain a counter of the interrupt nesting level and
-    switch only if it is zero. The option
-    <TT
-CLASS="LITERAL"
->CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK</TT
->
-    controls whether this happens.
-    </P
-></LI
-><LI
-><P
->    Decode the actual external interrupt being delivered from
-    the interrupt controller. This will yield the ISR vector
-    number. The code to do this usually needs to come from the
-    variant or platform HAL, so is usually present in the form of a
-    macro or procedure callout.
-    </P
-></LI
-><LI
-><P
->    (Optional) Re-enable interrupts to permit nesting. At this point
-    we can potentially allow higher priority interrupts to occur. It
-    depends on the interrupt architecture of the CPU and platform
-    whether more interrupts will occur at this point, or whether they
-    will only be delivered after the current interrupt has been
-    acknowledged (by a call to
-    <TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_ACKNOWLEDGE()</TT
-> in the ISR).
-    </P
-></LI
-><LI
-><P
->    Using the ISR vector number as an index, retrieve the
-    ISR pointer and its data pointer from the ISR vector table.
-    </P
-></LI
-><LI
-><P
->    Construct a C call stack frame. This may involve making stack
-    space for call frames, and arguments, and initializing the back
-    pointers to halt a GDB backtrace operation.
-    </P
-></LI
-><LI
-><P
->    Call the ISR, passing the vector number and data pointer.  The
-    vector number and a pointer to the saved state should be preserved
-    across this call, preferably by storing them in registers that are
-    defined to be callee-saved by the calling conventions.
-    </P
-></LI
-><LI
-><P
->    If this is an un-nested interrupt and a separate interrupt
-    stack is being used, switch back to the interrupted thread's
-    own stack.
-    </P
-></LI
-><LI
-><P
->    Use the saved ISR vector number to get the interrupt object
-    pointer from the ISR vector table.
-    </P
-></LI
-><LI
-><P
->    Call <TT
-CLASS="FUNCTION"
->interrupt_end()</TT
-> passing it the return
-    value from the ISR, the interrupt object pointer and a pointer to
-    the saved CPU state. This function is implemented by the Kernel
-    and is responsible for finishing off the interrupt
-    handling. Specifically, it may post a DSR depending on the ISR
-    return value, and will decrement the scheduler lock. If the lock
-    is zeroed by this operation then any posted DSRs may be called and
-    may in turn result in a thread context switch.
-    </P
-></LI
-><LI
-><P
->    The return from <TT
-CLASS="FUNCTION"
->interrupt_end()</TT
-> may occur
-    some time after the call. Many other threads may have executed in
-    the meantime. So here all we may do is restore the machine state
-    and resume execution of the interrupted thread. Depending on the
-    architecture, it may be necessary to disable interrupts again for
-    part of this.
-    </P
-></LI
-></OL
-><P
->The detailed order of these steps may vary slightly depending on the
-architecture, in particular where interrupts are enabled and disabled.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-default-synchronous-exception-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Default Synchronous Exception Handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Porting Guide</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-default-synchronous-exception-handling.html b/doc/html/ref/hal-default-synchronous-exception-handling.html
deleted file mode 100644 (file)
index 1007333..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Default Synchronous Exception Handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Exception Handling"
-HREF="hal-exception-handling.html"><LINK
-REL="PREVIOUS"
-TITLE="Vectors and VSRs"
-HREF="hal-vectors-and-vsrs.html"><LINK
-REL="NEXT"
-TITLE="Default Interrupt Handling"
-HREF="hal-default-interrupt-handling.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-vectors-and-vsrs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 10. Exception Handling</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-default-interrupt-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-DEFAULT-SYNCHRONOUS-EXCEPTION-HANDLING">Default Synchronous Exception Handling</H1
-><P
->Most synchronous exception VSR table entries will point to a default
-exception VSR which is responsible for handling all exceptions in a
-generic manner. The default VSR simply saves the CPU state, makes any
-adjustments to the CPU state that is necessary, and calls
-<TT
-CLASS="FUNCTION"
->cyg_hal_exception_handler()</TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_hal_exception_handler()</TT
-> needs to pass the
-exception on to some handling code.  There are two basic destinations:
-enter GDB or pass the exception up to eCos. Exactly which
-destination is taken depends on the configuration. When the GDB stubs are
-included then the exception is passed to them, otherwise it is passed
-to eCos.</P
-><P
->If an eCos application has been loaded by RedBoot then the VSR table
-entries will all point into RedBoot's exception VSR, and will
-therefore enter GDB if an exception occurs. If the eCos application
-wants to handle an exception itself, it needs to replace the the VSR
-table entry with one pointing to its own VSR. It can do this with the
-<TT
-CLASS="FUNCTION"
->HAL_VSR_SET_TO_ECOS_HANDLER()</TT
-> macro.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-vectors-and-vsrs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-default-interrupt-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Vectors and VSRs</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Default Interrupt Handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-diagnostic-support.html b/doc/html/ref/hal-diagnostic-support.html
deleted file mode 100644 (file)
index fdfc023..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Diagnostic Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="Linker Scripts"
-HREF="hal-linker-scripts.html"><LINK
-REL="NEXT"
-TITLE="SMP Support"
-HREF="hal-smp-support.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-linker-scripts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-smp-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-DIAGNOSTIC-SUPPORT">Diagnostic Support</H1
-><P
->The HAL provides support for low level diagnostic IO. This is
-particularly useful during early development as an aid to bringing up
-a new platform. Usually this diagnostic channel is a UART or some
-other serial IO device, but it may equally be a a memory
-buffer, a simulator supported output channel, a ROM emulator virtual
-UART, and LCD panel, a memory mapped video buffer or any other output
-device.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_DIAG_INIT()</TT
-> performs any initialization
-required on the device being used to generate diagnostic output. This
-may include, for a UART, setting baud rate, and stop, parity and
-character bits. For other devices it may include initializing a
-controller or establishing contact with a remote device.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_DIAG_WRITE_CHAR(c)</TT
-> writes
-the character supplied to the diagnostic output device.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_DIAG_READ_CHAR(c)</TT
-> reads a character from the
-diagnostic device into the supplied variable. This is not supported
-for all diagnostic devices.</P
-><P
->These macros are defined in the header file
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_diag.h</TT
->. This file is usually supplied
-by the variant or platform HAL, depending on where the IO device being
-used is located. For example for on-chip UARTs it would be in the
-variant HAL, but for a board-level LCD panel it would be in the
-platform HAL.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-linker-scripts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-smp-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Linker Scripts</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SMP Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-exception-handling.html b/doc/html/ref/hal-exception-handling.html
deleted file mode 100644 (file)
index 3a8f0c3..0000000
+++ /dev/null
@@ -1,439 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Exception Handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="SMP Support"
-HREF="hal-smp-support.html"><LINK
-REL="NEXT"
-TITLE="Vectors and VSRs"
-HREF="hal-vectors-and-vsrs.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-smp-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-vectors-and-vsrs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-EXCEPTION-HANDLING">Chapter 10. Exception Handling</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="hal-exception-handling.html#HAL-STARTUP"
->HAL Startup</A
-></DT
-><DT
-><A
-HREF="hal-vectors-and-vsrs.html"
->Vectors and VSRs</A
-></DT
-><DT
-><A
-HREF="hal-default-synchronous-exception-handling.html"
->Default Synchronous Exception Handling</A
-></DT
-><DT
-><A
-HREF="hal-default-interrupt-handling.html"
->Default Interrupt Handling</A
-></DT
-></DL
-></DIV
-><P
->Most of the HAL consists of simple macros or functions that are
-called via the interfaces described in the previous section. These
-just perform whatever operation is required by accessing the hardware
-and then return. The exception to this is the handling of exceptions:
-either synchronous hardware traps or asynchronous device
-interrupts. Here control is passed first to the HAL, which then passed
-it on to eCos or the application. After eCos has finished with it,
-control is then passed back to the HAL for it to tidy up the CPU state
-and resume processing from the point at which the exception occurred.</P
-><P
->The HAL exceptions handling code is usually found in the file
-<TT
-CLASS="FILENAME"
->vectors.S</TT
-> in the architecture HAL.  Since the
-reset entry point is usually implemented as one of these it also deals
-with system startup.</P
-><P
->The exact implementation of this code is under the control of the HAL
-implementer. So long as it interacts correctly with the interfaces
-defined previously it may take any form.  However, all current
-implementation follow the same pattern, and there should be a very
-good reason to break with this. The rest of this section describes
-these operate.</P
-><P
->Exception handling normally deals with the following broad areas of
-functionality:</P
-><P
-></P
-><UL
-><LI
-><P
->Startup and initialization.</P
-></LI
-><LI
-><P
->Hardware exception delivery.</P
-></LI
-><LI
-><P
->Default handling of synchronous exceptions.</P
-></LI
-><LI
-><P
->Default handling of asynchronous interrupts.</P
-></LI
-></UL
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-STARTUP">HAL Startup</H1
-><P
->Execution normally begins at the reset vector with
-the machine in a minimal startup state. From here the HAL needs to get
-the machine running, set up the execution environment for the
-application, and finally invoke its entry point.</P
-><P
->The following is a list of the jobs that need to be done in
-approximately the order in which they should be accomplished. Many
-of these will not be needed in some configurations.</P
-><P
-></P
-><UL
-><LI
-><P
->  Initialize the hardware. This may involve initializing several
-  subsystems in both the architecture, variant and platform
-  HALs. These include:
-  </P
-><P
-></P
-><UL
-><LI
-><P
->      Initialize various CPU status registers. Most importantly, the CPU
-       interrupt mask should be set to disable interrupts.
-       </P
-></LI
-><LI
-><P
->      Initialize the MMU, if it is used. On many platforms it is
-       only possible to control the cacheability of address ranges
-       via the MMU. Also, it may be necessary to remap RAM and device
-       registers to locations other than their defaults. However, for
-       simplicity, the mapping should be kept as close to one-to-one
-       physical-to-virtual as possible.
-       </P
-></LI
-><LI
-><P
->      Set up the memory controller to access RAM, ROM and I/O devices
-       correctly. Until this is done it may not be possible to access
-       RAM. If this is a ROMRAM startup then the program code can
-       now be copied to its RAM address and control transferred to it.
-       </P
-></LI
-><LI
-><P
->      Set up any bus bridges and support chips. Often access to
-       device registers needs to go through various bus bridges and
-       other intermediary devices. In many systems these are combined
-       with the memory controller, so it makes sense to set these up
-       together. This is particularly important if early diagnostic
-       output needs to go through one of these devices.
-       </P
-></LI
-><LI
-><P
->      Set up diagnostic mechanisms. If the platform includes an LED or
-       LCD output device, it often makes sense to output progress
-       indications on this during startup. This helps with diagnosing
-       hardware and software errors.
-       </P
-></LI
-><LI
-><P
->      Initialize floating point and other extensions such as SIMD
-       and multimedia engines. It is usually necessary to enable
-       these and maybe initialize control and exception registers for
-       these extensions.
-       </P
-></LI
-><LI
-><P
->      Initialize interrupt controller. At the very least, it should
-       be configured to mask all interrupts. It may also be necessary
-       to set up the mapping from the interrupt controller's vector
-       number space to the CPU's exception number space. Similar
-       mappings may need to be set up between primary and secondary
-       interrupt controllers.
-       </P
-></LI
-><LI
-><P
->      Disable and initialize the caches. The caches should not
-       normally be enabled at this point, but it may be necessary to
-       clear or initialize them so that they can be enabled
-       later. Some architectures require that the caches be
-       explicitly reinitialized after a power-on reset.
-       </P
-></LI
-><LI
-><P
->      Initialize the timer, clock etc. While the timer used for RTC
-       interrupts will be initialized later, it may be necessary to
-       set up the clocks that drive it here.
-       </P
-></LI
-></UL
-><P
->    The exact order in which these initializations is done is
-    architecture or variant specific. It is also often not necessary
-    to do anything at all for some of these options. These fragments
-    of code should concentrate on getting the target up and running so
-    that C function calls can be made and code can be run. More
-    complex initializations that cannot be done in assembly code may
-    be postponed until calls to
-    <TT
-CLASS="FUNCTION"
->hal_variant_init()</TT
-> or
-    <TT
-CLASS="FUNCTION"
->hal_platform_init()</TT
-> are made.
-    </P
-><P
->    Not all of these initializations need to be done for all startup
-    types. In particular, RAM startups can reasonably assume that the
-    ROM monitor or loader has already done most of this work.
-    </P
-></LI
-><LI
-><P
->    Set up the stack pointer, this allows subsequent initialization
-    code to make proper procedure calls. Usually the interrupt stack
-    is used for this purpose since it is available, large enough, and
-    will be reused for other purposes later.
-    </P
-></LI
-><LI
-><P
->    Initialize any global pointer register needed for access to
-    globally defined variables. This allows subsequent initialization
-    code to access global variables.
-    </P
-></LI
-><LI
-><P
->    If the system is starting from ROM, copy the ROM template of the 
-    <TT
-CLASS="FILENAME"
->.data</TT
-> section out to its correct position in
-    RAM. (<A
-HREF="hal-linker-scripts.html"
->the Section called <I
->Linker Scripts</I
-> in Chapter 9</A
->).
-    </P
-></LI
-><LI
-><P
->    Zero the <TT
-CLASS="FILENAME"
->.bss</TT
-> section.
-    </P
-></LI
-><LI
-><P
->    Create a suitable C call stack frame. This may involve making
-    stack space for call frames, and arguments, and initializing the
-    back pointers to halt a GDB backtrace operation.
-    </P
-></LI
-><LI
-><P
->    Call <TT
-CLASS="FUNCTION"
->hal_variant_init()</TT
-> and
-    <TT
-CLASS="FUNCTION"
->hal_platform_init()</TT
->. These will perform any
-    additional initialization needed by the variant and platform. This
-    typically includes further initialization of the interrupt
-    controller, PCI bus bridges, basic IO devices and enabling the
-    caches.
-    </P
-></LI
-><LI
-><P
->    Call <TT
-CLASS="FUNCTION"
->cyg_hal_invoke_constructors()</TT
-> to run any
-    static constructors.
-    </P
-></LI
-><LI
-><P
->    Call <TT
-CLASS="FUNCTION"
->cyg_start()</TT
->. If
-    <TT
-CLASS="FUNCTION"
->cyg_start()</TT
-> returns, drop into an infinite
-    loop.
-    </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-smp-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-vectors-and-vsrs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SMP Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Vectors and VSRs</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-future-developments.html b/doc/html/ref/hal-future-developments.html
deleted file mode 100644 (file)
index f52e9fd..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Future developments</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="Architecture HAL Porting"
-HREF="hal-porting-architecture.html"><LINK
-REL="NEXT"
-TITLE="The ISO Standard C and Math Libraries"
-HREF="libc.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-porting-architecture.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="libc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-FUTURE-DEVELOPMENTS">Chapter 12. Future developments</H1
-><P
->The HAL is not complete, and will evolve and increase over
-time. Among the intended developments are:</P
-><P
-></P
-><UL
-><LI
-><P
->Common macros for interpreting the contents of a saved
-machine context. These would allow portable code, such as debug
-stubs, to extract such values as the program counter and stack pointer
-from a state without having to interpret a <SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure
-directly.</P
-></LI
-><LI
-><P
->Debugging support. Macros to set and clear hardware and
-software breakpoints. Access to other areas of machine state may
-also be supported.</P
-></LI
-><LI
-><P
->Static initialization support. The current HAL provides a
-dynamic interface to things like thread context initialization and ISR
-attachment. We also need to be able to define the system entirely
-statically so that it is ready to go on restart, without needing to
-run code. This will require extra macros to define these
-initializations.  Such support may have a consequential effect on the
-current HAL specification.</P
-></LI
-><LI
-><P
->CPU state control. Many CPUs have both kernel and user
-states. Although it is not intended to run any code in user state
-for the foreseeable future, it is possible that this may happen
-eventually. If this is the case, then some minor changes may be needed
-to the current HAL API to accommodate this. These should mostly
-be extensions, but minor changes in semantics may also be required.</P
-></LI
-><LI
-><P
->Physical memory management. Many embedded systems have
-multiple memory areas with varying properties such as base address,
-size, speed, bus width, cacheability and persistence. An API is
-needed to support the discovery of this information about the machine's
-physical memory map.</P
-></LI
-><LI
-><P
->Memory management control. Some embedded processors have
-a memory management unit. In some cases this must be enabled to
-allow the cache to be controlled, particularly if different regions
-of memory must have different caching properties. For some purposes,
-in some systems, it will be useful to manipulate the MMU settings
-dynamically.</P
-></LI
-><LI
-><P
->Power management. Macros to access and control any power
-management mechanisms available on the CPU implementation. These
-would provide a substrate for a more general power management system
-that also involved device drivers and other hardware components.</P
-></LI
-><LI
-><P
->Generic serial line macros. Most serial line devices operate
-in the same way, the only real differences being exactly which bits
-in which registers perform the standard functions. It should be
-possible to develop a set of HAL macros that provide basic serial
-line services such as baud rate setting, enabling interrupts, polling
-for transmit or receive ready, transmitting and receiving data etc.
-Given these it should be possible to create a generic serial line
-device driver that will allow rapid bootstrapping on any new platform.
-It may be possible to extend this mechanism to other device types.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-porting-architecture.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="libc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Architecture HAL Porting</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The ISO Standard C and Math Libraries</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-general-principles.html b/doc/html/ref/hal-general-principles.html
deleted file mode 100644 (file)
index 9fbeb6d..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->General principles</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="Architecture, Variant and Platform"
-HREF="hal-architecture-variant-and-platform.html"><LINK
-REL="NEXT"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-architecture-variant-and-platform.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-GENERAL-PRINCIPLES">Chapter 8. General principles</H1
-><P
->The HAL has been implemented according to the following general
-principles:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->            The HAL is implemented in C and assembler, although the
-             eCos kernel is largely implemented in C&#0043;&#0043;.
-             This is to permit the HAL the widest possible
-             applicability.</P
-></LI
-><LI
-><P
->All interfaces to the HAL are implemented by
-             CPP macros. This allows them to be implemented as inline
-             C code, inline assembler or function calls to external C
-             or assembler code. This allows the most efficient
-             implementation to be selected without affecting the
-             interface. It also allows them to be redefined if the
-             platform or variant HAL needs to replace or enhance a definition
-             from the architecture HAL.</P
-></LI
-><LI
-><P
->The HAL provides simple, portable mechanisms for dealing
-with the hardware of a wide range of architectures and platforms.
-It is always possible to bypass the HAL and program the hardware
-directly, but this may lead to a loss of portability. </P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-architecture-variant-and-platform.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Architecture, Variant and Platform</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->HAL Interfaces</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-input-and-output.html b/doc/html/ref/hal-input-and-output.html
deleted file mode 100644 (file)
index 2f863b1..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->HAL I/O</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="Interrupt Handling"
-HREF="hal-interrupt-handling.html"><LINK
-REL="NEXT"
-TITLE="Cache Control"
-HREF="hal-cache-control.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-interrupt-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-cache-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-INPUT-AND-OUTPUT">HAL I/O</H1
-><P
->This section contains definitions for supporting access
-to device control registers in an architecture neutral
-fashion.</P
-><P
->These definitions are normally found in the header file
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_io.h</TT
->.  This file itself contains
-macros that are generic to the architecture. If there are variant or
-platform specific IO access macros then these will be found in
-<TT
-CLASS="FILENAME"
->cyg/hal/var_io.h</TT
-> and
-<TT
-CLASS="FILENAME"
->cyg/hal/plf_io.h</TT
-> in the variant or platform HALs
-respectively. These files are include automatically by this header, so
-need not be included explicitly.</P
-><P
->This header (or more likely <TT
-CLASS="FILENAME"
->cyg/hal/plf_io.h</TT
->) also
-defines the PCI access macros. For more information on these see <A
-HREF="pci-library-reference.html"
->the Section called <I
->PCI Library reference</I
-> in Chapter 30</A
->.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8057">Register address</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_IO_REGISTER</PRE
-></TD
-></TR
-></TABLE
-><P
->This type is used to store the address of an I/O register. It will
-normally be a memory address, an integer port address or an offset
-into an I/O space. More complex architectures may need to code an
-address space plus offset pair into a single word, or may represent it
-as a structure.</P
-><P
->Values of variables and constants of this type will usually be
-supplied by configuration mechanisms or in target specific headers.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8062">Register read</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_READ_XXX( register, value )
-HAL_READ_XXX_VECTOR( register, buffer, count, stride )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros support the reading of I/O registers in various
-sizes. The <TT
-CLASS="REPLACEABLE"
-><I
->XXX</I
-></TT
-> component of the name may be
-<TT
-CLASS="LITERAL"
->UINT8</TT
->, <TT
-CLASS="LITERAL"
->UINT16</TT
->,
-<TT
-CLASS="LITERAL"
->UINT32</TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_READ_XXX()</TT
-> reads the appropriately sized
-value from the register and stores it in the variable passed as the
-second argument.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_READ_XXX_VECTOR()</TT
-> reads
-<TT
-CLASS="PARAMETER"
-><I
->count</I
-></TT
-> values of the appropriate size into
-<TT
-CLASS="PARAMETER"
-><I
->buffer</I
-></TT
->. The <TT
-CLASS="PARAMETER"
-><I
->stride</I
-></TT
->
-controls how the pointer advances through the register space. A stride
-of zero will read the same register repeatedly, and a stride of one
-will read adjacent registers of the given size. Greater strides will
-step by larger amounts, to allow for sparsely mapped registers for
-example.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8077">Register write</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_WRITE_XXX( register, value )
-HAL_WRITE_XXX_VECTOR( register, buffer,count, stride )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros support the writing of I/O registers in various
-sizes. The <TT
-CLASS="REPLACEABLE"
-><I
->XXX</I
-></TT
-> component of the name may be
-<TT
-CLASS="LITERAL"
->UINT8</TT
->, <TT
-CLASS="LITERAL"
->UINT16</TT
->,
-<TT
-CLASS="LITERAL"
->UINT32</TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_WRITE_XXX()</TT
-> writes
-the appropriately sized value from the variable passed as the second argument
-stored it in the register.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_WRITE_XXX_VECTOR()</TT
-> writes
-<TT
-CLASS="PARAMETER"
-><I
->count</I
-></TT
-> values of the appropriate size from <TT
-CLASS="PARAMETER"
-><I
->buffer</I
-></TT
->. The <TT
-CLASS="PARAMETER"
-><I
->stride</I
-></TT
-> controls
-how the pointer advances through the register space. A stride of
-zero will write the same register repeatedly, and a stride of one
-will write adjacent registers of the given size. Greater strides
-will step by larger amounts, to allow for sparsely mapped registers
-for example.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-interrupt-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-cache-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Interrupt Handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Cache Control</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-interfaces.html b/doc/html/ref/hal-interfaces.html
deleted file mode 100644 (file)
index f9137c6..0000000
+++ /dev/null
@@ -1,375 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->HAL Interfaces</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="General principles"
-HREF="hal-general-principles.html"><LINK
-REL="NEXT"
-TITLE="Architecture Characterization"
-HREF="hal-architecture-characterization.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-general-principles.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-architecture-characterization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-INTERFACES">Chapter 9. HAL Interfaces</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="hal-interfaces.html#HAL-BASE-DEFINITIONS"
->Base Definitions</A
-></DT
-><DT
-><A
-HREF="hal-architecture-characterization.html"
->Architecture Characterization</A
-></DT
-><DT
-><A
-HREF="hal-interrupt-handling.html"
->Interrupt Handling</A
-></DT
-><DT
-><A
-HREF="hal-input-and-output.html"
->HAL I/O</A
-></DT
-><DT
-><A
-HREF="hal-cache-control.html"
->Cache Control</A
-></DT
-><DT
-><A
-HREF="hal-linker-scripts.html"
->Linker Scripts</A
-></DT
-><DT
-><A
-HREF="hal-diagnostic-support.html"
->Diagnostic Support</A
-></DT
-><DT
-><A
-HREF="hal-smp-support.html"
->SMP Support</A
-></DT
-></DL
-></DIV
-><P
->This section describes the main HAL interfaces. </P
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-BASE-DEFINITIONS">Base Definitions</H1
-><P
->These are definitions that characterize the properties of the base
-architecture that are used to compile the portable parts of the
-kernel. They are concerned with such things a portable type
-definitions, endianness, and labeling.</P
-><P
->These definitions are supplied by the
-<TT
-CLASS="FILENAME"
->cyg/hal/basetype.h</TT
-> header file which is supplied
-by the architecture HAL. It is included automatically by
-<TT
-CLASS="FILENAME"
->cyg/infra/cyg_type.h</TT
->.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7743">Byte order</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="VARNAME"
->CYG_BYTEORDER</TT
-></DT
-><DD
-><P
->      This defines the byte order of the target and must be set to either
-      <TT
-CLASS="VARNAME"
->CYG_LSBFIRST</TT
-> or <TT
-CLASS="VARNAME"
->CYG_MSBFIRST</TT
->.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7753">Label Translation</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FUNCTION"
->CYG_LABEL_NAME(name)</TT
-></DT
-><DD
-><P
->      This is a wrapper used in some C and C&#0043;&#0043; files which
-      use labels defined in assembly code or the linker script.
-      It need only be defined if the default implementation in
-      <TT
-CLASS="FILENAME"
->cyg/infra/cyg_type.h</TT
->, which passes the name
-      argument unaltered, is inadequate. It should be paired with
-      <TT
-CLASS="FUNCTION"
->CYG_LABEL_DEFN()</TT
->.
-      </P
-></DD
-><DT
-><TT
-CLASS="FUNCTION"
->CYG_LABEL_DEFN(name)</TT
-></DT
-><DD
-><P
->      This is a wrapper used in assembler sources and linker scripts
-      which define labels.  It need only be defined if the default
-      implementation in
-      <TT
-CLASS="FILENAME"
->cyg/infra/cyg_type.h</TT
->, which passes the name
-      argument unaltered, is inadequate. The most usual alternative
-      definition of this macro prepends an underscore to the label
-      name. 
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7769">Base types</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      cyg_halint8
-       cyg_halint16
-       cyg_halint32
-       cyg_halint64
-       cyg_halcount8
-       cyg_halcount16
-       cyg_halcount32
-       cyg_halcount64
-       cyg_halbool</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros define the C base types that should be used to define
-variables of the given size. They only need to be defined if the
-default types specified in <TT
-CLASS="FILENAME"
->cyg/infra/cyg_type.h</TT
->
-cannot be used. Note that these are only the base types, they will be
-composed with <TT
-CLASS="LITERAL"
->signed</TT
-> and
-<TT
-CLASS="LITERAL"
->unsigned</TT
-> to form full type specifications.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7776">Atomic types</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      cyg_halatomic CYG_ATOMIC</PRE
-></TD
-></TR
-></TABLE
-><P
->These types are guaranteed to be read or written in a single
-uninterruptible operation. It is architecture defined what size this
-type is, but it will be at least a byte.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-general-principles.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-architecture-characterization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->General principles</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Architecture Characterization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-interrupt-handling.html b/doc/html/ref/hal-interrupt-handling.html
deleted file mode 100644 (file)
index 0170863..0000000
+++ /dev/null
@@ -1,749 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Interrupt Handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="Architecture Characterization"
-HREF="hal-architecture-characterization.html"><LINK
-REL="NEXT"
-TITLE="HAL I/O"
-HREF="hal-input-and-output.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-architecture-characterization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-input-and-output.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-INTERRUPT-HANDLING">Interrupt Handling</H1
-><P
->These interfaces contain definitions related to interrupt
-handling. They include definitions of exception and interrupt numbers,
-interrupt enabling and masking, and realtime clock operations.</P
-><P
->These definitions are normally found in
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_intr.h</TT
->.  This file is supplied by the
-architecture HAL.  Any variant or platform specific definitions will
-be found in <TT
-CLASS="FILENAME"
->cyg/hal/var_intr.h</TT
->,
-<TT
-CLASS="FILENAME"
->cyg/hal/plf_intr.h</TT
-> or
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_platform_ints.h</TT
-> in the variant or platform
-HAL, depending on the exact target. These files are include
-automatically by this header, so need not be included explicitly.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7921">Vector numbers</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYGNUM_HAL_VECTOR_XXXX
-CYGNUM_HAL_VSR_MIN
-CYGNUM_HAL_VSR_MAX
-CYGNUM_HAL_VSR_COUNT
-
-CYGNUM_HAL_INTERRUPT_XXXX
-CYGNUM_HAL_ISR_MIN
-CYGNUM_HAL_ISR_MAX
-CYGNUM_HAL_ISR_COUNT
-
-CYGNUM_HAL_EXCEPTION_XXXX
-CYGNUM_HAL_EXCEPTION_MIN
-CYGNUM_HAL_EXCEPTION_MAX
-CYGNUM_HAL_EXCEPTION_COUNT</PRE
-></TD
-></TR
-></TABLE
-><P
->All possible VSR, interrupt and exception vectors are specified here,
-together with maximum and minimum values for range checking. While the
-VSR and exception numbers will be defined in this file, the interrupt
-numbers will normally be defined in the variant or platform HAL file
-that is included by this header. </P
-><P
->There are two ranges of numbers, those for the vector service
-routines and those for the interrupt service routines. The relationship
-between these two ranges is undefined, and no equivalence should
-be assumed if vectors from the two ranges coincide.</P
-><P
->The VSR vectors correspond to the set of exception vectors that can be
-delivered by the CPU architecture, many of these will be internal
-exception traps. The ISR vectors correspond to the set of external
-interrupts that can be delivered and are usually determined by extra
-decoding of the interrupt controller by the interrupt VSR.</P
-><P
->Where a CPU supports synchronous exceptions, the range of such
-exceptions allowed are defined by <TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_MIN</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_MAX</TT
->. The
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_XXXX</TT
-> definitions are
-standard names used by target independent code to test for the
-presence of particular exceptions in the architecture. The actual
-exception numbers will normally correspond to the VSR exception
-range. In future other exceptions generated by the system software
-(such as stack overflow) may be added.</P
-><P
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_ISR_COUNT</TT
->, <TT
-CLASS="LITERAL"
->CYGNUM_HAL_VSR_COUNT</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_COUNT</TT
-> define the number of
-ISRs, VSRs and EXCEPTIONs respectively for the purposes of defining
-arrays etc. There might be a translation from the supplied vector
-numbers into array offsets. Hence
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_XXX_COUNT</TT
-> may not simply be
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_XXX_MAX</TT
-> - <TT
-CLASS="LITERAL"
->CYGNUM_HAL_XXX_MIN</TT
-> or <TT
-CLASS="LITERAL"
->CYGNUM_HAL_XXX_MAX</TT
->&#0043;1.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7939">Interrupt state control</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CYG_INTERRUPT_STATE
-HAL_DISABLE_INTERRUPTS( old )
-HAL_RESTORE_INTERRUPTS( old )
-HAL_ENABLE_INTERRUPTS()
-HAL_QUERY_INTERRUPTS( state )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros provide control over the state of the CPUs interrupt mask
-mechanism. They should normally manipulate a CPU status register to
-enable and disable interrupt delivery. They should not access an
-interrupt controller.</P
-><P
-><TT
-CLASS="LITERAL"
->CYG_INTERRUPT_STATE</TT
-> is a data type that should be
-used to store the interrupt state returned by
-<TT
-CLASS="FUNCTION"
->HAL_DISABLE_INTERRUPTS()</TT
-> and
-<TT
-CLASS="FUNCTION"
->HAL_QUERY_INTERRUPTS()</TT
-> and passed to
-<TT
-CLASS="FUNCTION"
->HAL_RESTORE_INTERRUPTS()</TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_DISABLE_INTERRUPTS()</TT
-> disables the delivery of
-interrupts and stores the original state of the interrupt mask in the
-variable passed in the <TT
-CLASS="PARAMETER"
-><I
->old</I
-></TT
-> argument.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_RESTORE_INTERRUPTS()</TT
-> restores the state of
-the interrupt mask to that recorded in <TT
-CLASS="PARAMETER"
-><I
->old</I
-></TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_ENABLE_INTERRUPTS()</TT
-> simply enables interrupts
-regardless of the current state of the mask.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_QUERY_INTERRUPTS()</TT
-> stores the state of the
-interrupt mask in the variable passed in the <TT
-CLASS="PARAMETER"
-><I
->state</I
-></TT
-> argument. The state stored here should also be
-capable of being passed to
-<TT
-CLASS="FUNCTION"
->HAL_RESTORE_INTERRUPTS()</TT
-> at a later point.</P
-><P
->It is at the HAL implementer&#8217;s discretion exactly
-which interrupts are masked by this mechanism. Where a CPU has more
-than one interrupt type that may be masked separately (e.g. the
-ARM's IRQ and FIQ) only those that can raise DSRs need
-to be masked here. A separate architecture specific mechanism may
-then be used to control the other interrupt types.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7961">ISR and VSR management</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_INTERRUPT_IN_USE( vector, state )
-HAL_INTERRUPT_ATTACH( vector, isr, data, object )
-HAL_INTERRUPT_DETACH( vector, isr )
-HAL_VSR_SET( vector, vsr, poldvsr )
-HAL_VSR_GET( vector, pvsr )
-HAL_VSR_SET_TO_ECOS_HANDLER( vector, poldvsr )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros manage the attachment of interrupt and vector service
-routines to interrupt and exception vectors respectively.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_IN_USE()</TT
-> tests the state of the
-supplied interrupt vector and sets the value of the state parameter to
-either 1 or 0 depending on whether there is already an ISR attached to
-the vector. The HAL will only allow one ISR to be attached to each
-vector, so it is a good idea to use this function before using
-<TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_ATTACH()</TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_ATTACH()</TT
-> attaches
-the ISR, data pointer and object pointer to the given
-<TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
->. When an interrupt occurs on this
-vector the ISR is called using the C calling convention and the vector
-number and data pointer are passed to it as the first and second
-arguments respectively.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_DETACH()</TT
-> detaches the ISR from the
-vector.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_VSR_SET()</TT
-> replaces the VSR attached to the
-<TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> with the replacement supplied in
-<TT
-CLASS="PARAMETER"
-><I
->vsr</I
-></TT
->. The old VSR is returned in the location
-pointed to by <TT
-CLASS="PARAMETER"
-><I
->pvsr</I
-></TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_VSR_GET()</TT
-> assigns
-a copy of the VSR to the location pointed to by <TT
-CLASS="PARAMETER"
-><I
->pvsr</I
-></TT
->.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_VSR_SET_TO_ECOS_HANDLER()</TT
-> ensures that the
-VSR for a specific exception is pointing at the eCos exception VSR and
-not one for RedBoot or some other ROM monitor. The default when
-running under RedBoot is for exceptions to be handled by RedBoot and
-passed to GDB. This macro diverts the exception to eCos so that it may
-be handled by application code. The arguments are the VSR vector to be
-replaces, and a location in which to store the old VSR pointer, so
-that it may be replaced at a later point.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN7983">Interrupt controller management</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_INTERRUPT_MASK( vector )
-HAL_INTERRUPT_UNMASK( vector )
-HAL_INTERRUPT_ACKNOWLEDGE( vector )
-HAL_INTERRUPT_CONFIGURE( vector, level, up )
-HAL_INTERRUPT_SET_LEVEL( vector, level )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros exert control over any prioritized interrupt
-controller that is present. If no priority controller exists, then
-these macros should be empty.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->  These macros may not be reentrant, so care should be taken to
-  prevent them being called while interrupts are enabled. This means
-  that they can be safely used in initialization code before
-  interrupts are enabled, and in ISRs. In DSRs, ASRs and thread code,
-  however, interrupts must be disabled before these macros are
-  called. Here is an example for use in a DSR where the interrupt
-  source is unmasked after data processing:
-  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> ...
- HAL_DISABLE_INTERRUPTS(old);
- HAL_INTERRUPT_UNMASK(CYGNUM_HAL_INTERRUPT_ETH);
- HAL_RESTORE_INTERRUPTS(old);
- ...</PRE
-></TD
-></TR
-></TABLE
-></BLOCKQUOTE
-></DIV
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_MASK()</TT
-> causes the interrupt
-associated with the given vector to be blocked.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_UNMASK()</TT
-> causes the interrupt
-associated with the given vector to be unblocked.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_ACKNOWLEDGE()</TT
-> acknowledges the
-current interrupt from the given vector. This is usually executed from
-the ISR for this vector when it is prepared to allow further
-interrupts.  Most interrupt controllers need some form of acknowledge
-action before the next interrupt is allowed through. Executing this
-macro may cause another interrupt to be delivered. Whether this
-interrupts the current code depends on the state of the CPU interrupt
-mask.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_CONFIGURE()</TT
-> provides
-control over how an interrupt signal is detected. The arguments
-are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->vector</DT
-><DD
-><P
->The interrupt vector to be configured.</P
-></DD
-><DT
->level</DT
-><DD
-><P
->      Set to <TT
-CLASS="VARNAME"
->true</TT
-> if the interrupt is detected by
-      level, and <TT
-CLASS="VARNAME"
->false</TT
-> if it is edge triggered.
-      </P
-></DD
-><DT
->up</DT
-><DD
-><P
->      If the interrupt is set to level detect, then if this is
-      <TT
-CLASS="VARNAME"
->true</TT
-> it is detected by a high signal level,
-      and if <TT
-CLASS="VARNAME"
->false</TT
-> by a low signal level. If the
-      interrupt is set to edge triggered, then if this is
-      <TT
-CLASS="VARNAME"
->true</TT
-> it is triggered by a rising edge and if
-      <TT
-CLASS="VARNAME"
->false</TT
-> by a falling edge.
-      </P
-></DD
-></DL
-></DIV
-><P
-><TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_SET_LEVEL()</TT
-> provides control over
-the hardware priority of the interrupt. The arguments are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->vector</DT
-><DD
-><P
->The interrupt whose level is to be set.</P
-></DD
-><DT
->level</DT
-><DD
-><P
->      The priority level to which the interrupt is to set. In some
-      architectures the masking of an interrupt is achieved by
-      changing its priority level. Hence this function,
-      <TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_MASK()</TT
-> and
-      <TT
-CLASS="FUNCTION"
->HAL_INTERRUPT_UNMASK()</TT
-> may interfere with
-      each other.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8030">Clock control</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_CLOCK_INITIALIZE( period )
-HAL_CLOCK_RESET( vector, period )
-HAL_CLOCK_READ( pvalue )</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros provide control over a clock or timer device that may be
-used by the kernel to provide time-out, delay and scheduling
-services. The clock is assumed to be implemented by some form of
-counter that is incremented or decremented by some external source and
-which raises an interrupt when it reaches a predetermined value.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_CLOCK_INITIALIZE()</TT
-> initializes the timer
-device to interrupt at the given period. The period is essentially the
-value used to initialize the timer counter and must be calculated from
-the timer frequency and the desired interrupt rate. The timer device
-should generate an interrupt every <TT
-CLASS="VARNAME"
->period</TT
-> cycles.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_CLOCK_RESET()</TT
-> re-initializes the timer to
-provoke the next interrupt. This macro is only really necessary when
-the timer device needs to be reset in some way after each interrupt.</P
-><P
-><TT
-CLASS="FUNCTION"
->HAL_CLOCK_READ()</TT
-> reads the current value of the
-timer counter and puts the value in the location pointed to by
-<TT
-CLASS="PARAMETER"
-><I
->pvalue</I
-></TT
->. The value stored will always be the
-number of timer cycles since the last interrupt, and hence ranges
-between zero and the initial period value. If this is a count-down
-cyclic timer, some arithmetic may be necessary to generate this value.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8042">Microsecond Delay</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_DELAY_US(us)</PRE
-></TD
-></TR
-></TABLE
-><P
->This is an optional definition. If defined the macro implements a busy
-loop delay for the given number of microseconds. This is usually
-implemented by waiting for the required number of hardware timer ticks
-to pass. </P
-><P
->This operation should normally be used when a very short delay is
-needed when controlling hardware, programming FLASH devices and similar
-situations where a wait/timeout loop would otherwise be used. Since it
-may disable interrupts, and is implemented by busy waiting, it should
-not be used in code that is sensitive to interrupt or context switch
-latencies.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-architecture-characterization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-input-and-output.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Architecture Characterization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->HAL I/O</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-introduction.html b/doc/html/ref/hal-introduction.html
deleted file mode 100644 (file)
index 03b008f..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="NEXT"
-TITLE="Architecture, Variant and Platform"
-HREF="hal-architecture-variant-and-platform.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-architecture-variant-and-platform.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-INTRODUCTION">Chapter 6. Introduction</H1
-><P
->This is an initial specification of the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> Hardware Abstraction Layer (HAL). The HAL abstracts
-the underlying hardware of a processor architecture and/or the
-platform to a level sufficient for the eCos kernel to be ported onto
-that platform.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Caveat: </B
->This document is an informal description of the HAL capabilities and
-is not intended to be full documentation, although it may be used as a
-source for such. It also describes the HAL as it is currently
-implemented for the architectures targeted in this release. It most
-closely describes the HALs for the MIPS, I386 and PowerPC HALs. Other
-architectures are similar but may not be organized precisely as
-described here.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-architecture-variant-and-platform.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The eCos Hardware Abstraction Layer (HAL)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Architecture, Variant and Platform</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-linker-scripts.html b/doc/html/ref/hal-linker-scripts.html
deleted file mode 100644 (file)
index 84311d5..0000000
+++ /dev/null
@@ -1,322 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Linker Scripts</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="Cache Control"
-HREF="hal-cache-control.html"><LINK
-REL="NEXT"
-TITLE="Diagnostic Support"
-HREF="hal-diagnostic-support.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-cache-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-diagnostic-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-LINKER-SCRIPTS">Linker Scripts</H1
-><P
->When an eCos application is linked it must be done under the control
-of a linker script. This script defines the memory areas, addresses
-and sized, into which the code and data are to be put, and allocates
-the various sections generated by the compiler to these.</P
-><P
->The linker script actually used is in
-<TT
-CLASS="FILENAME"
->lib/target.ld</TT
-> in the install directory. This is
-actually manufactured out of two other files: a base linker script and
-an <TT
-CLASS="LITERAL"
->.ldi</TT
-> file that was generated by the memory
-layout tool.</P
-><P
->The base linker script is usually supplied either by the architecture
-HAL or the variant HAL. It consists of a set of linker script
-fragments, in the form of C preprocessor macros, that define the major
-output sections to be generated by the link operation. The
-<TT
-CLASS="LITERAL"
->.ldi</TT
-> file, which is <TT
-CLASS="LITERAL"
->#include'ed</TT
->
-by the base linker script, uses these macro definitions to assign the
-output sections to the required memory areas and link addresses.</P
-><P
->The <TT
-CLASS="LITERAL"
->.ldi</TT
-> file is supplied by the platform HAL, and
-contains knowledge of the memory layout of the target platform. These
-files generally conform to a standard naming convention, each file
-being of the form:</P
-><P
-><TT
-CLASS="FILENAME"
->pkgconf/mlt_&lt;architecture&gt;_&lt;variant&gt;_&lt;platform&gt;_&lt;startup&gt;.ldi</TT
-></P
-><P
->where <TT
-CLASS="LITERAL"
->&lt;architecture&gt;</TT
->,
-<TT
-CLASS="LITERAL"
->&lt;variant&gt;</TT
-> and
-<TT
-CLASS="LITERAL"
->&lt;platform&gt;</TT
-> are the respective HAL package
-names and <TT
-CLASS="LITERAL"
->&lt;startup&gt;</TT
-> is the startup type which
-is usually one of <TT
-CLASS="LITERAL"
->ROM</TT
->, <TT
-CLASS="LITERAL"
->RAM</TT
-> or
-<TT
-CLASS="LITERAL"
->ROMRAM</TT
->.</P
-><P
->In addition to the <TT
-CLASS="LITERAL"
->.ldi</TT
-> file, there is also a
-congruously name <TT
-CLASS="LITERAL"
->.h</TT
-> file. This may be used by the
-application to access information defined in the
-<TT
-CLASS="LITERAL"
->.ldi</TT
-> file. Specifically it contains the memory
-layout defined there, together with any additional section names
-defined by the user. Examples of the latter are heap areas or PCI bus
-memory access windows.</P
-><P
->The <TT
-CLASS="LITERAL"
->.ldi</TT
-> is manufactured by the <SPAN
-CLASS="APPLICATION"
->Memory
-Layout Tool</SPAN
-> (MLT). The <SPAN
-CLASS="APPLICATION"
->MLT</SPAN
-> saves the memory
-configuration into a file named</P
-><P
-><TT
-CLASS="FILENAME"
->include/pkgconf/mlt_&lt;architecture&gt;_&lt;variant&gt;_&lt;platform&gt;_&lt;startup&gt;.mlt</TT
-></P
-><P
->in the platform HAL. This file is used by the
-<SPAN
-CLASS="APPLICATION"
->MLT</SPAN
-> to manufacture both the
-<TT
-CLASS="LITERAL"
->.ldi</TT
-> and <TT
-CLASS="LITERAL"
->.h</TT
-> files. Users should
-beware that direct edits the either of these files may be overwritten
-if the <SPAN
-CLASS="APPLICATION"
->MLT</SPAN
-> is run and regenerates them from the
-<TT
-CLASS="LITERAL"
->.mlt</TT
-> file.</P
-><P
->The names of the <TT
-CLASS="LITERAL"
->.ldi</TT
-> and <TT
-CLASS="LITERAL"
->.h</TT
->
-files are defined by macro definitions in
-<TT
-CLASS="FILENAME"
->pkgconf/system.h</TT
->. These are
-<TT
-CLASS="LITERAL"
->CYGHWR_MEMORY_LAYOUT_LDI</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGHWR_MEMORY_LAYOUT_H</TT
-> respectively. While there
-will be little need for the application to refer to the
-<TT
-CLASS="LITERAL"
->.ldi</TT
-> file directly, it may include the
-<TT
-CLASS="LITERAL"
->.h</TT
-> file as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include CYGHWR_MEMORY_LAYOUT_H</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-cache-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-diagnostic-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Cache Control</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Diagnostic Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-porting-architecture.html b/doc/html/ref/hal-porting-architecture.html
deleted file mode 100644 (file)
index 9b939df..0000000
+++ /dev/null
@@ -1,1337 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Architecture HAL Porting</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Variant HAL Porting"
-HREF="hal-porting-variant.html"><LINK
-REL="NEXT"
-TITLE="Future developments"
-HREF="hal-future-developments.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-porting-variant.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Porting Guide</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-future-developments.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-ARCHITECTURE">Architecture HAL Porting</H1
-><P
->A new architecture HAL is the most complex HAL to write, and it the
-least easily described. Hence this section is presently nothing more
-than a place holder for the future.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9793">HAL Architecture Porting Process</H2
-><P
->The easiest way to make a new architecture HAL is simply to copy an
-existing architecture HAL of an, if possible, closely matching
-architecture and change all the files to match the new
-architecture. The MIPS architecture HAL should be used if possible, as
-it has the appropriate layout and coding conventions. Other HALs
-may deviate from that norm in various ways.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
-> eCos is written for GCC. It requires C and C++
-compiler support as well as a few compiler features introduced during
-eCos development - so compilers older than eCos may not provide these
-features. Note that there is no C++ support for any 8 or 16 bit
-CPUs. Before you can undertake an eCos port, you need the required
-compiler support.</P
-></BLOCKQUOTE
-></DIV
-><P
->The following gives a rough outline of the steps needed to create a
-new architecture HAL. The exact order and set of steps needed will
-vary greatly from architecture to architecture, so a lot of
-flexibility is required. And of course, if the architecture HAL is to
-be tested, it is necessary to do variant and  platform ports for the
-initial target simultaneously.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make a new directory for the new architecture under the
-<TT
-CLASS="FILENAME"
->hal</TT
-> directory in the source repository. Make an
-<TT
-CLASS="FILENAME"
->arch</TT
-> directory under this and populate this with
-the standard set of package directories.</P
-></LI
-><LI
-><P
->Copy the CDL file from an example HAL changing its name to match the
-new HAL. Edit the file, changing option names as appropriate. Delete
-any options that are specific to the original HAL, and and any new
-options that are necessary for the new architecture. This is likely to
-be a continuing process during the development of the HAL. See <A
-HREF="hal-porting-architecture.html#HAL-PORTING-ARCHITECTURE-CDL"
->the Section called <I
->CDL Requirements</I
-></A
-> for more details.</P
-></LI
-><LI
-><P
->Copy the <TT
-CLASS="FILENAME"
->hal_arch.h</TT
-> file from an example
-HAL. Within this file you need to change or define the following:</P
-><P
-></P
-><UL
-><LI
-><P
->Define the <SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure. This
-may need to reflect the save order of any group register save/restore
-instructions, the interrupt and exception save and restore formats,
-and the procedure calling conventions. It may also need to cater for
-optional FPUs and other functional units. It can be quite difficult to
-develop a layout that copes with all requirements.</P
-></LI
-><LI
-><P
->Define the bit manipulation routines,
-<TT
-CLASS="LITERAL"
->HAL_LSBIT_INDEX()</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_MSBIT_INDEX()</TT
->. If the architecture contains
-instructions to perform these, or related, operations, then these
-should be defined as inline assembler fragments. Otherwise make them
-calls to functions.</P
-></LI
-><LI
-><P
->Define <TT
-CLASS="LITERAL"
->HAL_THREAD_INIT_CONTEXT()</TT
->. This initializes
-a restorable CPU context onto a stack pointer so that a later call to
-<TT
-CLASS="LITERAL"
->HAL_THREAD_LOAD_CONTEXT()</TT
-> or
-<TT
-CLASS="LITERAL"
->HAL_THREAD_SWITCH_CONTEXT()</TT
-> will execute it
-correctly. This macro needs to take account of the same optional
-features of the architecture as the definition of
-<SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
->.</P
-></LI
-><LI
-><P
->Define <TT
-CLASS="LITERAL"
->HAL_THREAD_LOAD_CONTEXT()</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_THREAD_SWITCH_CONTEXT()</TT
->. These should just be
-calls to functions in <TT
-CLASS="FILENAME"
->context.S</TT
->.</P
-></LI
-><LI
-><P
->Define <TT
-CLASS="LITERAL"
->HAL_REORDER_BARRIER()</TT
->. This prevents code
-being moved by the compiler and is necessary in some order-sensitive
-code. This macro is actually defined identically in all architecture,
-so it can just be copied.</P
-></LI
-><LI
-><P
->Define breakpoint support. The macro
-<TT
-CLASS="LITERAL"
->HAL_BREAKPOINT(label)</TT
-> needs to be an inline assembly
-fragment that invokes a breakpoint. The breakpoint instruction should
-be labeled with the <TT
-CLASS="PARAMETER"
-><I
->label</I
-></TT
->
-argument. <TT
-CLASS="LITERAL"
->HAL_BREAKINST</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_BREAKINST_SIZE</TT
-> define the breakpoint
-instruction for debugging purposes.</P
-></LI
-><LI
-><P
->Define GDB support. GDB views the registers of the target as a linear
-array, with each register having a well defined offset. This array may
-differ from the ordering defined in
-<SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
->. The macros
-<TT
-CLASS="LITERAL"
->HAL_GET_GDB_REGISTERS()</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_SET_GDB_REGISTERS()</TT
-> translate between the GDB
-array and the <SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure.
-The <TT
-CLASS="LITERAL"
->HAL_THREAD_GET_SAVED_REGISTERS()</TT
-> translates a
-stack pointer saved by the context switch macros into a pointer to a
-<SPAN
-CLASS="STRUCTNAME"
->HAL_SavedRegisters</SPAN
-> structure. Usually this is
-a one-to-one translation, but this macro allows it to differ if
-necessary.</P
-></LI
-><LI
-><P
->Define long jump support. The type <SPAN
-CLASS="TYPE"
->hal_jmp_buf</SPAN
-> and the
-functions <TT
-CLASS="FUNCTION"
->hal_setjmp()</TT
-> and
-<TT
-CLASS="LITERAL"
->hal_longjmp()</TT
-> provide the underlying implementation
-of the C library <TT
-CLASS="FUNCTION"
->setjmp()</TT
-> and
-<TT
-CLASS="FUNCTION"
->longjmp()</TT
->.</P
-></LI
-><LI
-><P
->Define idle thread action. Generally the macro
-<TT
-CLASS="LITERAL"
->HAL_IDLE_THREAD_ACTION()</TT
-> is defined to call a
-function in <TT
-CLASS="FILENAME"
->hal_misc.c</TT
->.</P
-></LI
-><LI
-><P
->Define stack sizes. The macros
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_TYPICAL</TT
-> should be defined to
-the minimum size for any thread stack and a reasonable default for
-most threads respectively. It is usually best to construct these out
-of component sizes for the CPU save state and procedure call stack
-usage. These definitions should not use anything other than numerical
-values since they can be used from assembly code in some HALs.</P
-></LI
-><LI
-><P
->Define memory access macros. These macros provide translation between
-cached and uncached and physical memory spaces. They usually consist
-of masking out bits of the supplied address and ORing in alternative
-address bits.</P
-></LI
-><LI
-><P
->Define global pointer save/restore macros. These really only need
-defining if the calling conventions of the architecture require a
-global pointer (as does the MIPS architecture), they may be empty
-otherwise. If it is necessary to define these, then take a look at the
-MIPS implementation for an example.</P
-></LI
-></UL
-></LI
-><LI
-><P
->Copy <TT
-CLASS="FILENAME"
->hal_intr.h</TT
-> from an example HAL. Within this
-file you should change or define the following:</P
-><P
-></P
-><UL
-><LI
-><P
->Define the exception vectors. These should be detailed in the
-architecture specification. Essentially for each exception entry point
-defined by the architecture there should be an entry in the VSR
-table. The offsets of these VSR table entries should be defined here
-by <TT
-CLASS="LITERAL"
->CYGNUM_HAL_VECTOR_*</TT
-> definitions. The size of the
-VSR table also needs to be defined here.</P
-></LI
-><LI
-><P
->Map any hardware exceptions to standard names. There is a group of
-exception vector name of the form
-<TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_*</TT
-> that define a wide variety
-of possible exceptions that many architectures raise. Generic code
-detects whether the architecture can raise a given exception by
-testing whether a given <TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_*</TT
->
-definition is present. If it is present then its value is the vector
-that raises that exception. This does not need to be a one-to-one
-correspondence, and several <TT
-CLASS="LITERAL"
->CYGNUM_HAL_EXCEPTION_*</TT
->
-definitions may have the same value.</P
-><P
->Interrupt vectors are usually defined in the variant or platform
-HALs. The interrupt number space may either be continuous with the VSR
-number space, where they share a vector table (as in the i386) or may
-be a separate space where a separate decode stage is used (as in MIPS
-or PowerPC).</P
-></LI
-><LI
-><P
->Declare any static data used by the HAL to handle interrupts and
-exceptions. This is usually three vectors for interrupts:
-<TT
-CLASS="LITERAL"
->hal_interrupt_handlers[]</TT
->,
-<TT
-CLASS="LITERAL"
->hal_interrupt_data[]</TT
-> and
-<TT
-CLASS="LITERAL"
->hal_interrupt_objects[]</TT
->, which are sized according
-to the interrupt vector definitions. In addition a definition for the
-VSR table, <TT
-CLASS="LITERAL"
->hal_vsr_table[]</TT
-> should be made. These
-vectors are normally defined in either <TT
-CLASS="FILENAME"
->vectors.S</TT
->
-or <TT
-CLASS="FILENAME"
->hal_misc.c</TT
->.</P
-></LI
-><LI
-><P
->Define interrupt enable/disable macros. These are normally inline
-assembly fragments to execute the instructions, or manipulate the CPU
-register, that contains the CPU interrupt enable bit.</P
-></LI
-><LI
-><P
->A feature that many HALs support is the ability to execute DSRs on the
-interrupt stack. This is not an essential feature, and is better left
-unimplemented in the initial porting effort. If this is required, then
-the macro <TT
-CLASS="LITERAL"
->HAL_INTERRUPT_STACK_CALL_PENDING_DSRS()</TT
->
-should be defined to call a function in
-<TT
-CLASS="FILENAME"
->vectors.S</TT
->.</P
-></LI
-><LI
-><P
->Define the interrupt and VSR attachment macros. If the same arrays as
-for other HALs have been used for VSR and interrupt vectors, then
-these macro can be copied across unchanged.</P
-></LI
-></UL
-></LI
-><LI
-><P
->A number of other header files also need to be filled in:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="FILENAME"
->basetype.h</TT
->. This file defines the basic types
-used by eCos, together with the endianness and some other
-characteristics. This file only really needs to contain definitions
-if the architecture differs significantly from the defaults defined
-in <TT
-CLASS="FILENAME"
->cyg_type.h</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->hal_io.h</TT
->. This file contains macros for accessing
-device IO registers. If the architecture uses memory mapped IO, then
-these can be copied unchanged from an existing HAL such as MIPS. If
-the architecture uses special IO instructions, then these macros must
-be defined as inline assembler fragments. See the I386 HAL for an
-example. PCI bus access macros are usually defined in the variant or
-platform HALs.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->hal_cache.h</TT
->. This file contains cache access
-macros. If the architecture defines cache instructions, or control
-registers, then the access macros should be defined here. Otherwise
-they must be defined in the variant or platform HAL. Usually the cache
-dimensions (total size, line size, ways etc.) are defined in the
-variant HAL.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FILENAME"
->arch.inc</TT
-> and
-<TT
-CLASS="FILENAME"
->&lt;architecture&gt;.inc</TT
->. These files are
-assembler headers used by <TT
-CLASS="FILENAME"
->vectors.S</TT
-> and
-<TT
-CLASS="FILENAME"
->context.S</TT
->.
-<TT
-CLASS="FILENAME"
->&lt;architecture&gt;.inc</TT
-> is a general purpose
-header that should contain things like register aliases, ABI
-definitions and macros useful to general assembly
-code. If there are no such definitions, then this file need not be
-provided. <TT
-CLASS="FILENAME"
->arch.inc</TT
-> contains macros for performing
-various eCos related operations such as initializing the CPU, caches,
-FPU etc. The definitions here may often be configured or overridden by
-definitions in the variant or platform HALs. See the MIPS HAL for an
-example of this.</P
-></LI
-></UL
-></LI
-><LI
-><P
->Write <TT
-CLASS="FILENAME"
->vectors.S</TT
->. This is the most important file
-in the HAL. It contains the CPU initialization code, exception and
-interrupt handlers. While other HALs should be consulted for
-structures and techniques, there is very little here that can be
-copied over without major edits.</P
-><P
->The main pieces of code that need to be defined here are:</P
-><P
-></P
-><UL
-><LI
-><P
->Reset vector. This usually need to be positioned at the start of the
-ROM or FLASH, so should be in a linker section of its own. It can then be
-placed correctly by the linker script. Normally this code is little
-more than a jump to the label <TT
-CLASS="LITERAL"
->_start</TT
->.</P
-></LI
-><LI
-><P
->Exception vectors. These are the trampoline routines connected to the
-hardware exception entry points that vector through the VSR table. In
-many architectures these are adjacent to the reset vector, and should
-occupy the same linker section. If the architecture allow the vectors
-to be moved then it may be necessary for these trampolines to be
-position independent so they can be relocated at runtime.</P
-><P
->The trampolines should do the minimum necessary to transfer control
-from the hardware vector to the VSR pointed to by the matching table
-entry. Exactly how this is done depends on the architecture. Usually
-the trampoline needs to get some working registers by either saving
-them to CPU special registers (e.g. PowerPC SPRs), using reserved
-general registers (MIPS K0 and K1), using only memory based
-operations (IA32), or just jumping directly (ARM). The VSR table index
-to be used is either implicit in the entry point taken (PowerPC, IA32,
-ARM), or must be determined from a CPU register (MIPS).</P
-></LI
-><LI
-><P
->Write kernel startup code. This is the location the reset vector jumps
-to, and can be in the main text section of the executable, rather than
-a special section. The code here should first initialize the CPU and other
-hardware subsystems. The best approach is to use a set of macro
-calls that are defined either in <TT
-CLASS="FILENAME"
->arch.inc</TT
-> or
-overridden in the variant or platform HALs. Other jobs that this code
-should do are: initialize stack pointer; copy the data section from
-ROM to RAM if necessary; zero the BSS; call variant and platform
-initializers; call <TT
-CLASS="FUNCTION"
->cyg_hal_invoke_constructors()</TT
->;
-call <TT
-CLASS="FUNCTION"
->initialize_stub()</TT
-> if necessary. Finally it
-should call <TT
-CLASS="FUNCTION"
->cyg_start()</TT
->. See <A
-HREF="hal-exception-handling.html#HAL-STARTUP"
->the Section called <I
->HAL Startup</I
-> in Chapter 10</A
-> for details.</P
-></LI
-><LI
-><P
->Write the default exception VSR. This VSR is installed in the VSR
-table for all synchronous exception vectors. See <A
-HREF="hal-default-synchronous-exception-handling.html"
->the Section called <I
->Default Synchronous Exception Handling</I
-> in Chapter 10</A
-> for details of
-what this VSR does.</P
-></LI
-><LI
-><P
->Write the default interrupt VSR. This is installed in all VSR table
-entries that correspond to external interrupts. See <A
-HREF="hal-default-synchronous-exception-handling.html"
->the Section called <I
->Default Synchronous Exception Handling</I
-> in Chapter 10</A
-> for details of
-what this VSR does.</P
-></LI
-><LI
-><P
->Write
-<TT
-CLASS="FUNCTION"
->hal_interrupt_stack_call_pending_dsrs()</TT
->. If this
-function is defined in <TT
-CLASS="FILENAME"
->hal_arch.h</TT
-> then it should
-appear here. The purpose of this function is to call DSRs on the
-interrupt stack rather than the current thread's stack. This is not an
-essential feature, and may be left until later. However it interacts
-with the stack switching that goes on in the interrupt VSR, so it may
-make sense to write these pieces of code at the same time to ensure
-consistency.</P
-><P
->When this function is implemented it should do the following:</P
-><P
-></P
-><UL
-><LI
-><P
->Take a copy of the current SP and then switch to the interrupt stack.</P
-></LI
-><LI
-><P
->Save the old SP, together with the CPU status register (or whatever
-register contains the interrupt enable status) and any other
-registers that may be corrupted by a function call (such as any link
-register) to locations in the interrupt stack.</P
-></LI
-><LI
-><P
->Enable interrupts.</P
-></LI
-><LI
-><P
->Call <TT
-CLASS="FUNCTION"
->cyg_interrupt_call_pending_DSRs()</TT
->. This is a
-kernel functions that actually calls any pending DSRs.</P
-></LI
-><LI
-><P
->Retrieve saved registers from the interrupt stack and switch back to
-the current thread stack.</P
-></LI
-><LI
-><P
->Merge the interrupt enable state recorded in the save CPU status
-register with the current value of the status register to restore the
-previous enable state. If the status register does not contain any
-other persistent state then this can be a simple restore of the
-register. However if the register contains other state bits that might
-have been changed by a DSR, then care must be taken not to disturb
-these.</P
-></LI
-></UL
-></LI
-><LI
-><P
->Define any data items needed. Typically <TT
-CLASS="FILENAME"
->vectors.S</TT
->
-may contain definitions for the VSR table, the interrupt tables and the
-interrupt stack. Sometimes these are only default definitions that may
-be overridden by the variant or platform HALs.</P
-></LI
-></UL
-></LI
-><LI
-><P
->Write <TT
-CLASS="FILENAME"
->context.S</TT
->. This file contains the context
-switch code. See <A
-HREF="hal-architecture-characterization.html#HAL-CONTEXT-SWITCH"
->the Section called <I
->Thread Context Switching</I
-> in Chapter 9</A
-> for details of
-how these functions operate. This file may also contain the
-implementation of <TT
-CLASS="FUNCTION"
->hal_setjmp()</TT
-> and
-<TT
-CLASS="FUNCTION"
->hal_longjmp()</TT
->.</P
-></LI
-><LI
-><P
->Write <TT
-CLASS="FILENAME"
->hal_misc.c</TT
->. This file contains any C
-data and functions needed by the HAL. These might include:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="VARNAME"
->hal_interrupt_*[]</TT
->. In some HALs, if these arrays
-are not defined in <TT
-CLASS="FILENAME"
->vectors.S</TT
-> then they must be
-defined here.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->cyg_hal_exception_handler()</TT
->. This function is
-called from the exception VSR. It usually does extra decoding of the
-exception and invokes any special handlers for things like FPU traps,
-bus errors or memory exceptions. If there is nothing special to be
-done for an exception, then it either calls into the GDB stubs, by
-calling <TT
-CLASS="FUNCTION"
->__handle_exception()</TT
->, or
-invokes the kernel by calling
-<TT
-CLASS="FUNCTION"
->cyg_hal_deliver_exception()</TT
->.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->hal_arch_default_isr()</TT
->. The
-<TT
-CLASS="VARNAME"
->hal_interrupt_handlers[]</TT
-> array is usually
-initialized with pointers to <TT
-CLASS="FILENAME"
->hal_default_isr()</TT
->,
-which is defined in the common HAL. This function handles things like
-Ctrl-C processing, but if that is not relevant, then it will call
-<TT
-CLASS="FUNCTION"
->hal_arch_default_isr()</TT
->. Normally this function
-should just return zero.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->cyg_hal_invoke_constructors()</TT
->. This calls the
-constructors for all static objects before the program starts. eCos
-relies on these being called in the correct order for it to function
-correctly. The exact way in which constructors are handled may differ
-between architectures, although most use a simple table of function
-pointers between labels <TT
-CLASS="LITERAL"
->__CTOR_LIST__</TT
-> and
-<TT
-CLASS="LITERAL"
->__CTOR_END__</TT
-> which must called in order from the
-top down. Generally, this function can be copied directly from an
-existing architecture HAL.</P
-></LI
-><LI
-><P
->Bit indexing functions. If the macros
-<TT
-CLASS="LITERAL"
->HAL_LSBIT_INDEX()</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_MSBIT_INDEX()</TT
-> are defined as function calls,
-then the functions should appear here. The main reason for doing this
-is that the architecture does not have support for bit indexing and
-these functions must provide the functionality by conventional
-means. While the trivial implementation is a simple for loop, it is
-expensive and non-deterministic. Better, constant time,
-implementations can be found in several HALs (MIPS for example).</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->hal_delay_us()</TT
->. If the macro
-<TT
-CLASS="LITERAL"
->HAL_DELAY_US()</TT
-> is defined in <TT
-CLASS="FILENAME"
->hal_intr.h</TT
-> then it should be defined to
-call this function. While most of the time this function is called
-with very small values, occasionally (particularly in some ethernet
-drivers) it is called with values of several seconds. Hence the
-function should take care to avoid overflow in any calculations.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->hal_idle_thread_action()</TT
->. This function is called
-from the idle thread via the
-<TT
-CLASS="LITERAL"
->HAL_IDLE_THREAD_ACTION()</TT
-> macro, if so
-defined. While normally this function does nothing, during development
-this is often a good place to report various important system
-parameters on LCDs, LED or other displays. This function can also
-monitor system state and report any anomalies. If the architecture
-supports a <TT
-CLASS="LITERAL"
->halt</TT
-> instruction then this is a good
-place to put an inline assembly fragment to execute it. It is also a
-good place to handle any power saving activity.</P
-></LI
-></UL
-></LI
-><LI
-><P
->Create the <TT
-CLASS="FILENAME"
->&lt;architecture&gt;.ld</TT
-> file. While
-this file may need to be moved to the variant HAL in the future, it
-should initially be defined here, and only moved if necessary.</P
-><P
->This file defines a set of macros that are used by the platform
-<TT
-CLASS="LITERAL"
->.ldi</TT
-> files to generate linker scripts. Most GCC
-toolchains are very similar so the correct approach is to copy the
-file from an existing architecture and edit it. The main things that
-will need editing are the <TT
-CLASS="LITERAL"
->OUTPUT_FORMAT()</TT
-> directive
-and maybe the creation or allocation of extra sections to various
-macros. Running the target linker with just the
-<TT
-CLASS="LITERAL"
->--verbose</TT
-> argument will cause it to output its
-default linker script. This can be compared with the
-<TT
-CLASS="LITERAL"
->.ld</TT
-> file and appropriate edits made.</P
-></LI
-><LI
-><P
->If GDB stubs are to be supported in RedBoot or eCos, then support must
-be included for these. The most important of these are <TT
-CLASS="FILENAME"
->include/&lt;architecture&gt;-stub.h</TT
-> and
-<TT
-CLASS="FILENAME"
->src/&lt;architecture&gt;-stub.c</TT
->. In all existing
-architecture HALs these files, and any support files they need, have
-been derived from files supplied in <TT
-CLASS="LITERAL"
->libgloss</TT
->, as
-part of the GDB toolchain package. If this is a totally new
-architecture, this may not have been done, and they must be created
-from scratch.</P
-><P
-><TT
-CLASS="FILENAME"
->include/&lt;architecture&gt;-stub.h</TT
->
-contains definitions that are used by the GDB stubs to describe the
-size, type, number and names of CPU registers. This information is
-usually found in the GDB support files for the architecture. It also
-contains prototypes for the functions exported by
-<TT
-CLASS="FILENAME"
->src/&lt;architecture&gt;-stub.c</TT
->; however, since
-this is common to all architectures, it can be copied from some other
-HAL.</P
-><P
-><TT
-CLASS="FILENAME"
->src/&lt;architecture&gt;-stub.c</TT
-> implements the
-functions exported by the header. Most of this is fairly straight
-forward: the implementation in existing HALs should show exactly what
-needs to be done. The only complex part is the support for
-single-stepping. This is used a lot by GDB, so it cannot be
-avoided. If the architecture has support for a trace or single-step
-trap then that can be used for this purpose. If it does not then this
-must be simulated by planting a breakpoint in the next
-instruction. This can be quite involved since it requires some
-analysis of the current instruction plus the state of the CPU to
-determine where execution is going to go next.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-ARCHITECTURE-CDL">CDL Requirements</H2
-><P
->The CDL needed for any particular architecture HAL depends to a large
-extent on the needs of that architecture. This includes issues such as
-support for different variants, use of FPUs, MMUs and caches. The
-exact split between the architecture, variant and platform HALs for
-various features is also somewhat fluid. </P
-><P
->To give a rough idea about how the CDL for an architecture is
-structured, we will take as an example the I386 CDL.</P
-><P
->This first section introduces the CDL package and placed it under the
-main HAL package. Include files from this package will be put in the
-<TT
-CLASS="FILENAME"
->include/cyg/hal</TT
-> directory, and definitions from
-this file will be placed in
-<TT
-CLASS="FILENAME"
->include/pkgconf/hal_i386.h</TT
->. The
-<TT
-CLASS="LITERAL"
->compile</TT
-> line specifies the files in the
-<TT
-CLASS="FILENAME"
->src</TT
-> directory that are to be compiled as part of
-this package.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_I386 {
-    display       "i386 architecture"
-    parent        CYGPKG_HAL
-    hardware
-    include_dir   cyg/hal
-    define_header hal_i386.h
-    description   "
-        The i386 architecture HAL package provides generic
-        support for this processor architecture. It is also
-        necessary to select a specific target platform HAL
-        package."
-
-    compile       hal_misc.c context.S i386_stub.c hal_syscall.c</PRE
-></TD
-></TR
-></TABLE
-><P
->Next we need to generate some files using non-standard make rules. The
-first is <TT
-CLASS="FILENAME"
->vectors.S</TT
->, which is not put into the
-library, but linked explicitly with all applications. The second is
-the generation of the <TT
-CLASS="FILENAME"
->target.ld</TT
-> file from
-<TT
-CLASS="FILENAME"
->i386.ld</TT
-> and the startup-selected
-<TT
-CLASS="FILENAME"
->.ldi</TT
-> file. Both of these are essentially
-boilerplate code that can be copied and edited.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;    make {
-        &lt;PREFIX&gt;/lib/vectors.o : &lt;PACKAGE&gt;/src/vectors.S
-        $(CC) -Wp,-MD,vectors.tmp $(INCLUDE_PATH) $(CFLAGS) -c -o $@ $&lt;
-        @echo $@ ": \\" &gt; $(notdir $@).deps
-        @tail +2 vectors.tmp &gt;&gt; $(notdir $@).deps
-        @echo &gt;&gt; $(notdir $@).deps
-        @rm vectors.tmp
-    }
-
-    make {
-        &lt;PREFIX&gt;/lib/target.ld: &lt;PACKAGE&gt;/src/i386.ld
-        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $&lt;
-        @echo $@ ": \\" &gt; $(notdir $@).deps
-        @tail +2 target.tmp &gt;&gt; $(notdir $@).deps
-        @echo &gt;&gt; $(notdir $@).deps
-        @rm target.tmp
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->The i386 is currently the only architecture that supports SMP. The
-following CDL simply enabled the HAL SMP support if
-required. Generally this will get enabled as a result of a
-<TT
-CLASS="LITERAL"
->requires</TT
-> statement in the kernel. The
-<TT
-CLASS="LITERAL"
->requires</TT
-> statement here turns off lazy FPU
-switching in the FPU support code, since it is inconsistent with SMP
-operation.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;    cdl_component CYGPKG_HAL_SMP_SUPPORT {
-       display       "SMP support"
-       default_value 0
-       requires { CYGHWR_HAL_I386_FPU_SWITCH_LAZY == 0 }
-       
-       cdl_option CYGPKG_HAL_SMP_CPU_MAX {
-           display       "Max number of CPUs supported"
-           flavor        data
-           default_value 2
-       }
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->The i386 HAL has optional FPU support, which is enabled by default. It
-can be disabled to improve system performance. There are two FPU
-support options: either to save and restore the FPU state on every
-context switch, or to only switch the FPU state when necessary.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->        
-    cdl_component CYGHWR_HAL_I386_FPU {
-       display       "Enable I386 FPU support"
-       default_value 1
-       description   "This component enables support for the
-                     I386 floating point unit."
-
-       cdl_option CYGHWR_HAL_I386_FPU_SWITCH_LAZY {
-           display       "Use lazy FPU state switching"
-           flavor        bool
-           default_value 1
-
-           description "
-                       This option enables lazy FPU state switching.
-                        The default behaviour for eCos is to save and
-                        restore FPU state on every thread switch, interrupt
-                       and exception. While simple and deterministic, this
-                       approach can be expensive if the FPU is not used by
-                       all threads. The alternative, enabled by this option,
-                       is to use hardware features that allow the FPU state
-                       of a thread to be left in the FPU after it has been
-                       descheduled, and to allow the state to be switched to
-                       a new thread only if it actually uses the FPU. Where
-                       only one or two threads use the FPU this can avoid a
-                       lot of unnecessary state switching."
-       }
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->The i386 HAL also has support for different classes of CPU. In
-particular, Pentium class CPUs have extra functional units, and some
-variants of GDB expect more registers to be reported. These options
-enable these features. Generally these are enabled by
-<TT
-CLASS="LITERAL"
->requires</TT
-> statements in variant or platform
-packages, or in <TT
-CLASS="LITERAL"
->.ecm</TT
-> files.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;    cdl_component CYGHWR_HAL_I386_PENTIUM {
-       display       "Enable Pentium class CPU features"
-       default_value 0
-       description   "This component enables support for various
-                     features of Pentium class CPUs."
-
-       cdl_option CYGHWR_HAL_I386_PENTIUM_SSE {
-           display       "Save/Restore SSE registers on context switch"
-           flavor        bool
-           default_value 0
-
-           description "
-                       This option enables SSE state switching. The default
-                        behaviour for eCos is to ignore the SSE registers.
-                        Enabling this option adds SSE state information to
-                        every thread context."
-       }
-
-       cdl_option CYGHWR_HAL_I386_PENTIUM_GDB_REGS {
-           display       "Support extra Pentium registers in GDB stub"
-           flavor        bool
-           default_value 0
-
-           description "
-                       This option enables support for extra Pentium registers
-                       in the GDB stub. These are registers such as CR0-CR4, and
-                        all MSRs. Not all GDBs support these registers, so the
-                        default behaviour for eCos is to not include them in the
-                       GDB stub support code."
-       }
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->In the i386 HALs, the linker script is provided by the architecture
-HAL. In other HALs, for example MIPS, it is provided in the variant
-HAL. The following option provides the name of the linker script to
-other elements in the configuration system.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    cdl_option CYGBLD_LINKER_SCRIPT {
-        display "Linker script"
-        flavor data
-       no_define
-        calculated  { "src/i386.ld" }
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->Finally, this interface indicates whether the platform supplied an
-implementation of the
-<TT
-CLASS="FUNCTION"
->hal_i386_mem_real_region_top()</TT
-> function. If it
-does then it will contain a line of the form: <TT
-CLASS="LITERAL"
->implements
-CYGINT_HAL_I386_MEM_REAL_REGION_TOP</TT
->. This allows packages
-such as RedBoot to detect the presence of this function so that they
-may call it.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;    cdl_interface CYGINT_HAL_I386_MEM_REAL_REGION_TOP {
-        display  "Implementations of hal_i386_mem_real_region_top()"
-    }
-    
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-porting-variant.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-future-developments.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Variant HAL Porting</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Future developments</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-porting-coding-conventions.html b/doc/html/ref/hal-porting-coding-conventions.html
deleted file mode 100644 (file)
index 953df93..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->HAL Coding Conventions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Virtual Vectors (eCos/ROM Monitor Calling Interface)"
-HREF="hal-calling-if.html"><LINK
-REL="NEXT"
-TITLE="Platform HAL Porting"
-HREF="hal-porting-platform.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-calling-if.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Porting Guide</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-porting-platform.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-CODING-CONVENTIONS">HAL Coding Conventions</H1
-><P
->To get changes and larger submissions included into the eCos source
-repository, we ask that you adhere to a set of coding conventions.
-The conventions are defined as an attempt to make a consistent
-tree. Consistency makes it easier for people to read, understand and
-maintain the code, which is important when many people work on the
-same project.</P
-><P
->The below is only a brief, and probably incomplete, summary of the
-rules. Please look through files in the area where you are making
-changes to get a feel for any additional conventions. Also feel free
-to ask on the list if you have specific questions.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9361">Implementation issues</H2
-><P
->There are a few implementation issues that should be kept in mind:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->HALs</DT
-><DD
-><P
->HALs must be written in C and assembly only. C++ must not
-       be used. This is in part to keep the HALs simple since this is
-       usually the first part of eCos a newcomer will see, and in
-       part to maintain the existing de facto standard.</P
-></DD
-><DT
->IO access</DT
-><DD
-><P
->Use HAL IO access macros for code that might be reused on
-       different platforms than the one you are writing it for.</P
-></DD
-><DT
->MMU</DT
-><DD
-><P
->If it is necessary to use the MMU (e.g., to prevent
-       caching of IO areas), use a simple 1-1 mapping of memory if
-       possible. On most platforms where using the MMU is necessary,
-       it will be possible to achieve the 1-1 mapping using the MMU's
-       provision for mapping large continuous areas (hardwired TLBs or
-       BATs). This reduces the footprint (no MMU table) and avoids
-       execution overhead (no MMU-related exceptions).</P
-></DD
-><DT
->Assertions</DT
-><DD
-><P
->The code should contain assertions to validate argument
-       values, state information and any assumptions the code may be
-       making. Assertions are not enabled in production builds, so
-       liberally sprinkling assertions throughout the code is
-       good.</P
-></DD
-><DT
->Testing</DT
-><DD
-><P
->The ability to test your code is very important. In
-       general, do not add new code to the eCos runtime unless you
-       also add a new test to exercise that code. The test also
-       serves as an example of how to use the new code.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9385">Source code details</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Line length</DT
-><DD
-><P
->Keep line length below 78 columns whenever possible.</P
-></DD
-><DT
->Comments</DT
-><DD
-><P
->Whenever possible, use // comments instead of /**/.</P
-></DD
-><DT
->Indentation</DT
-><DD
-><P
->Use spaces instead of TABs. Indentation level is 4. Braces
-       start on the same line as the expression. See below for emacs
-       mode details.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->;;=================================================================
-;; eCos C/C++ mode Setup.
-;;
-;; bsd mode: indent = 4
-;; tail comments are at col 40.
-;; uses spaces not tabs in C
-
-(defun ecos-c-mode ()
-  "C mode with adjusted defaults for use with the eCos sources."
-  (interactive)
-  (c++-mode)
-  (c-set-style "bsd")
-  (setq comment-column 40)
-  (setq indent-tabs-mode nil)
-  (show-paren-mode 1)
-  (setq c-basic-offset 4)
-
-  (set-variable 'add-log-full-name "Your Name")
-  (set-variable 'add-log-mailing-address "Your email address"))
-
-(defun ecos-asm-mode ()
-  "ASM mode with adjusted defaults for use with the eCos sources."
-  (interactive)
-  (setq comment-column 40)
-  (setq indent-tabs-mode nil)
-  (asm-mode)
-  (setq c-basic-offset 4)
-
-  (set-variable 'add-log-full-name "Your Name")
-  (set-variable 'add-log-mailing-address "Your email address"))
-
-(setq auto-mode-alist
-      (append '(("/local/ecc/.*\\.C$"   . ecos-c-mode)
-                ("/local/ecc/.*\\.cc$"  . ecos-c-mode)
-                ("/local/ecc/.*\\.cpp$" . ecos-c-mode)
-                ("/local/ecc/.*\\.inl$" . ecos-c-mode)
-                ("/local/ecc/.*\\.c$"   . ecos-c-mode)
-                ("/local/ecc/.*\\.h$"   . ecos-c-mode)
-               ("/local/ecc/.*\\.S$"   . ecos-asm-mode) 
-               ("/local/ecc/.*\\.inc$" . ecos-asm-mode)
-               ("/local/ecc/.*\\.cdl$" . tcl-mode)
-                ) auto-mode-alist))</PRE
-></TD
-></TR
-></TABLE
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9401">Nested Headers</H2
-><P
->In order to allow platforms to define all necessary details, while
-still maintaining the ability to share code between common platforms,
-all HAL headers are included in a nested fashion.</P
-><P
->The architecture header (usually <TT
-CLASS="FILENAME"
->hal_XXX.h</TT
->) includes the
-variant equivalent of the header (<TT
-CLASS="FILENAME"
->var_XXX.h</TT
->) which in turn
-includes the platform equivalent of the header
-(<TT
-CLASS="FILENAME"
->plf_XXX.h</TT
->).</P
-><P
->All definitions that may need to be overridden by a platform are
-then only conditionally defined, depending on whether a lower layer
-has already made the definition:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->hal_intr.h:     #include &lt;var_intr.h&gt;
-
-                #ifndef MACRO_DEFINED
-                # define MACRO ...
-                # define MACRO_DEFINED
-                #endif
-
-
-
-var_intr.h:     #include &lt;plf_intr.h&gt;
-
-                #ifndef MACRO_DEFINED
-                # define MACRO ...
-                # define MACRO_DEFINED
-                #endif
-
-
-plf_intr.h:
-
-                # define MACRO ...
-                # define MACRO_DEFINED</PRE
-></TD
-></TR
-></TABLE
-><P
->This means a platform can opt to rely on the variant or
-architecture implementation of a feature, or implement it itself.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-calling-if.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-porting-platform.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Virtual Vectors (eCos/ROM Monitor Calling Interface)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Platform HAL Porting</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-porting-guide.html b/doc/html/ref/hal-porting-guide.html
deleted file mode 100644 (file)
index 1802e56..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->      Porting Guide</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"><LINK
-REL="PREVIOUS"
-TITLE="Default Interrupt Handling"
-HREF="hal-default-interrupt-handling.html"><LINK
-REL="NEXT"
-TITLE="HAL Structure"
-HREF="hal-porting-structure.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-default-interrupt-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-porting-structure.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="HAL-PORTING-GUIDE">Chapter 11.   Porting Guide</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="hal-porting-guide.html#HAL-PORTING-INTRO"
->Introduction</A
-></DT
-><DT
-><A
-HREF="hal-porting-structure.html"
->HAL Structure</A
-></DT
-><DT
-><A
-HREF="hal-calling-if.html"
->Virtual Vectors (eCos/ROM Monitor Calling Interface)</A
-></DT
-><DT
-><A
-HREF="hal-porting-coding-conventions.html"
->HAL Coding Conventions</A
-></DT
-><DT
-><A
-HREF="hal-porting-platform.html"
->Platform HAL Porting</A
-></DT
-><DT
-><A
-HREF="hal-porting-variant.html"
->Variant HAL Porting</A
-></DT
-><DT
-><A
-HREF="hal-porting-architecture.html"
->Architecture HAL Porting</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-INTRO">Introduction</H1
-><P
->eCos has been designed to be fairly easy to port to new targets. A
-target is a specific platform (board) using a given architecture (CPU
-type). The porting is facilitated by the hierarchical layering of the
-eCos sources - all architecture and platform specific code is
-implemented in a HAL (hardware abstraction layer).</P
-><P
->By porting the eCos HAL to a new target the core functionality of eCos
-(infra, kernel, uITRON, etc) will be able to run on the target. It may
-be necessary to add further platform specific code such as serial
-drivers, display drivers, ethernet drivers, etc. to get a fully
-capable system.</P
-><P
->This document is intended as a help to the HAL porting process. Due to
-the nature of a porting job, it is impossible to give a complete
-description of what has to be done for each and every potential
-target. This should not be considered a clear-cut recipe - you will
-probably need to make some implementation decisions, tweak a few
-things, and just plain have to rely on common sense.</P
-><P
->However, what is covered here should be a large part of the
-process. If you get stuck, you are advised to read the
-<A
-HREF="http://sourceware.cygnus.com/ml/ecos-discuss/"
-TARGET="_top"
->ecos-discuss archive</A
->
-where you may find discussions which apply to the problem at
-hand. You are also invited to ask questions on the
-<A
-HREF="http://sourceware.cygnus.com/ecos/intouch.html"
-TARGET="_top"
->ecos-discuss mailing list</A
->
-to help you resolve problems - but as is always the case
-with community lists, do not consider it an oracle for any and all
-questions. Use common sense - if you ask too many questions which
-could have been answered by reading the
-<A
-HREF="http://sourceware.cygnus.com/ecos/docs-latest/"
-TARGET="_top"
->documentation</A
->,
-<A
-HREF="http://sourceware.cygnus.com/fom/ecos"
-TARGET="_top"
->FAQ</A
-> or
-<A
-HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/?cvsroot=ecos"
-TARGET="_top"
->source code</A
->, you are likely to be ignored.</P
-><P
->This document will be continually improved by Red Hat engineers as
-time allows. Feedback and help with improving the document is sought,
-so if you have any comments at all, please do not hesitate to post
-them on
-<A
-HREF="mailto:ecos-discuss@sourceware.cygnus.com?subject=[porting]<subject>"
-TARGET="_top"
->ecos-discuss</A
->
-(please prefix the subject with [porting]).</P
-><P
->At the moment this document is mostly an outline. There are many
-details to fill in before it becomes complete. Many places you'll just
-find a list of keywords / concepts that should be described (please
-post on ecos-discuss if there are areas you think are not covered).</P
-><P
->All pages or sections where the caption ends in [TBD] contain little
-more than key words and/or random thoughts - there has been no work
-done as such on the content. The word FIXME may appear in the text to
-highlight places where information is missing.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-default-interrupt-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-porting-structure.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Default Interrupt Handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->HAL Structure</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-porting-platform.html b/doc/html/ref/hal-porting-platform.html
deleted file mode 100644 (file)
index d1fe81a..0000000
+++ /dev/null
@@ -1,1675 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Platform HAL Porting</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="HAL Coding Conventions"
-HREF="hal-porting-coding-conventions.html"><LINK
-REL="NEXT"
-TITLE="Variant HAL Porting"
-HREF="hal-porting-variant.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-porting-coding-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Porting Guide</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-porting-variant.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-PLATFORM">Platform HAL Porting</H1
-><P
->This is the type of port that takes the least effort. It basically
-consists of describing the platform (board) for the HAL: memory
-layout, early platform initialization, interrupt controllers, and a
-simple serial device driver.</P
-><P
->Doing a platform port requires a preexisting architecture and
-possibly a variant HAL port.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9415">HAL Platform Porting Process</H2
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9417">Brief overview</H3
-><P
->The easiest way to make a new platform HAL is simply to copy an
-existing platform HAL of the same architecture/variant and change all
-the files to match the new one. In case this is the first platform for
-the architecture/variant, a platform HAL from another architecture
-should be used as a template.</P
-><P
->The best way to start a platform port is to concentrate on getting
-RedBoot to run. RedBoot is a simpler environment than full eCos, it
-does not use interrupts or threads, but covers most of the
-basic startup requirements.</P
-><P
->RedBoot normally runs out of FLASH or ROM and provides program loading
-and debugging facilities.  This allows further HAL development to
-happen using RAM startup configurations, which is desirable for the
-simple reason that downloading an image which you need to test is
-often many times faster than either updating a flash part, or indeed,
-erasing and reprogramming an EPROM.</P
-><P
->There are two approaches to getting to this first goal:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The board is equipped with a ROM monitor which allows "load and go" of
-ELF, binary, S-record or some other image type which can be created
-using <SPAN
-CLASS="APPLICATION"
->objcopy</SPAN
->. This allows you to develop
-RedBoot by downloading and running the code (saving time).</P
-><P
->When the stub is running it is a good idea to examine the various
-hardware registers to help you write the platform initialization code.</P
-><P
->Then you may have to fiddle a bit going through step two (getting it
-to run from ROM startup). If at all possible, preserve the original
-ROM monitor so you can revert to it if necessary.</P
-></LI
-><LI
-><P
->The board has no ROM monitor. You need to get the platform
-initialization and stub working by repeatedly making changes, updating
-flash or EPROM and testing the changes. If you are lucky, you have a
-JTAG or similar CPU debugger to help you. If not, you will probably
-learn to appreciate LEDs. This approach may also be needed during the
-initial phase of moving RedBoot from RAM startup to ROM, since it is
-very unlikely to work first time.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9431">Step-by-step</H3
-><P
->Given that no two platforms are exactly the same, you may have to
-deviate from the below. Also, you should expect a fair amount of
-fiddling - things almost never go right the first time. See the hints
-section below for some suggestions that might help debugging.</P
-><P
->The description below is based on the HAL layout used in the MIPS,
-PC and MN10300 HALs. Eventually all HALs should be converted to look like
-these - but in a transition period there will be other HALs which look
-substantially different. Please try to adhere to the following as much is
-possible without causing yourself too much grief integrating with a
-HAL which does not follow this layout.</P
-><DIV
-CLASS="SECTION"
-><H4
-CLASS="SECTION"
-><A
-NAME="AEN9435">Minimal requirements</H4
-><P
->These are the changes you must make before you attempt to build
-RedBoot. You are advised to read all the sources though.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Copy an existing platform HAL from the same or another
-    architecture. Rename the files as necessary to follow the
-    standard: CDL and MLT related files should contain the
-    &lt;arch&gt;_&lt;variant&gt;_&lt;platform&gt; triplet.</P
-></LI
-><LI
-><P
->Adjust CDL options. Primarily option naming, real-time
-    clock/counter, and CYGHWR_MEMORY_LAYOUT variables, but also other
-    options may need editing. Look through the architecture/variant
-    CDL files to see if there are any requirements/features which
-    where not used on the platform you copied. If so, add appropriate
-    ones. See <A
-HREF="hal-porting-platform.html#HAL-PORTING-CDL-REQUIREMENTS"
->the Section called <I
->HAL Platform CDL</I
-></A
-> for more
-    details.</P
-></LI
-><LI
-><P
->Add the necessary packages and target descriptions to the
-    top-level <TT
-CLASS="FILENAME"
->ecos.db</TT
-> file. See <A
-HREF="hal-porting-platform.html#HAL-PORTING-ECOS-DATABASE"
->the Section called <I
->eCos Database</I
-></A
->. Initially, the target entry
-    should only contain the HAL packages. Other hardware support
-    packages will be added later.</P
-></LI
-><LI
-><P
->Adjust the MLT files in
-    <TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> to match the memory layout on
-    the platform. For initial testing it should be enough to just hand
-    edit .h and .ldi files, but eventually you should generate all
-    files using the memory layout editor in the configuration
-    tool. See <A
-HREF="hal-porting-platform.html#HAL-PORTING-PLATFORM-MEMORY-LAYOUT"
->the Section called <I
->Platform Memory Layout</I
-></A
-> for
-    more details.</P
-></LI
-><LI
-><P
->    Edit the <TT
-CLASS="FILENAME"
->misc/redboot_&lt;STARTUP&gt;.ecm</TT
-> for
-    the startup type you have chosen to begin with. Rename any
-    platform specific options and remove any that do not apply. In the
-    <TT
-CLASS="LITERAL"
->cdl_configuration</TT
-> section, comment out any
-    extra packages that are added, particularly packages such as
-    <TT
-CLASS="LITERAL"
->CYGPKG_IO_FLASH</TT
-> and
-    <TT
-CLASS="LITERAL"
->CYGPKG_IO_ETH_DRIVERS</TT
->. These are not needed for
-    initial porting and will be added back later.
-    </P
-></LI
-><LI
-><P
->If the default IO macros are not correct, override them in
-    plf_io.h. This may be necessary if the platform uses a different
-    endianness from the default for the CPU.</P
-></LI
-><LI
-><P
->Leave out/comment out code that enables caches and/or MMU if
-    possible. Execution speed will not be a concern until the port is
-    feature complete.</P
-></LI
-><LI
-><P
->Implement a simple serial driver (polled mode only). Make sure the
-    initialization function properly hooks the procedures up in the
-    virtual vector IO channel tables. RedBoot will call the serial
-    driver via these tables.</P
-><P
->    By copying an existing platform HAL most of this code will be
-    already done, and will only need the platform specific hardware
-    access code to be written.
-    </P
-></LI
-><LI
-><P
->Adjust/implement necessary platform
-    initialization. This can be found in
-    <TT
-CLASS="FILENAME"
->platform.inc</TT
-> and
-    <TT
-CLASS="FILENAME"
->platform.S</TT
-> files (ARM:
-    <TT
-CLASS="FILENAME"
->hal_platform_setup.h</TT
-> and
-    <TT
-CLASS="FILENAME"
->&lt;platform&gt;_misc.c</TT
->, PowerPC:
-    <TT
-CLASS="FILENAME"
->&lt;platform&gt;.S</TT
->). This step can be
-    postponed if you are doing a RAM startup RedBoot first and the
-    existing ROM monitor handles board initialization.</P
-></LI
-><LI
-><P
->Define <TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET</TT
->
-    (optionally empty) and
-    <TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET_ENTRY</TT
-> so that RedBoot
-    can reset-on-detach - this is very handy, often removing the need
-    for physically resetting the board between downloads.</P
-></LI
-></OL
-><P
->You should now be able to build RedBoot. For ROM startup:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->% ecosconfig new &lt;target_name&gt; redboot
-% ecosconfig import $(ECOS_REPOSITORY)/hal/&lt;architecture&gt;/&lt;platform&gt;/&lt;version&gt;/misc/redboot_ROM.ecm
-% ecosconfig tree
-% make</PRE
-></TD
-></TR
-></TABLE
-><P
->You may have to make further changes than suggested above to get
-the make command to succeed. But when it does, you should find a
-RedBoot image in install/bin. To program this image into flash or
-EPROM, you may need to convert to some other file type, and possibly
-adjust the start address. When you have the correct
-<SPAN
-CLASS="APPLICATION"
->objcopy</SPAN
-> command to do this, add it to the
-<TT
-CLASS="LITERAL"
->CYGBLD_BUILD_GDB_STUBS</TT
-> custom build rule in the
-platform CDL file.</P
-><P
->Having updated the flash/EPROM on the board, you should see output
-on the serial port looking like this when powering on the board:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->RedBoot(tm) bootstrap and debug environment [ROMRAM]
-Non-certified release, version UNKNOWN - built 15:42:24, Mar 14 2002
-
-Platform: &lt;PLATFORM&gt; (&lt;ARCHITECTURE&gt; &lt;VARIANT&gt;)
-Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
-
-RAM: 0x00000000-0x01000000, 0x000293e8-0x00ed1000 available
-FLASH: 0x24000000 - 0x26000000, 256 blocks of 0x00020000 bytes each.
-RedBoot&#62; </PRE
-></TD
-></TR
-></TABLE
-><P
->If you do not see this output, you need to go through all your
-changes and figure out what's wrong. If there's a user programmable
-LED or LCD on the board it may help you figure out how far RedBoot
-gets before it hangs. Unfortunately there's no good way to describe
-what to do in this situation - other than that you have to play with
-the code and the board.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H4
-CLASS="SECTION"
-><A
-NAME="AEN9484">Adding features</H4
-><P
->Now you should have a basic RedBoot running on the board. This
-means you have a the correct board initialization and a working serial
-driver. It's time to flesh out the remaining HAL features.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Reset. As mentioned above it is desirable to get the board to
-reset when GDB disconnects. When GDB disconnects it sends RedBoot
-a kill-packet, and RedBoot first calls <TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET()</TT
->,
-attempting to perform a software-invoked reset. Most embedded
-CPUs/boards have a watchdog which is capable of triggering a reset.
-If your target does not have a watchdog, leave
-<TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET()</TT
-> empty and rely on the fallback approach.</P
-><P
->If <TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET()</TT
-> did not cause a reset, RedBoot will
-jump to <TT
-CLASS="LITERAL"
->HAL_STUB_PLATFORM_RESET_ENTRY</TT
-> - this should be the address
-where the CPU will start execution after a reset. Re-initializing the
-board and drivers will <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->usually</I
-></SPAN
-> be good enough to make a
-hardware reset unnecessary.</P
-><P
->After the reset caused by the kill-packet, the target will be ready
-for GDB to connect again. During a days work, this will save you from
-pressing the reset button many times.</P
-><P
->Note that it is possible to disconnect from the board without
-causing it to reset by using the GDB command &quot;detach&quot;.</P
-></LI
-><LI
-><P
->Single-stepping is necessary for both instruction-level debugging
-and for breakpoint support. Single-stepping support should already be
-in place as part of the architecture/variant HAL, but you want to give
-it a quick test since you will come to rely on it.</P
-></LI
-><LI
-><P
->Real-time clock interrupts drive the eCos scheduler clock. Many
-embedded CPUs have an on-core timer (e.g. SH) or decrementer
-(e.g. MIPS, PPC) that can be used, and in this case it will already be
-supported by the architecture/variant HAL. You only have to calculate
-and enter the proper <TT
-CLASS="LITERAL"
->CYGNUM_HAL_RTC_CONSTANTS</TT
->
-definitions in the platform CDL file.</P
-><P
->On some targets it may be necessary to use a platform-specific
-timer source for driving the real-time clock. In this case you also
-have to enter the proper CDL definitions, but must also define
-suitable versions of the <TT
-CLASS="LITERAL"
->HAL_CLOCK_XXXX</TT
-> macros.</P
-></LI
-><LI
-><P
->Interrupt decoding usually differs between platforms because the
-number and type of devices on the board differ. In
-<TT
-CLASS="FILENAME"
->plf_intr.h</TT
-> (ARM:
-<TT
-CLASS="FILENAME"
->hal_platform_ints.h</TT
->) you must either extend or
-replace the default vector definitions provided by the architecture
-or variant interrupt headers. You may also have to define
-<TT
-CLASS="LITERAL"
->HAL_INTERRUPT_XXXX</TT
-> control macros.</P
-></LI
-><LI
-><P
->Caching may also differ from architecture/variant definitions.
-This maybe just the cache sizes, but there can also be bigger
-differences for example if the platform supports 2nd level caches.</P
-><P
->When cache definitions are in place, enable the caches on
-startup. First verify that the system is stable for RAM startups, then
-build a new RedBoot and install it. This will test if caching, and in
-particular the cache sync/flush operations, also work for ROM startup.</P
-></LI
-><LI
-><P
->Asynchronous breakpoints allow you to stop application execution
-and enter the debugger. Asynchronous breakpoint details are described
-in .</P
-></LI
-></OL
-><P
->You should now have a completed platform HAL port. Verify its
-stability and completeness by running all the eCos tests and fix any
-problems that show up (you have a working RedBoot now, remember! That
-means you can debug the code to see why it fails).</P
-><P
->Given the many configuration options in eCos, there may be hidden
-bugs or missing features that do not show up even if you run all the
-tests successfully with a default configuration. A comprehensive test
-of the entire system will take many configuration permutations and
-many many thousands of tests executed.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9517">Hints</H3
-><P
-></P
-><UL
-><LI
-><P
->JTAG or similar CPU debugging hardware can greatly reduce the time
-    it takes to write a HAL port since you always have full visibility
-    of what the CPU is doing.
-    </P
-></LI
-><LI
-><P
->LEDs can be your friends if you don't have a JTAG
-    device. Especially in the start of the porting effort if you don't
-    already have a working ROM monitor on the target. Then you have to
-    get a basic RedBoot working while basically being blindfolded. The
-    LED can make it little easier, as you'll be able to do limited
-    tracking of program flow and behavior by switching the LED on and
-    off. If the board has multiple LEDs you can show a number (using
-    binary notation with the LEDs) and sprinkle code which sets
-    different numbers throughout the code.</P
-></LI
-><LI
-><P
->Debugging the interrupt processing is possible if you are
-    careful with the way you program the very early interrupt entry
-    handling. Write it so that as soon as possible in the interrupt
-    path, taking a trap (exception) does not harm execution. See the
-    SH vectors.S code for an example. Look for
-    <TT
-CLASS="LITERAL"
->cyg_hal_default_interrupt_vsr</TT
-> and the label
-    <TT
-CLASS="LITERAL"
->cyg_hal_default_interrupt_vsr_bp_safe</TT
->, which
-    marks the point after which traps/single-stepping is safe.
-    </P
-><P
->Being able to display memory content, CPU registers,
-    interrupt controller details at the time of an interrupt can save
-    a lot of time.</P
-></LI
-><LI
-><P
->Using assertions is a good idea. They can sometimes reveal subtle
-    bugs or missing features long before you would otherwise have
-    found them, let alone notice them.
-    </P
-><P
->The default eCos configuration does not use assertions, so you
-    have to enable them by switching on the option <TT
-CLASS="LITERAL"
->CYGPKG_INFRA_DEBUG</TT
->
-    in the infra package.</P
-></LI
-><LI
-><P
->The idle loop can be used to help debug the system.
-    </P
-><P
->Triggering clock from the idle loop is a neat trick for
-    examining system behavior either before interrupts are fully
-    working, or to speed up &quot;the clock&quot;.
-    </P
-><P
->Use the idle loop to monitor and/or print out variables or
-    hardware registers.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="APPLICATION"
->hal_mk_defs</SPAN
-> is used in some of the
-HALs (ARM, SH) as a way to generate assembler symbol definitions from
-C header files without imposing an assembler/C syntax separation in
-the C header files.</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-CDL-REQUIREMENTS">HAL Platform CDL</H2
-><P
->The platform CDL both contains details necessary for the building
-of eCos, and platform-specific configuration options. For this reason
-the options differ between platforms, and the below is just a brief
-description of the most common options.</P
-><P
-> See  Components Writers Guide
-for more details on CDL. Also have a quick look around in
-existing platform CDL files to get an idea of what is possible and how
-various configuration issues can be represented with CDL.</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-ECOS-DATABASE">eCos Database</H3
-><P
->The eCos configuration system is made aware of a package by
-adding a package description in <TT
-CLASS="FILENAME"
->ecos.db</TT
->. As an
-example we use the <TT
-CLASS="LITERAL"
->TX39/JMR3904</TT
-> platform:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->package CYGPKG_HAL_MIPS_TX39_JMR3904 {
-       alias           { "Toshiba JMR-TX3904 board" hal_tx39_jmr3904 tx39_jmr3904_hal }
-       directory       hal/mips/jmr3904
-       script          hal_mips_tx39_jmr3904.cdl
-       hardware
-       description "
-           The JMR3904 HAL package should be used when targeting the
-           actual hardware. The same package can also be used when
-           running on the full simulator, since this provides an
-           accurate simulation of the hardware including I/O devices.
-           To use the simulator in this mode the command
-           `target sim --board=jmr3904' should be used from inside gdb."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This contains the title and description presented in the
-Configuration Tool when the package is selected. It also specifies
-where in the tree the package files can be found (<TT
-CLASS="LITERAL"
->directory</TT
->)
-and the name of the CDL file which contains the package details
-(<TT
-CLASS="LITERAL"
->script</TT
->).</P
-><P
->To be able to build and test a configuration for the new target, there
-also needs to be a <TT
-CLASS="LITERAL"
->target</TT
-> entry in the
-<TT
-CLASS="FILENAME"
->ecos.db</TT
-> file. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->target jmr3904 {
-        alias          { "Toshiba JMR-TX3904 board" jmr tx39 }
-       packages        { CYGPKG_HAL_MIPS
-                          CYGPKG_HAL_MIPS_TX39
-                          CYGPKG_HAL_MIPS_TX39_JMR3904
-        }
-        description "
-           The jmr3904 target provides the packages needed to run
-           eCos on a Toshiba JMR-TX3904 board. This target can also
-           be used when running in the full simulator, since the simulator provides an
-           accurate simulation of the hardware including I/O devices.
-           To use the simulator in this mode the command
-           `target sim --board=jmr3904' should be used from inside gdb."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The important part here is the <TT
-CLASS="LITERAL"
->packages</TT
-> section
-which defines the various hardware specific packages that contribute
-to support for this target. In this case the MIPS architecture
-package, the TX39 variant package, and the JMR-TX3904 platform
-packages are selected. Other packages, for serial drivers, ethernet
-drivers and FLASH memory drivers may also appear here.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9559">CDL File Layout</H3
-><P
->All the platform options are contained in a CDL package named
-<TT
-CLASS="LITERAL"
->CYGPKG_HAL_&lt;architecture&gt;_&lt;variant&gt;_&lt;platform&gt;</TT
->.
-They all share more or less the same <TT
-CLASS="LITERAL"
->cdl_package</TT
->
-details:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_MIPS_TX39_JMR3904 {
-    display       "JMR3904 evaluation board"
-    parent        CYGPKG_HAL_MIPS
-    requires      CYGPKG_HAL_MIPS_TX39
-    define_header hal_mips_tx39_jmr3904.h
-    include_dir   cyg/hal
-    description   "
-           The JMR3904 HAL package should be used when targeting the
-           actual hardware. The same package can also be used when
-           running on the full simulator, since this provides an
-           accurate simulation of the hardware including I/O devices.
-           To use the simulator in this mode the command
-           `target sim --board=jmr3904' should be used from inside gdb."
-
-    compile       platform.S plf_misc.c plf_stub.c
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   &lt;pkgconf/hal_mips_tx39.h&gt;"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H &lt;pkgconf/hal_mips_tx39_jmr3904.h&gt;"
-    }
-
-    ...
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This specifies that the platform package should be parented under
-the MIPS packages, requires the TX39 variant HAL and all configuration
-settings should be saved in
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_mips_tx39_jmt3904.h</TT
->.</P
-><P
->The <TT
-CLASS="LITERAL"
->compile</TT
-> line specifies which files should be built
-when this package is enabled, and the <TT
-CLASS="LITERAL"
->define_proc</TT
-> defines
-some macros that are used to access the variant or architecture (the
-<TT
-CLASS="LITERAL"
->_TARGET_</TT
-> name is a bit of a misnomer) and platform
-configuration options. </P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9571">Startup Type</H3
-><P
->eCos uses an option to select between a set of valid startup
-configurations. These are normally RAM, ROM and possibly ROMRAM. This
-setting is used to select which linker map to use (i.e., where to link
-eCos and the application in the memory space), and how the startup
-code should behave.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_component CYG_HAL_STARTUP {
-    display       "Startup type"
-    flavor        data
-    legal_values  {"RAM" "ROM"}
-    default_value {"RAM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-    description   "
-       When targeting the JMR3904 board it is possible to build
-       the system for either RAM bootstrap, ROM bootstrap, or STUB
-       bootstrap. RAM bootstrap generally requires that the board
-       is equipped with ROMs containing a suitable ROM monitor or
-       equivalent software that allows GDB to download the eCos
-       application on to the board. The ROM bootstrap typically
-       requires that the eCos application be blown into EPROMs or
-       equivalent technology."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="LITERAL"
->no_define</TT
-> and <TT
-CLASS="LITERAL"
->define</TT
->
-pair is used to make the setting of this option appear in the file
-<TT
-CLASS="FILENAME"
->system.h</TT
-> instead of the default specified in the
-header.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9579">Build options</H3
-><P
->A set of options under the components
-<TT
-CLASS="LITERAL"
->CYGBLD_GLOBAL_OPTIONS</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGHWR_MEMORY_LAYOUT</TT
-> specify how eCos should be
-built: what tools and compiler options should be used, and which
-linker fragments should be used.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;cdl_component CYGBLD_GLOBAL_OPTIONS {
-    display "Global build options"
-    flavor  none
-    parent  CYGPKG_NONE
-    description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-    cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-        display "Global command prefix"
-        flavor  data
-        no_define
-        default_value { "mips-tx39-elf" }
-        description "
-            This option specifies the command prefix used when
-            invoking the build tools."
-    }
-
-    cdl_option CYGBLD_GLOBAL_CFLAGS {
-        display "Global compiler flags"
-        flavor  data
-        no_define
-        default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
-        description   "
-            This option controls the global compiler flags which
-            are used to compile all packages by
-            default. Individual packages may define
-            options which override these global flags."
-    }
-
-    cdl_option CYGBLD_GLOBAL_LDFLAGS {
-        display "Global linker flags"
-        flavor  data
-        no_define
-        default_value { "-g -nostdlib -Wl,--gc-sections -Wl,-static" }
-        description   "
-            This option controls the global linker flags. Individual
-            packages may define options which override these global flags."
-    }
-}
-
-cdl_component CYGHWR_MEMORY_LAYOUT {
-    display "Memory layout"
-    flavor data
-    no_define
-    calculated { CYG_HAL_STARTUP == "RAM" ? "mips_tx39_jmr3904_ram" : \
-                                            "mips_tx39_jmr3904_rom" }
-
-    cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-        display "Memory layout linker script fragment"
-        flavor data
-        no_define
-        define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-        calculated { CYG_HAL_STARTUP == "RAM" ? "&lt;pkgconf/mlt_mips_tx39_jmr3904_ram.ldi&gt;" : \
-                                                "&lt;pkgconf/mlt_mips_tx39_jmr3904_rom.ldi&gt;" }
-    }
-
-    cdl_option CYGHWR_MEMORY_LAYOUT_H {
-        display "Memory layout header file"
-        flavor data
-        no_define
-        define -file system.h CYGHWR_MEMORY_LAYOUT_H
-        calculated { CYG_HAL_STARTUP == "RAM" ? "&lt;pkgconf/mlt_mips_tx39_jmr3904_ram.h&gt;" : \
-                                                "&lt;pkgconf/mlt_mips_tx39_jmr3904_rom.h&gt;" }
-    }
-}&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9585">Common Target Options</H3
-><P
->All platforms also specify real-time clock details:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># Real-time clock/counter specifics
-cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-    display       "Real-time clock constants."
-    flavor        none
-
-    cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-        display       "Real-time clock numerator"
-        flavor        data
-        calculated    1000000000
-    }
-    cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-        display       "Real-time clock denominator"
-        flavor        data
-        calculated    100
-    }
-    # Isn't a nice way to handle freq requirement!
-    cdl_option CYGNUM_HAL_RTC_PERIOD {
-        display       "Real-time clock period"
-        flavor        data
-        legal_values  { 15360 20736 }
-        calculated     { CYGHWR_HAL_MIPS_CPU_FREQ == 50 ? 15360 : \
-                         CYGHWR_HAL_MIPS_CPU_FREQ == 66 ? 20736 : 0 }
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
-> The <TT
-CLASS="LITERAL"
->NUMERATOR</TT
-> divided by the
-<TT
-CLASS="LITERAL"
->DENOMINATOR</TT
-> gives the number of nanoseconds per
-tick. The <TT
-CLASS="LITERAL"
->PERIOD</TT
-> is the divider to be programmed
-into a hardware timer that is driven from an appropriate hardware
-clock, such that the timer overflows once per tick (normally
-generating a CPU interrupt to mark the end of a tick). The tick
-default rate is typically 100Hz.</P
-><P
->Platforms that make use of the virtual vector
-ROM calling interface (see <A
-HREF="hal-calling-if.html"
->the Section called <I
->Virtual Vectors (eCos/ROM Monitor Calling Interface)</I
-></A
->) will also
-specify details necessary to define configuration channels (these
-options are from the SH/EDK7707 HAL) :</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-    display      "Number of communication channels on the board"
-    flavor       data
-    calculated   1
-}
-
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-    display          "Debug serial port"
-    flavor data
-    legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    default_value    0
-    description      "
-       The EDK/7708 board has only one serial port. This option
-       chooses which port will be used to connect to a host
-       running GDB."
-}
-
-cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-    display          "Diagnostic serial port"
-    flavor data
-    legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-    default_value    0
-    description      "
-       The EDK/7708 board has only one serial port.  This option
-       chooses which port will be used for diagnostic output."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The platform usually also specify an option controlling the ability
- to co-exist with a ROM monitor:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    display       "Work with a ROM monitor"
-    flavor        booldata
-    legal_values  { "Generic" "CygMon" "GDB_stubs" }
-    default_value { CYG_HAL_STARTUP == "RAM" ? "CygMon" : 0 }
-    parent        CYGPKG_HAL_ROM_MONITOR
-    requires      { CYG_HAL_STARTUP == "RAM" }
-    description   "
-        Support can be enabled for three different varieties of ROM monitor.
-        This support changes various eCos semantics such as the encoding
-        of diagnostic output, or the overriding of hardware interrupt
-        vectors.
-        Firstly there is \"Generic\" support which prevents the HAL
-        from overriding the hardware vectors that it does not use, to
-        instead allow an installed ROM monitor to handle them. This is
-        the most basic support which is likely to be common to most
-        implementations of ROM monitor.
-        \"CygMon\" provides support for the Cygnus ROM Monitor.
-        And finally, \"GDB_stubs\" provides support when GDB stubs are
-        included in the ROM monitor or boot ROM."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Or the ability to be configured as a ROM monitor:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGSEM_HAL_ROM_MONITOR {
-    display       "Behave as a ROM monitor"
-    flavor        bool
-    default_value 0
-    parent        CYGPKG_HAL_ROM_MONITOR
-    requires      { CYG_HAL_STARTUP == "ROM" }
-    description   "
-        Enable this option if this program is to be used as a ROM monitor,
-        i.e. applications will be loaded into RAM on the board, and this
-        ROM monitor may process exceptions or interrupts generated from the
-        application. This enables features such as utilizing a separate
-        interrupt stack when exceptions are generated."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The latter option is accompanied by a special build rule that
-extends the generic ROM monitor build rule in the common HAL:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGBLD_BUILD_GDB_STUBS {
-    display "Build GDB stub ROM image"
-    default_value 0
-    requires { CYG_HAL_STARTUP == "ROM" }
-    requires CYGSEM_HAL_ROM_MONITOR
-    requires CYGBLD_BUILD_COMMON_GDB_STUBS
-    requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-    requires ! CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-    requires ! CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-    requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-    requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-    no_define
-    description "
-        This option enables the building of the GDB stubs for the
-        board. The common HAL controls takes care of most of the
-        build process, but the final conversion from ELF image to
-        binary data is handled by the platform CDL, allowing
-        relocation of the data if necessary."
-
-    make -priority 320 {
-        &lt;PREFIX&gt;/bin/gdb_module.bin : &lt;PREFIX&gt;/bin/gdb_module.img
-        $(OBJCOPY) -O binary $&#60; $@
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Most platforms support RedBoot, and some options are needed to
-configure for RedBoot.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                &lt;PREFIX&gt;/bin/redboot.bin : &lt;PREFIX&gt;/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $&#60; $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $&#60; $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $&#60; $@
-            }
-        }
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->The important part here is the <TT
-CLASS="LITERAL"
->make</TT
-> command in the
-<TT
-CLASS="LITERAL"
->CYGBLD_BUILD_REDBOOT_BIN</TT
-> option which emits
-makefile commands to translate the <TT
-CLASS="FILENAME"
->.elf</TT
-> file
-generated by the link phase into both a binary file and an S-Record
-file. If a different format is required by a PROM programmer or ROM
-monitor, then different output formats would need to be generated here.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-PLATFORM-MEMORY-LAYOUT">Platform Memory Layout</H2
-><P
->The platform memory layout is defined using the Memory
-Configuration Window  in the Configuration Tool.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If you do not have access to a Windows machine, you can
-hand edit the <TT
-CLASS="FILENAME"
->.h</TT
-> and <TT
-CLASS="FILENAME"
->.ldi</TT
-> files to match the
-properties of your platform. If you want to contribute your port back
-to the eCos community, ask someone on the list to make proper memory
-map files for you.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9615">Layout Files</H3
-><P
->The memory configuration details are saved in three files:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FILENAME"
->.mlt</TT
-></DT
-><DD
-><P
->This is the Configuration Tool save-file. It is only used
-       by the Configuration Tool.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->.ldi</TT
-></DT
-><DD
-><P
->This is the linker script fragment. It defines the memory
-       and location of sections by way of macros defined in the
-       architecture or variant linker script.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->.h</TT
-></DT
-><DD
-><P
->This file describes some of the memory region details as C
-       macros, allowing eCos or the application adapt the memory
-       layout of a specific configuration.</P
-></DD
-></DL
-></DIV
-><P
->These three files are generated for each startup-type, since the
-memory details usually differ.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN9635">Reserved Regions</H3
-><P
->Some areas of the memory space are reserved for specific
-purposes, making room for exception vectors and various tables. RAM
-startup configurations also need to reserve some space at the bottom
-of the memory map for the ROM monitor.</P
-><P
->These reserved areas are named with the prefix "reserved_" which is
-handled specially by the Configuration Tool: instead of referring to a
-linker macro, the start of the area is labeled and a gap left in the
-memory map.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9639">Platform Serial Device Support</H2
-><P
->The first step is to set up the CDL definitions. The configuration
-options that need to be set are the following:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS</TT
-></DT
-><DD
-><P
->The number of channels, usually 0, 1 or 2.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL</TT
-></DT
-><DD
-><P
->The channel to use for GDB.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD</TT
-></DT
-><DD
-><P
->Initial baud rate for debug channel.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL</TT
-></DT
-><DD
-><P
->The channel to use for the
-    console.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD</TT
-></DT
-><DD
-><P
->The initial baud rate for the console
-    channel.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT</TT
-></DT
-><DD
-><P
->The default console channel.</P
-></DD
-></DL
-></DIV
-><P
->The code in <TT
-CLASS="FILENAME"
->hal_diag.c</TT
-> need to be converted to
-support the new serial device.
-If this the same as a device already supported, copy that.</P
-><P
->The following functions and types need to be rewritten to support a new serial
-device.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->struct channel_data_t;</TT
-></DT
-><DD
-><P
->      Structure containing base address, timeout and ISR vector number
-      for each serial device supported. Extra fields my be added if
-      necessary for the device. For example some devices have
-      write-only control registers, so keeping a shadow of the last
-      value written here can be useful.
-      </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->xxxx_ser_channels[];</TT
-></DT
-><DD
-><P
->      Array of <TT
-CLASS="LITERAL"
->channel_data_t</TT
->, initialized with parameters of each
-       channel. The index into this array is the channel number used
-       in the CDL options above and is used by the virtual vector
-       mechanism to refer to each channel.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->void cyg_hal_plf_serial_init_channel(void
-           *__ch_data)</TT
-></DT
-><DD
-><P
->      Initialize the serial device. The parameter is actually a pointer to a
-       <TT
-CLASS="LITERAL"
->channel_data_t</TT
-> and should be cast back to
-       this type before use. This function should use the CDL
-       definition for the baud rate for the channel it is initializing.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->void cyg_hal_plf_serial_putc(void * __ch_data,
-                    char *c)</TT
-></DT
-><DD
-><P
->        Send a character to the serial device. This function should
-       poll for the device being ready to send and then write the character.
-        Since this is intended to be a diagnostic/debug channel, it is
-       often also a good idea to poll for end of transmission
-       too. This ensures that as much data gets out of the system as
-       possible.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->bool cyg_hal_plf_serial_getc_nonblock(void*
-                    __ch_data, cyg_uint8* ch)</TT
-></DT
-><DD
-><P
->        This function tests the device and if a character is
-       available, places it in <TT
-CLASS="PARAMETER"
-><I
->*ch</I
-></TT
-> and returns
-       <TT
-CLASS="LITERAL"
->TRUE</TT
->. If no character is available, then
-       the function returns <TT
-CLASS="LITERAL"
->FALSE</TT
-> immediately.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->int cyg_hal_plf_serial_control(void *__ch_data,
-                    __comm_control_cmd_t __func,
-                    ...)</TT
-></DT
-><DD
-><P
->        This is an IOCTL-like function for controlling various aspects
-       of the serial device. The only part in which you may need to
-       do some work initially is in the
-       <TT
-CLASS="LITERAL"
->__COMMCTL_IRQ_ENABLE</TT
-> and
-       <TT
-CLASS="LITERAL"
->__COMMCTL_IRQ_DISABLE</TT
-> cases to
-       enable/disable interrupts.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->int cyg_hal_plf_serial_isr(void *__ch_data, int* __ctrlc, 
-                       CYG_ADDRWORD __vector, CYG_ADDRWORD
-                       __data)</TT
-></DT
-><DD
-><P
->        This interrupt handler, called from the spurious interrupt
-        vector, is specifically for dealing with
-        <TT
-CLASS="LITERAL"
->Ctrl-C</TT
-> interrupts from GDB. When called
-        this function should do the following:
-        <P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Check for an incoming character. The code here is very
-          similar to that in
-          <TT
-CLASS="FUNCTION"
->cyg_hal_plf_serial_getc_nonblock()</TT
->.
-          </P
-></LI
-><LI
-><P
->        Read the character and call
-         <TT
-CLASS="FUNCTION"
->cyg_hal_is_break()</TT
->.
-          </P
-></LI
-><LI
-><P
->        If result is true, set <TT
-CLASS="PARAMETER"
-><I
->*__ctrlc</I
-></TT
-> to
-         <TT
-CLASS="LITERAL"
->1</TT
->.
-          </P
-></LI
-><LI
-><P
->        Return <TT
-CLASS="LITERAL"
->CYG_ISR_HANDLED</TT
->.
-          </P
-></LI
-></OL
->
-      </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->void cyg_hal_plf_serial_init()</TT
-></DT
-><DD
-><P
->        Initialize each of the serial channels.
-       First call <TT
-CLASS="FUNCTION"
->cyg_hal_plf_serial_init_channel()</TT
-> for each channel.
-       Then call the <TT
-CLASS="LITERAL"
->CYGACC_COMM_IF_*</TT
-> macros for
-       each channel. This latter set of calls are identical for all
-       channels, so the best way to do this is to copy and edit an
-       existing example.
-        </P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-porting-coding-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-porting-variant.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->HAL Coding Conventions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Variant HAL Porting</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-porting-structure.html b/doc/html/ref/hal-porting-structure.html
deleted file mode 100644 (file)
index 87f8e7b..0000000
+++ /dev/null
@@ -1,1215 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->HAL Structure</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="NEXT"
-TITLE="Virtual Vectors (eCos/ROM Monitor Calling Interface)"
-HREF="hal-calling-if.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Porting Guide</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-calling-if.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-STRUCTURE">HAL Structure</H1
-><P
->In order to write an eCos HAL it's a good idea to have at least a
-passing understanding of how the HAL interacts with the rest of the
-system.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8659">HAL Classes</H2
-><P
->The eCos HAL consists of four HAL sub-classes. This table gives a
-brief description of each class and partly reiterates the description
-in <A
-HREF="hal-architecture-variant-and-platform.html"
->Chapter 7</A
->. The links
-refer to the on-line CVS tree (specifically to the sub-HALs used by
-the PowerPC MBX target).</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN8663"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->HAL type</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Functionality Overview</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Common HAL <A
-HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/common/current?cvsroot=ecos"
-TARGET="_top"
->(hal/common)</A
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration options and functionality shared by all HALs.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Generic debugging functionality, driver API, eCos/ROM monitor
-      calling interface, and tests.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Architecture HAL <A
-HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/arch/current?cvsroot=ecos"
-TARGET="_top"
->(hal/&lt;architecture&gt;/arch)</A
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Functionality specific to the given architecture. Also default
-  implementations of some functionality which can be overridden by
-  variant or platform HALs.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Architecture specific debugger functionality (handles single
-     stepping, exception-to-signal conversion, etc.),
-     exception/interrupt vector definitions and handlers, cache
-     definition and control macros, context switching code, assembler
-     functions for early system initialization, configuration options,
-     and possibly tests. </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Variant HAL <A
-HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/mpc8xx/current?cvsroot=ecos"
-TARGET="_top"
->(hal/&lt;architecture&gt;/&lt;variant&gt;)</A
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Some CPU architectures consist of a number variants, for example
-     MIPS CPUs come in both 32 and 64 bit versions, and some variants
-     have embedded features additional to the CPU core.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Variant extensions to the architecture code (cache,
-     exception/interrupt), configuration options, possibly drivers for
-     variant on-core devices, and possibly tests.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Platform HAL <A
-HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/mbx/current?cvsroot=ecos"
-TARGET="_top"
->(hal/&lt;architecture&gt;/&lt;platform&gt;)</A
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Contains functionality and configuration options specific to the
-      platform.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Early platform initialization code, platform memory layout
-     specification, configuration options (processor speed, compiler
-     options), diagnostic IO functions, debugger IO functions,
-     platform specific extensions to architecture or variant code
-     (off-core interrupt controller), and possibly tests.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Auxiliary HAL <A
-HREF="http://sourceware.cygnus.com/cgi-bin/cvsweb.cgi/ecos/packages/hal/powerpc/quicc/current?cvsroot=ecos"
-TARGET="_top"
->(hal/&lt;architecture&gt;/&lt;module&gt;)</A
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Some variants share common modules on the core. Motorola's PowerPC
-      QUICC is an example of such a module.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Module specific functionality (interrupt controller, simple
-      device drivers), possibly tests.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8696">File Descriptions</H2
-><P
->Listed below are the files found in various HALs, with a short
-description of what each file contains. When looking in existing HALs
-beware that they do not necessarily follow this naming scheme.
-If you are writing a new HAL, please try to follow it as
-closely as possible. Still, no two targets are the same, so sometimes
-it makes sense to use additional files.</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8699">Common HAL</H3
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN8701"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/dbg-thread-syscall.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines the thread debugging syscall function. This is used by
-  the ROM monitor to access the thread debugging API in the RAM
-  application.  .</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/dbg-threads-api.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines the thread debugging API. .</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/drv_api.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines the driver API.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/generic-stub.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines the generic stub features.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_if.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines the ROM/RAM calling interface API.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_misc.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines miscellaneous helper functions shared by all HALs.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_stub.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines eCos mappings of GDB stub features.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/dbg-threads-syscall.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Thread debugging implementation.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/drv_api.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Driver API implementation. Depending on configuration this
-  provides either wrappers for the kernel API, or a minimal
-  implementation of these features. This allows drivers to be written
-  relying only on HAL features.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/dummy.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Empty dummy file ensuring creation of libtarget.a.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/generic-stub.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Generic GDB stub implementation. This provides the
-  communication protocol used to communicate with GDB over a serial
-  device or via the network.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_if.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM/RAM calling interface implementation. Provides wrappers from
-  the calling interface API to the eCos features used for the
-  implementation.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_misc.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Various helper functions shared by all platforms and
-  architectures.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_stub.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Wrappers from eCos HAL features to the features required by the
-  generic GDB stub.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/stubrom/stubrom.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The file used to build eCos GDB stub images. Basically a
-  cyg_start function with a hard coded breakpoint.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/thread-packets.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->More thread debugging related functions.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/thread-pkts.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines more thread debugging related function.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8776">Architecture HAL</H3
-><P
->Some architecture HALs may add extra files for architecture
-specific serial drivers, or for handling interrupts and exceptions if it
-makes sense.</P
-><P
->Note that many of the definitions in these files are only
-conditionally defined - if the equivalent variant or platform headers
-provide the definitions, those override the generic architecture
-definitions.</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN8780"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/arch.inc</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Various assembly macros used during system initialization.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/basetype.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Endian, label, alignment, and type size definitions. These
-  override common defaults in CYGPKG_INFRA.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_arch.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Saved register frame format, various thread, register and stack
-  related macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_cache.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Cache definitions and cache control macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_intr.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Exception and interrupt definitions. Macros for configuring and
-  controlling interrupts. eCos real-time clock control macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_io.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Macros for accessing IO devices.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/&lt;arch&gt;_regs.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Architecture register definitions.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/&lt;arch&gt;_stub.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Architecture stub definitions. In particular the register frame
-  layout used by GDB. This may differ from the one used by eCos.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/&lt;arch&gt;.inc</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Architecture convenience assembly macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/&lt;arch&gt;.ld</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Linker macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/context.S</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Functions handling context switching and setjmp/longjmp.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_misc.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Exception and interrupt handlers in C. Various other utility
-  functions.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_mk_defs.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Used to export definitions from C header files to assembler
-  header files.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_intr.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Any necessary interrupt handling functions.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/&lt;arch&gt;stub.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Architecture stub code. Contains functions for translating eCos
-  exceptions to UNIX signals and functions for single-stepping.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/vectors.S</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Exception, interrupt and early initialization code.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8851">Variant HAL</H3
-><P
->Some variant HALs may add extra files for variant specific serial
-drivers, or for handling interrupts/exceptions if it makes sense.</P
-><P
->Note that these files may be mostly empty if the CPU variant can be
-controlled by the generic architecture macros. The definitions present
-are only conditionally defined - if the equivalent platform headers
-provide the definitions, those override the variant definitions.</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN8855"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/var_arch.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Saved register frame format, various thread, register and stack
-  related macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/var_cache.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Cache related macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/var_intr.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Interrupt related macros.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/var_regs.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Extra register definitions for the CPU variant.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/variant.inc</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Various assembly macros used during system initialization.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/var_intr.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Interrupt functions if necessary.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/var_misc.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->hal_variant_init function and any necessary extra functions.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/variant.S</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Interrupt handler table definition.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/&lt;arch&gt;_&lt;variant&gt;.ld</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Linker macros.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8898">Platform HAL</H3
-><P
->Extras files may be added for platform specific serial
-drivers. Extra files for handling interrupts and exceptions will be
-present if it makes sense.</P
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN8901"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/hal_diag.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines functions used for HAL diagnostics output. This would
-  normally be the ROM calling interface wrappers, but may also be the
-  low-level IO functions themselves, saving a little overhead.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/platform.inc</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Platform initialization code. This includes memory controller,
-  vectors, and monitor initialization. Depending on the architecture,
-  other things may need defining here as well: interrupt decoding,
-  status register initialization value, etc.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/plf_cache.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Platform specific cache handling.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/plf_intr.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Platform specific interrupt handling.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/plf_io.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->PCI IO definitions and macros. May also be used to override
-  generic HAL IO macros if the platform endianness differs from that of
-  the CPU.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->include/plf_stub.h</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Defines stub initializer and board reset details.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/hal_diag.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->May contain the low-level device drivers. But these may also
-  reside in plf_stub.c</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/platform.S</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Memory controller setup macro, and if necessary interrupt
-  springboard code.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/plf_misc.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Platform initialization code.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/plf_mk_defs.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Used to export definitions from C header files to assembler
-  header files.</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="FILENAME"
->src/plf_stub.c</TT
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Platform specific stub initialization and possibly the low-level
-  device driver.</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-><P
->The platform HAL also contains files specifying the platform's
-memory layout. These files are located in
-<TT
-CLASS="FILENAME"
->include/pkgconf</TT
->.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8954">Auxiliary HAL</H3
-><P
->Auxiliary HALs contain whatever files are necessary to provide the
-required functionality. There are no predefined set of files required
-in an auxiliary HAL.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-calling-if.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Porting Guide</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Virtual Vectors (eCos/ROM Monitor Calling Interface)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-porting-variant.html b/doc/html/ref/hal-porting-variant.html
deleted file mode 100644 (file)
index ff1f547..0000000
+++ /dev/null
@@ -1,443 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Variant HAL Porting</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="        Porting Guide"
-HREF="hal-porting-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Platform HAL Porting"
-HREF="hal-porting-platform.html"><LINK
-REL="NEXT"
-TITLE="Architecture HAL Porting"
-HREF="hal-porting-architecture.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-porting-platform.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Porting Guide</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-porting-architecture.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-PORTING-VARIANT">Variant HAL Porting</H1
-><P
->A variant port can be a fairly limited job, but can also
-require quite a lot of work. A variant HAL describes how a specific
-CPU variant differs from the generic CPU architecture. The variant HAL
-can re-define cache, MMU, interrupt, and other features which override
-the default implementation provided by the architecture HAL.</P
-><P
->Doing a variant port requires a preexisting architecture HAL port. It
-is also likely that a platform port will have to be done at the same
-time if it is to be tested.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9745">HAL Variant Porting Process</H2
-><P
->The easiest way to make a new variant HAL is simply to copy an
-existing variant HAL and change all the files to match the new
-variant. If this is the first variant for an architecture, it may be
-hard to decide which parts should be put in the variant - knowledge of
-other variants of the architecture is required.</P
-><P
->Looking at existing variant HALs (e.g., MIPS tx39, tx49) may be a
-help - usually things such as caching, interrupt and exception
-handling differ between variants. Initialization code, and code for
-handling various core components (FPU, DSP, MMU, etc.) may also differ
-or be missing altogether on some variants. Linker scripts may also require
-specific variant versions.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Some CPU variants may require specific compiler
-support. That support must be in place before you can undertake the
-eCos variant port.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9752">HAL Variant CDL</H2
-><P
->The CDL in a variant HAL tends to depend on the exact functionality
-supported by the variant. If it implements some of the devices
-described in the platform HAL, then the CDL for those will be here
-rather than there (for example the real-time clock).</P
-><P
->There may also be CDL to select options in the architecture HAL to
-configure it to a particular architectural variant.</P
-><P
->Each variant needs an entry in the <TT
-CLASS="FILENAME"
->ecos.db</TT
->
-file. This is the one for the SH3:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->package CYGPKG_HAL_SH_SH3 {
-    alias         { "SH3 architecture" hal_sh_sh3 }
-    directory     hal/sh/sh3
-    script        hal_sh_sh3.cdl
-    hardware
-    description   "
-        The SH3 (SuperH 3) variant HAL package provides generic
-        support for SH3 variant CPUs."
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->As you can see, it is very similar to the platform entry.</P
-><P
->The variant CDL file will contain a package entry named for the
-architecture and variant, matching the package name in the
-<TT
-CLASS="FILENAME"
->ecos.db</TT
-> file. Here is the initial part of the
-MIPS VR4300 CDL file:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_MIPS_VR4300 {
-    display       "VR4300 variant"
-    parent        CYGPKG_HAL_MIPS
-    implements    CYGINT_HAL_MIPS_VARIANT
-    hardware
-    include_dir   cyg/hal
-    define_header hal_mips_vr4300.h
-    description   "
-           The VR4300 variant HAL package provides generic support
-           for this processor architecture. It is also necessary to
-           select a specific target platform HAL package."</PRE
-></TD
-></TR
-></TABLE
-><P
->This defines the package, placing it under the MIPS architecture
-package in the hierarchy. The <TT
-CLASS="LITERAL"
->implements</TT
-> line
-indicates that this is a MIPS variant. The architecture package uses
-this to check that exactly one variant is configured in.</P
-><P
->The variant defines some options that cause the architecture HAL to
-configure itself to support this variant.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    cdl_option CYGHWR_HAL_MIPS_64BIT {
-        display    "Variant 64 bit architecture support"
-        calculated 1
-    }
-
-    cdl_option CYGHWR_HAL_MIPS_FPU {
-        display    "Variant FPU support"
-        calculated 1
-    }
-
-    cdl_option CYGHWR_HAL_MIPS_FPU_64BIT {
-        display    "Variant 64 bit FPU support"
-        calculated 1
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->These tell the architecture that this is a 64 bit MIPS architecture,
-that it has a floating point unit, and that we are going to use it in
-64 bit mode rather than 32 bit mode.</P
-><P
->The CDL file finishes off with some build options.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    define_proc {
-        puts $::cdl_header "#include &lt;pkgconf/hal_mips.h&gt;"
-    }
-
-    compile       var_misc.c
-
-    make {
-        &lt;PREFIX&gt;/lib/target.ld: &lt;PACKAGE&gt;/src/mips_vr4300.ld
-        $(CC) -E -P -Wp,-MD,target.tmp -DEXTRAS=1 -xc $(INCLUDE_PATH) $(CFLAGS) -o $@ $&lt;
-        @echo $@ ": \\" &gt; $(notdir $@).deps
-        @tail +2 target.tmp &gt;&gt; $(notdir $@).deps
-        @echo &gt;&gt; $(notdir $@).deps
-        @rm target.tmp
-    }
-
-    cdl_option CYGBLD_LINKER_SCRIPT {
-        display "Linker script"
-        flavor data
-       no_define
-        calculated  { "src/mips_vr4300.ld" }
-    }
-
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="LITERAL"
->define_proc</TT
-> causes the architecture
-configuration file to be included into the configuration file for the
-variant. The <TT
-CLASS="LITERAL"
->compile</TT
-> causes the single source file
-for this variant, <TT
-CLASS="FILENAME"
->var_misc.c</TT
-> to be compiled. The
-<TT
-CLASS="LITERAL"
->make</TT
-> command emits makefile rules to combine the
-linker script with the <TT
-CLASS="FILENAME"
->.ldi</TT
-> file to generate
-<TT
-CLASS="LITERAL"
->target.ld</TT
->. Finally, in the MIPS HALs, the main
-linker script is defined in the variant, rather than the architecture,
-so <TT
-CLASS="LITERAL"
->CYGBLD_LINKER_SCRIPT</TT
-> is defined here.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN9778">Cache Support</H2
-><P
->The main area where the variant is likely to be involved is in cache
-support. Often the only thing that distinguishes one CPU variant from
-another is the size of its caches.</P
-><P
->In architectures such as the MIPS and PowerPC where cache instructions
-are part of the ISA, most of the actual cache operations are
-implemented in the architecture HAL. In this case the variant HAL only
-needs to define the cache dimensions. The following are the cache
-dimensions defined in the MIPS VR4300 variant
-<TT
-CLASS="FILENAME"
->var_cache.h</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// Data cache
-#define HAL_DCACHE_SIZE                 (8*1024)        // Size of data cache in bytes
-#define HAL_DCACHE_LINE_SIZE            16              // Size of a data cache line
-#define HAL_DCACHE_WAYS                 1               // Associativity of the cache
-
-// Instruction cache
-#define HAL_ICACHE_SIZE                 (16*1024)       // Size of cache in bytes
-#define HAL_ICACHE_LINE_SIZE            32              // Size of a cache line
-#define HAL_ICACHE_WAYS                 1               // Associativity of the cache
-
-#define HAL_DCACHE_SETS (HAL_DCACHE_SIZE/(HAL_DCACHE_LINE_SIZE*HAL_DCACHE_WAYS))
-#define HAL_ICACHE_SETS (HAL_ICACHE_SIZE/(HAL_ICACHE_LINE_SIZE*HAL_ICACHE_WAYS))</PRE
-></TD
-></TR
-></TABLE
-><P
->Additional cache macros, or overrides for the defaults, may also
-appear in here. While some architectures have instructions for
-managing cache lines, overall enable/disable operations may be handled
-via variant specific registers. If so then
-<TT
-CLASS="FILENAME"
->var_cache.h</TT
-> should also define the
-<TT
-CLASS="LITERAL"
->HAL_XCACHE_ENABLE()</TT
-> and
-<TT
-CLASS="LITERAL"
->HAL_XCACHE_DISABLE()</TT
-> macros.</P
-><P
->If there are any generic features that the variant does not support
-(cache locking is a typical example) then
-<TT
-CLASS="LITERAL"
->var_cache.h</TT
-> may need to disable definitions of
-certain operations. It is architecture dependent exactly how this is
-done.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-porting-platform.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-porting-architecture.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Platform HAL Porting</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-porting-guide.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Architecture HAL Porting</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-smp-support.html b/doc/html/ref/hal-smp-support.html
deleted file mode 100644 (file)
index 11f6422..0000000
+++ /dev/null
@@ -1,756 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SMP Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="HAL Interfaces"
-HREF="hal-interfaces.html"><LINK
-REL="PREVIOUS"
-TITLE="Diagnostic Support"
-HREF="hal-diagnostic-support.html"><LINK
-REL="NEXT"
-TITLE="Exception Handling"
-HREF="hal-exception-handling.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-diagnostic-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. HAL Interfaces</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-SMP-SUPPORT">SMP Support</H1
-><P
->eCos contains support for limited Symmetric Multi-Processing
-(SMP). This is only available on selected architectures and platforms.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8275">Target Hardware Limitations</H2
-><P
->To allow a reasonable implementation of SMP, and to reduce the
-disruption to the existing source base, a number of assumptions have
-been made about the features of the target hardware.</P
-><P
-></P
-><UL
-><LI
-><P
->Modest multiprocessing. The typical number of CPUs supported is two
-to four, with an upper limit around eight. While there are no
-inherent limits in the code, hardware and algorithmic limitations
-will probably become significant beyond this point.</P
-></LI
-><LI
-><P
->SMP synchronization support. The hardware must supply a mechanism to
-allow software on two CPUs to synchronize. This is normally provided
-as part of the instruction set in the form of test-and-set,
-compare-and-swap or load-link/store-conditional instructions. An
-alternative approach is the provision of hardware semaphore
-registers which can be used to serialize implementations of these
-operations. Whatever hardware facilities are available, they are
-used in eCos to implement spinlocks.</P
-></LI
-><LI
-><P
->Coherent caches. It is assumed that no extra effort will be required
-to access shared memory from any processor. This means that either
-there are no caches, they are shared by all processors, or are
-maintained in a coherent state by the hardware. It would be too
-disruptive to the eCos sources if every memory access had to be
-bracketed by cache load/flush operations. Any hardware that requires
-this is not supported.</P
-></LI
-><LI
-><P
->Uniform addressing. It is assumed that all memory that is
-shared between CPUs is addressed at the same location from all
-CPUs. Like non-coherent caches, dealing with CPU-specific address
-translation is considered too disruptive to the eCos source
-base. This does not, however, preclude systems with non-uniform
-access costs for different CPUs.</P
-></LI
-><LI
-><P
->Uniform device addressing. As with access to memory, it is assumed
-that all devices are equally accessible to all CPUs. Since device
-access is often made from thread contexts, it is not possible to
-restrict access to device control registers to certain CPUs, since
-there is currently no support for binding or migrating threads to CPUs.</P
-></LI
-><LI
-><P
->Interrupt routing. The target hardware must have an interrupt
-controller that can route interrupts to specific CPUs. It is
-acceptable for all interrupts to be delivered to just one CPU, or
-for some interrupts to be bound to specific CPUs, or for some
-interrupts to be local to each CPU. At present dynamic routing,
-where a different CPU may be chosen each time an interrupt is
-delivered, is not supported. ECos cannot support hardware where all
-interrupts are delivered to all CPUs simultaneously with the
-expectation that software will resolve any conflicts.</P
-></LI
-><LI
-><P
->Inter-CPU interrupts. A mechanism to allow one CPU to interrupt
-another is needed. This is necessary so that events on one CPU can
-cause rescheduling on other CPUs.</P
-></LI
-><LI
-><P
->CPU Identifiers. Code running on a CPU must be able to determine
-which CPU it is running on. The CPU Id is usually provided either in
-a CPU status register, or in a register associated with the
-inter-CPU interrupt delivery subsystem. ECos expects CPU Ids to be
-small positive integers, although alternative representations, such
-as bitmaps, can be converted relatively easily. Complex mechanisms
-for getting the CPU Id cannot be supported. Getting the CPU Id must
-be a cheap operation, since it is done often, and in performance
-critical places such as interrupt handlers and the scheduler.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN8295">HAL Support</H2
-><P
->SMP support in any platform depends on the HAL supplying the
-appropriate operations. All HAL SMP support is defined in the
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_smp.h</TT
-> header. Variant and platform
-specific definitions will be in <TT
-CLASS="FILENAME"
->cyg/hal/var_smp.h</TT
->
-and <TT
-CLASS="FILENAME"
->cyg/hal/plf_smp.h</TT
-> respectively. These files
-are include automatically by this header, so need not be included
-explicitly.</P
-><P
->SMP support falls into a number of functional groups.</P
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8302">CPU Control</H3
-><P
->This group consists of descriptive and control macros for managing the
-CPUs in an SMP system.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_TYPE</TT
-></DT
-><DD
-><P
->A type that can contain a CPU id. A CPU id is
-usually a small integer that is used to index
-arrays of variables that are managed on an
-per-CPU basis.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_MAX</TT
-></DT
-><DD
-><P
->The maximum number of CPUs that can be
-supported. This is used to provide the size of
-any arrays that have an element per CPU.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_COUNT()</TT
-></DT
-><DD
-><P
->Returns the number of CPUs currently
-operational. This may differ from
-HAL_SMP_CPU_MAX depending on the runtime
-environment.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_THIS()</TT
-></DT
-><DD
-><P
->Returns the CPU id of the current CPU.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_NONE</TT
-></DT
-><DD
-><P
->A value that does not match any real CPU
-id. This is uses where a CPU type variable
-must be set to a null value.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_START( cpu )</TT
-></DT
-><DD
-><P
->Starts the given CPU executing at a defined
-HAL entry point. After performing any HAL
-level initialization, the CPU calls up into
-the kernel at <TT
-CLASS="FUNCTION"
->cyg_kernel_cpu_startup()</TT
->.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_RESCHEDULE_INTERRUPT( cpu, wait )</TT
-></DT
-><DD
-><P
->Sends the CPU a reschedule interrupt, and if
-<TT
-CLASS="PARAMETER"
-><I
->wait</I
-></TT
-> is non-zero, waits for an
-acknowledgment. The interrupted CPU should call
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_set_need_reschedule()</TT
-> in its DSR to
-cause the reschedule to occur.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_CPU_TIMESLICE_INTERRUPT( cpu, wait )</TT
-></DT
-><DD
-><P
->Sends the CPU a timeslice interrupt, and if
-<TT
-CLASS="PARAMETER"
-><I
->wait</I
-></TT
-> is non-zero, waits for an
-acknowledgment. The interrupted CPU should call
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_timeslice_cpu()</TT
-> to cause the
-timeslice event to be processed.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8351">Test-and-set Support</H3
-><P
->Test-and-set is the foundation of the SMP synchronization
-mechanisms.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->HAL_TAS_TYPE</TT
-></DT
-><DD
-><P
->The type for all test-and-set variables. The
-test-and-set macros only support operations on
-a single bit (usually the least significant
-bit) of this location. This allows for maximum
-flexibility in the implementation.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_TAS_SET( tas, oldb )</TT
-></DT
-><DD
-><P
->Performs a test and set operation on the
-location <TT
-CLASS="PARAMETER"
-><I
->tas</I
-></TT
->. <TT
-CLASS="PARAMETER"
-><I
->oldb</I
-></TT
-> will contain <TT
-CLASS="LITERAL"
->true</TT
-> if
-the location was already set, and <TT
-CLASS="LITERAL"
->false</TT
-> if
-it was clear.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_TAS_CLEAR( tas, oldb )</TT
-></DT
-><DD
-><P
->Performs a test and clear operation on the
-location <TT
-CLASS="PARAMETER"
-><I
->tas</I
-></TT
->. <TT
-CLASS="PARAMETER"
-><I
->oldb</I
-></TT
-> will contain <TT
-CLASS="LITERAL"
->true</TT
-> if
-the location was already set, and <TT
-CLASS="LITERAL"
->false</TT
-> if
-it was clear.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8378">Spinlocks</H3
-><P
->Spinlocks provide inter-CPU locking. Normally they will be implemented
-on top of the test-and-set mechanism above, but may also be
-implemented by other means if, for example, the hardware has more
-direct support for spinlocks.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_TYPE</TT
-></DT
-><DD
-><P
->The type for all spinlock variables.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_INIT_CLEAR</TT
-></DT
-><DD
-><P
->A value that may be assigned to a spinlock
-variable to initialize it to clear.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_INIT_SET</TT
-></DT
-><DD
-><P
->A value that may be assigned to a spinlock
-variable to initialize it to set.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_SPIN( lock )</TT
-></DT
-><DD
-><P
->The caller spins in a busy loop waiting for
-the lock to become clear. It then sets it and
-continues. This is all handled atomically, so
-that there are no race conditions between CPUs.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_CLEAR( lock )</TT
-></DT
-><DD
-><P
->The caller clears the lock. One of any waiting
-spinners will then be able to proceed.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_TRY( lock, val )</TT
-></DT
-><DD
-><P
->Attempts to set the lock. The value put in
-<TT
-CLASS="PARAMETER"
-><I
->val</I
-></TT
-> will be <TT
-CLASS="LITERAL"
->true</TT
-> if the lock was
-claimed successfully, and <TT
-CLASS="LITERAL"
->false</TT
-> if it was
-not.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SPINLOCK_TEST( lock, val )</TT
-></DT
-><DD
-><P
->Tests the current value of the lock. The value
-put in <TT
-CLASS="PARAMETER"
-><I
->val</I
-></TT
-> will be <TT
-CLASS="LITERAL"
->true</TT
-> if the lock is
-claimed and <TT
-CLASS="LITERAL"
->false</TT
-> of it is clear.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8423">Scheduler Lock</H3
-><P
->The scheduler lock is the main protection for all kernel data
-structures. By default the kernel implements the scheduler lock itself
-using a spinlock. However, if spinlocks cannot be supported by the
-hardware, or there is a more efficient implementation available, the
-HAL may provide macros to implement the scheduler lock.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_SCHEDLOCK_DATA_TYPE</TT
-></DT
-><DD
-><P
->A data type, possibly a structure, that
-contains any data items needed by the
-scheduler lock implementation. A variable of
-this type will be instantiated as a static
-member of the Cyg_Scheduler_SchedLock class
-and passed to all the following macros.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_SCHEDLOCK_INIT( lock, data )</TT
-></DT
-><DD
-><P
->Initialize the scheduler lock. The <TT
-CLASS="PARAMETER"
-><I
->lock</I
-></TT
->
-argument is the scheduler lock counter and the
-<TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> argument is a variable of
-HAL_SMP_SCHEDLOCK_DATA_TYPE type.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_SCHEDLOCK_INC( lock, data )</TT
-></DT
-><DD
-><P
->Increment the scheduler lock. The first
-increment of the lock from zero to one for any
-CPU may cause it to wait until the lock is
-zeroed by another CPU. Subsequent increments
-should be less expensive since this CPU
-already holds the lock.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_SCHEDLOCK_ZERO( lock, data )</TT
-></DT
-><DD
-><P
->Zero the scheduler lock. This operation will
-also clear the lock so that other CPUs may
-claim it.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_SMP_SCHEDLOCK_SET( lock, data, new )</TT
-></DT
-><DD
-><P
->Set the lock to a different value, in
-<TT
-CLASS="PARAMETER"
-><I
->new</I
-></TT
->. This is only called when the lock is
-already known to be owned by the current CPU. It is never called to
-zero the lock, or to increment it from zero.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="AEN8455">Interrupt Routing</H3
-><P
->The routing of interrupts to different CPUs is supported by two new
-interfaces in hal_intr.h.</P
-><P
->Once an interrupt has been routed to a new CPU, the existing vector
-masking and configuration operations should take account of the CPU
-routing. For example, if the operation is not invoked on the
-destination CPU itself, then the HAL may need to arrange to transfer
-the operation to the destination CPU for correct application.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->HAL_INTERRUPT_SET_CPU( vector, cpu )</TT
-></DT
-><DD
-><P
->Route the interrupt for the given <TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-> to
-the given <TT
-CLASS="PARAMETER"
-><I
->cpu</I
-></TT
->. </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->HAL_INTERRUPT_GET_CPU( vector, cpu )</TT
-></DT
-><DD
-><P
->Set <TT
-CLASS="PARAMETER"
-><I
->cpu</I
-></TT
-> to the id of the CPU to which this
-vector is routed.</P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-diagnostic-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Diagnostic Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-interfaces.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Exception Handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-synth-arch.html b/doc/html/ref/hal-synth-arch.html
deleted file mode 100644 (file)
index 1b4a79c..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Synthetic Target</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Communication Protocol"
-HREF="usbseth-protocol.html"><LINK
-REL="NEXT"
-TITLE="Overview"
-HREF="synth.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-protocol.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="HAL-SYNTH-ARCH"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXIV. eCos Synthetic Target</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="synth.html"
->Overview</A
->&nbsp;--&nbsp;Overview</DT
-><DT
-><A
-HREF="synth-install.html"
->Installation</A
->&nbsp;--&nbsp;Preparing to use the synthetic target</DT
-><DT
-><A
-HREF="synth-running.html"
->Running a Synthetic Target Application</A
->&nbsp;--&nbsp;Arguments and configuration files</DT
-><DT
-><A
-HREF="synth-gui.html"
->The I/O Auxiliary's User Interface</A
->&nbsp;--&nbsp;Controlling the I/O Auxiliary</DT
-><DT
-><A
-HREF="synth-console.html"
->The Console Device</A
->&nbsp;--&nbsp;Show output from the eCos application</DT
-><DT
-><A
-HREF="synth-syscalls.html"
->System Calls</A
->&nbsp;--&nbsp;Access Linux system facilities</DT
-><DT
-><A
-HREF="synth-new-target.html"
->Writing New Devices - target</A
->&nbsp;--&nbsp;extending the synthetic target, target-side</DT
-><DT
-><A
-HREF="synth-new-host.html"
->Writing New Devices - host</A
->&nbsp;--&nbsp;extending the synthetic target, host-side</DT
-><DT
-><A
-HREF="synth-porting.html"
->Porting</A
->&nbsp;--&nbsp;Adding support for other hosts</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-protocol.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Communication Protocol</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Overview</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hal-vectors-and-vsrs.html b/doc/html/ref/hal-vectors-and-vsrs.html
deleted file mode 100644 (file)
index 1abe2d4..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Vectors and VSRs</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Exception Handling"
-HREF="hal-exception-handling.html"><LINK
-REL="PREVIOUS"
-TITLE="Exception Handling"
-HREF="hal-exception-handling.html"><LINK
-REL="NEXT"
-TITLE="Default Synchronous Exception Handling"
-HREF="hal-default-synchronous-exception-handling.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 10. Exception Handling</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-default-synchronous-exception-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="HAL-VECTORS-AND-VSRS">Vectors and VSRs</H1
-><P
->The CPU delivers all  exceptions, whether
-synchronous faults or asynchronous interrupts, to a set of hardware
-defined vectors. Depending on the architecture, these may be
-implemented in a number of different ways. Examples of existing
-mechanisms are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->PowerPC</DT
-><DD
-><P
->      Exceptions are vectored to locations 256 bytes apart starting at
-      either zero or <TT
-CLASS="LITERAL"
->0xFFF00000</TT
->. There are 16 such
-      vectors defined by the basic architecture and extra vectors may
-      be defined by specific variants. One of the base vectors is for
-      all external interrupts, and another is for the architecture
-      defined timer.
-      </P
-></DD
-><DT
->MIPS</DT
-><DD
-><P
->      Most exceptions and all interrupts are vectored to a single
-      address at either <TT
-CLASS="LITERAL"
->0x80000000</TT
-> or
-      <TT
-CLASS="LITERAL"
->0xBFC00180</TT
->. Software is responsible for
-      reading the exception code from the CPU <TT
-CLASS="LITERAL"
->cause</TT
->
-      register to discover its true source. Some TLB and debug
-      exceptions are delivered to different vector addresses, but
-      these are not used currently by eCos. One of the exception codes
-      in the <TT
-CLASS="LITERAL"
->cause</TT
-> register indicates an external
-      interrupt. Additional bits in the <TT
-CLASS="LITERAL"
->cause</TT
->
-      register provide a first-level decode for the interrupt source,
-      one of which represents an architecture defined timer.
-      </P
-></DD
-><DT
->IA32</DT
-><DD
-><P
->      Exceptions are delivered via an Interrupt Descriptor Table (IDT)
-      which is essentially an indirection table indexed by exception
-      number. The IDT may be placed anywhere in memory. In PC hardware
-      the standard interrupt controller can be programmed to deliver
-      the external interrupts to a block of 16 vectors at any offset
-      in the IDT. There is no hardware supplied mechanism for
-      determining the vector taken, other than from the address jumped
-      to.
-      </P
-></DD
-><DT
->ARM</DT
-><DD
-><P
->      All exceptions, including the FIQ and IRQ interrupts, are
-      vectored to locations four bytes apart starting at zero. There
-      is only room for one instruction here, which must immediately
-      jump out to handling code higher in memory. Interrupt sources
-      have to be decoded entirely from the interrupt controller.
-      </P
-></DD
-></DL
-></DIV
-><P
->With such a wide variety of hardware approaches, it is not possible to
-provide a generic mechanism for the substitution of exception vectors
-directly. Therefore, eCos translates all of these mechanisms in to a
-common approach that can be used by portable code on all platforms.</P
-><P
->The mechanism implemented is to attach to each hardware vector a short
-piece of trampoline code that makes an indirect jump via a table to
-the actual handler for the exception. This handler is called the
-Vector Service Routine (VSR) and the table is called the VSR table.</P
-><P
->The trampoline code performs the absolute minimum processing necessary
-to identify the exception source, and jump to the VSR. The VSR is then
-responsible for saving the CPU state and taking the necessary actions
-to handle the exception or interrupt. The entry conditions for the VSR
-are as close to the raw hardware exception entry state as possible -
-although on some platforms the trampoline will have had to move or
-reorganize some registers to do its job.</P
-><P
->To make this more concrete, consider how the trampoline code operates
-in each of the architectures described above:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->PowerPC</DT
-><DD
-><P
->      A separate trampoline is contained in each of the vector
-      locations. This code saves a few work registers away to the
-      special purposes registers available, loads the exception number
-      into a register and then uses that to index the VSR table and
-      jump to the VSR. The VSR is entered with some registers move to
-      the SPRs, and one of the data register containing the number of
-      the vector taken.
-      </P
-></DD
-><DT
->MIPS</DT
-><DD
-><P
->      A single trampoline routine attached to the common vector reads
-      the exception code out of the <TT
-CLASS="LITERAL"
->cause</TT
-> register
-      and uses that value to index the VSR table and jump to the VSR.
-      The trampoline uses the two registers defined in the ABI for
-      kernel use to do this, one of these will contain the exception
-      vector number for the VSR.
-      </P
-></DD
-><DT
->IA32</DT
-><DD
-><P
->      There is a separate 3 or 4 instruction trampoline pointed to by
-      each active IDT table entry. The trampoline for exceptions that
-      also have an error code pop it from the stack and put it into a
-      memory location. Trampolines for non-error-code exceptions just
-      zero the memory location. Then all trampolines push an
-      interrupt/exception number onto the stack, and take an indirect
-      jump through a precalculated offset in the VSR table. This is
-      all done without saving any registers, using memory-only
-      operations. The VSR is entered with the vector number pushed
-      onto the stack on top of the standard hardware saved state.
-      </P
-></DD
-><DT
->ARM</DT
-><DD
-><P
->      The trampoline consists solely of the single instruction at the
-      exception entry point. This is an indirect jump via a location
-      32 bytes higher in memory. These locations, from
-      <TT
-CLASS="LITERAL"
->0x20</TT
-> up, form the VSR table. Since each VSR
-      is entered in a different CPU mode
-      (<TT
-CLASS="LITERAL"
->SVC,UNDEF,ABORT,IRQ or FIQ</TT
->) there has to be a
-      different VSR for each exception that knows how to save the CPU
-      state correctly.
-      </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-default-synchronous-exception-handling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Exception Handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-exception-handling.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Default Synchronous Exception Handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/help-command.html b/doc/html/ref/help-command.html
deleted file mode 100644 (file)
index 2d00536..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->help</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="dump"
-HREF="dump-command.html"><LINK
-REL="NEXT"
-TITLE="ip_address"
-HREF="ip-address-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="dump-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ip-address-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="HELP-COMMAND">help</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3316"
-></A
-><H2
->Name</H2
->help&nbsp;--&nbsp;Display help on available commands</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3319"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->help</B
->  [<TT
-CLASS="REPLACEABLE"
-><I
-> topic</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3324"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3326"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
->topic</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Which command to provide help for.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->All commands</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3345"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->help</B
-> command displays information about the available
-RedBoot commands.  If a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->topic</I
-></SPAN
-> is given, then the display
-is restricted to information about that specific command.
-      </P
-><P
->If the command has sub-commands, e.g. <B
-CLASS="COMMAND"
->fis</B
->, then the topic
-specific display will print additional information about the available sub-commands.
-special (ICMP) packets to a specific host. These packets should be automatically
-returned by that host. The command will indicate how many of these round-trips
-were successfully completed. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3352"
-></A
-><H2
->Examples</H2
-><P
->Show generic help.  Note that the contents of this display will depend on the various configuration
-options for RedBoot when it was built.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->help</B
-></TT
->
-Manage aliases kept in FLASH memory
-   alias name [value]
-Manage machine caches
-   cache [ON | OFF]
-Display/switch console channel
-   channel [-1|&lt;channel number&gt;]
-Compute a 32bit checksum [POSIX algorithm] for a range of memory
-   cksum -b &lt;location&gt; -l &lt;length&gt;
-Display (hex dump) a range of memory
-   dump -b &lt;location&gt; [-l &lt;length&gt;] [-s] [-1|2|4]
-Manage FLASH images
-   fis {cmds}
-Manage configuration kept in FLASH memory
-   fconfig [-i] [-l] [-n] [-f] [-d] | [-d] nickname [value]
-Execute code at a location
-   go [-w &lt;timeout&gt;] [entry]
-Help about help?
-   help [&lt;topic&gt;]
-Set/change IP addresses
-   ip_address [-l &lt;local_ip_address&gt;] [-h &lt;server_address&gt;]
-Load a file
-   load [-r] [-v] [-d] [-h &lt;host&gt;] [-m {TFTP | HTTP | {x|y}MODEM -c &lt;channel_number&gt;}]
-        [-b &lt;base_address&gt;] &lt;file_name&gt;
-Compare two blocks of memory
-   mcmp -s &lt;location&gt; -d &lt;location&gt; -l &lt;length&gt; [-1|-2|-4]
-Fill a block of memory with a pattern
-   mfill -b &lt;location&gt; -l &lt;length&gt; -p &lt;pattern&gt; [-1|-2|-4]
-Network connectivity test
-   ping [-v] [-n &lt;count&gt;] [-l &lt;length&gt;] [-t &lt;timeout&gt;] [-r &lt;rate&gt;]
-        [-i &lt;IP_addr&gt;] -h &lt;IP_addr&gt;
-Reset the system
-   reset 
-Display RedBoot version information
-   version 
-Display (hex dump) a range of memory
-   x -b &lt;location&gt; [-l &lt;length&gt;] [-s] [-1|2|4]</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-><P
->Help about a command with sub-commands.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->help fis</B
-></TT
->
-Manage FLASH images
-   fis {cmds}
-Create an image
-  fis create -b &lt;mem_base&gt; -l &lt;image_length&gt; [-s &lt;data_length&gt;]
-      [-f &lt;flash_addr&gt;] [-e &lt;entry_point&gt;] [-r &lt;ram_addr&gt;] [-n] &lt;name&gt;
-Display an image from FLASH Image System [FIS]
-  fis delete name
-Erase FLASH contents
-  fis erase -f &lt;flash_addr&gt; -l &lt;length&gt;
-Display free [available] locations within FLASH Image System [FIS]
-  fis free 
-Initialize FLASH Image System [FIS]
-  fis init [-f]
-Display contents of FLASH Image System [FIS]
-  fis list [-c] [-d]
-Load image from FLASH Image System [FIS] into RAM
-  fis load [-d] [-b &lt;memory_load_address&gt;] [-c] name
-Write raw data directly to FLASH
-  fis write -f &lt;flash_addr&gt; -b &lt;mem_base&gt; -l &lt;image_length&gt;</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="dump-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ip-address-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->dump</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ip_address</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/hs7729pci.html b/doc/html/ref/hs7729pci.html
deleted file mode 100644 (file)
index f0f745e..0000000
+++ /dev/null
@@ -1,523 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SuperH/SH3(SH7729) Hitachi HS7729PCI</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="SuperH/SH3(SH7709) Hitachi Solution Engine 7709"
-HREF="se7709.html"><LINK
-REL="NEXT"
-TITLE="SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9"
-HREF="se77x9.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="se7709.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="se77x9.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="HS7729PCI">SuperH/SH3(SH7729) Hitachi HS7729PCI</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7363">Overview</H2
-><P
->RedBoot uses
-the COM1 and COM2 serial ports (and the debug port on the
-motherboard).
-The default serial port settings are 38400,8,N,1.
-Ethernet is also supported using a D-Link DFE-530TX PCI plugin
-card. Management of onboard flash is also supported. </P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7373"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7392">Initial Installation Method</H2
-><P
->A ROM mode RedBoot image must be programmed
-into the two EPROMs. Two files with a split version of the ROM mode
-image is
-provided: it is also possible to recreate these from the
-<TT
-CLASS="FILENAME"
->redboot.bin</TT
->
-file, but requires the <SPAN
-CLASS="APPLICATION"
->split_word.c</SPAN
-> program in
-<TT
-CLASS="FILENAME"
->hal/sh/hs7729pci/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/misc</TT
->
-to be built and executed with the <TT
-CLASS="FILENAME"
->redboot.bin</TT
->
-filename as sole argument.</P
-><P
->After doing this it is advised that another ROM mode image of
-RedBoot is programmed into the on-board flash, and that copy be used
-for booting the board. This allows for software programmed updates of
-RedBoot instead of having to reprogram the EPROMs.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Program the EPROMs with RedBoot. The .lo image should
-go in socket M1 and the .hi image in socket M2.</P
-></LI
-><LI
-><P
->Set switch SW1-6 to ON [boot from EPROM]</P
-></LI
-><LI
-><P
->Follow the instructions under Flash management for
-updating the flash copy of RedBoot, but force the flash destination
-address with
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->-f 0x80400000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> due to setting of
-the SW1-6 switch.</P
-></LI
-><LI
-><P
->Set switch SW1-6 to OFF [boot from flash] and reboot the board. You
-should now see the RedBoot banner. At this time you may want to issue
-the command <B
-CLASS="COMMAND"
->fis init</B
-> to initialize
-the flash table with the correct addresses.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7413">Special RedBoot Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the HS7729PCI are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Parameter block address. This is normally the first
-page of the kernel image and defaults to 0x8c101000</P
-></DD
-><DT
->-i <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Start address of initrd
-image</P
-></DD
-><DT
->-j <TT
-CLASS="REPLACEABLE"
-><I
->&lt;size&#62;</I
-></TT
-></DT
-><DD
-><P
->Size of initrd image</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"args"</I
-></TT
-></DT
-><DD
-><P
->Kernel arguments string</P
-></DD
-><DT
->-m <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->Mount rdonly flags. If set to a non-zero value the
-root partition will be mounted read-only.</P
-></DD
-><DT
->-f <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->RAM disk flags. Should normally be 0x4000</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;device number&#62;</I
-></TT
-></DT
-><DD
-><P
->Root device specification. /dev/ram is 0x0101</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;type&#62;</I
-></TT
-></DT
-><DD
-><P
->Loader type</P
-></DD
-></DL
-></DIV
-><P
->Finally the kernel entry address can be specified as an optional
-argument. The default is 0x8c102000</P
-><P
->On the HS7729PCI, Linux expects to be loaded at address 0x8c101000 with
-the entry point at 0x8c102000. This is configurable in the kernel
-using the CONFIG_MEMORY_START option.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7462">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the HS7729PCI board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  Description
------------------------ -----------
-0x80000000 - 0x803fffff Flash (MBM29LV160)
-0x80400000 - 0x807fffff EPROM (M27C800)
-0x82000000 - 0x82ffffff SRAM
-0x89000000 - 0x89ffffff SRAM
-0x8c000000 - 0x8fffffff SDRAM
-0xa8000000 - 0xa800ffff SuperIO (FDC37C935A)
-0xa8400000 - 0xa87fffff USB function (ML60851C)
-0xa8800000 - 0xa8bfffff USB host (SL11HT)
-0xa8c00000 - 0xa8c3ffff Switches
-0xa8c40000 - 0xa8c7ffff LEDs
-0xa8c80000 - 0xa8cfffff Interrupt controller
-0xb0000000 - 0xb3ffffff PCI (SD0001)
-0xb8000000 - 0xbbffffff PCMCIA (MaruBun)</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7466">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=hs7729pci
-export ARCH_DIR=sh
-export PLATFORM_DIR=hs7729pci</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="se7709.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="se77x9.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SuperH/SH3(SH7709) Hitachi Solution Engine 7709</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/installation-and-testing.html b/doc/html/ref/installation-and-testing.html
deleted file mode 100644 (file)
index 7c0d73f..0000000
+++ /dev/null
@@ -1,1245 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Installation and Testing</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="Updating RedBoot"
-HREF="updating-redboot.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM7 ARM Evaluator7T"
-HREF="e7t.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="updating-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="e7t.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="INSTALLATION-AND-TESTING">Chapter 5. Installation and Testing</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="installation-and-testing.html#ASB2305"
->AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board</A
-></DT
-><DT
-><A
-HREF="e7t.html"
->ARM/ARM7 ARM Evaluator7T</A
-></DT
-><DT
-><A
-HREF="integrator.html"
->ARM/ARM7+ARM9 ARM Integrator</A
-></DT
-><DT
-><A
-HREF="pid.html"
->ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</A
-></DT
-><DT
-><A
-HREF="at91.html"
->ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</A
-></DT
-><DT
-><A
-HREF="edb7xxx.html"
->ARM/ARM7 Cirrus Logic EP7xxx (EDB7211, EDB7212, EDB7312)</A
-></DT
-><DT
-><A
-HREF="aaed2000.html"
->ARM/ARM9 Agilent AAED2000</A
-></DT
-><DT
-><A
-HREF="excaliburarm9.html"
->ARM/ARM9 Altera Excalibur</A
-></DT
-><DT
-><A
-HREF="ebsa285.html"
->ARM/StrongARM(SA110) Intel EBSA 285</A
-></DT
-><DT
-><A
-HREF="brutus.html"
->ARM/StrongARM(SA1100) Intel Brutus</A
-></DT
-><DT
-><A
-HREF="sa1100mm.html"
->ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board</A
-></DT
-><DT
-><A
-HREF="assabet.html"
->ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</A
-></DT
-><DT
-><A
-HREF="nano.html"
->ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</A
-></DT
-><DT
-><A
-HREF="ipaq.html"
->ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</A
-></DT
-><DT
-><A
-HREF="cerfcube.html"
->ARM/StrongARM(SA11X0) Intrinsyc CerfCube</A
-></DT
-><DT
-><A
-HREF="iq80310.html"
->ARM/Xscale Cyclone IQ80310</A
-></DT
-><DT
-><A
-HREF="iq80321.html"
->ARM/Xscale Intel IQ80321</A
-></DT
-><DT
-><A
-HREF="calmrisc16.html"
->CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</A
-></DT
-><DT
-><A
-HREF="calmrisc32.html"
->CalmRISC/CalmRISC32 Samsung CalmRISC32 Core Evaluation Board</A
-></DT
-><DT
-><A
-HREF="frv400.html"
->FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</A
-></DT
-><DT
-><A
-HREF="x86pc.html"
->IA32/x86 x86-Based PC</A
-></DT
-><DT
-><A
-HREF="atlas.html"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</A
-></DT
-><DT
-><A
-HREF="malta.html"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</A
-></DT
-><DT
-><A
-HREF="ocelot.html"
->MIPS/RM7000 PMC-Sierra Ocelot</A
-></DT
-><DT
-><A
-HREF="vrc4375.html"
->MIPS/VR4375 NEC DDB-VRC4375</A
-></DT
-><DT
-><A
-HREF="viper.html"
->PowerPC/MPC860T Analogue &#38; Micro PowerPC 860T</A
-></DT
-><DT
-><A
-HREF="mbx.html"
->PowerPC/MPC8XX Motorola MBX</A
-></DT
-><DT
-><A
-HREF="edk7708.html"
->SuperH/SH3(SH7708) Hitachi EDK7708</A
-></DT
-><DT
-><A
-HREF="se7709.html"
->SuperH/SH3(SH7709) Hitachi Solution Engine 7709</A
-></DT
-><DT
-><A
-HREF="hs7729pci.html"
->SuperH/SH3(SH7729) Hitachi HS7729PCI</A
-></DT
-><DT
-><A
-HREF="se77x9.html"
->SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</A
-></DT
-><DT
-><A
-HREF="se7751.html"
->SuperH/SH4(SH7751) Hitachi Solution Engine 7751</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ASB2305">AM3x/MN103E010 Matsushita MN103E010 (AM33/2.0) ASB2305 Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4839">Overview</H2
-><P
->&#13;
-RedBoot supports the debug serial port and the built in ethernet port for communication and
-downloads. The default serial port settings are 115200,8,N,1 with RTS/CTS flow control. RedBoot can
-run from either flash, and can support flash management for either the boot PROM or the system
-flash regions.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN4849"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->PROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the boot PROM and able to
-             access the system flash.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->FLASH</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the system flash and able to
-             access the boot PROM.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_FLASH.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM and able to access the
-             boot PROM.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4873">Initial Installation</H2
-><P
->Unless a pre-programmed system flash module is available to be plugged into a new board,
-RedBoot must be installed with the aid of a JTAG interface unit. To achieve this, the RAM mode
-RedBoot must be loaded directly into RAM by JTAG and started, and then <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->that</I
-></SPAN
->
-must be used to store the ROM mode RedBoot into the boot PROM.</P
-><P
->These instructions assume that you have binary images of the RAM-based and boot PROM-based
-RedBoot images available.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4878">Preparing to program the board</H3
-><P
->If the board is to be programmed, whether via JTAG or RedBoot, some hardware settings need to
-be changed:</P
-><P
-></P
-><UL
-><LI
-><P
->Jumper across ST18 on the board to allow write access to the boot PROM.</P
-></LI
-><LI
-><P
->Set DIP switch S1-3 to OFF to allow RedBoot to write to the system flash.</P
-></LI
-><LI
-><P
->Set the switch S5 (on the front of the board) to boot from whichever flash is
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> being programmed. Note that the RedBoot image cannot access the flash from
-which it is currently executing (it can only access the other flash).</P
-></LI
-></UL
-><P
->The RedBoot binary image files should also be copied to the TFTP pickup area on the host providing
-TFTP services if that is how RedBoot should pick up the images it is going to program into the
-flash. Alternatively, the images can be passed by YMODEM over the serial link.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4890">Preparing to use the JTAG debugger</H3
-><P
->The JTAG debugger will also need setting up:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Install the JTAG debugger software (WICE103E) on a PC running Windows (WinNT is
-probably the best choice for this) in &#8220;C:/PanaX&#8221;.</P
-></LI
-><LI
-><P
->Install the Matsushita provided &#8220;project&#8221; into the
-&#8220;C:/Panax/wice103e/prj&#8221; directory.</P
-></LI
-><LI
-><P
->Install the RedBoot image files into the &#8220;C:/Panax/wice103e/prj&#8221;
-directory under the names redboot.ram and redboot.prom.</P
-></LI
-><LI
-><P
->Make sure the PC's BIOS has the parallel port set to full bidirectional
-mode.</P
-></LI
-><LI
-><P
->Connect the JTAG debugger to the PC's parallel port.</P
-></LI
-><LI
-><P
->Connect the JTAG debugger to the board.</P
-></LI
-><LI
-><P
->Set the switch on the front of the board to boot from &#8220;boot
-PROM&#8221;.</P
-></LI
-><LI
-><P
->Power up the JTAG debugger and then power up the board.</P
-></LI
-><LI
-><P
->Connect the board's Debug Serial port to a computer by a null modem cable.</P
-></LI
-><LI
-><P
->Start minicom or some other serial communication software and set for 115200 baud,
-1-N-8 with hardware (RTS/CTS) flow control.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4914">Loading the RAM-based RedBoot via JTAG</H3
-><P
->To perform the first half of the operation, the following steps should be followed:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start the JTAG debugger software.</P
-></LI
-><LI
-><P
->Run the following commands at the JTAG debugger's prompt to set up the MMU registers on the
-CPU.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->ed 0xc0002000, 0x12000580</B
-></TT
->
-
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00100, 0x8000fe01</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00200, 0x21111000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00204, 0x00100200</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00208, 0x00000004</B
-></TT
->
-
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00110, 0x8400fe01</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00210, 0x21111000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00214, 0x00100200</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00218, 0x00000004</B
-></TT
->
-
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00120, 0x8600ff81</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00220, 0x21111000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00224, 0x00100200</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00228, 0x00000004</B
-></TT
->
-
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00130, 0x8680ff81</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00230, 0x21111000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00234, 0x00100200</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00238, 0x00000004</B
-></TT
->
-
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00140, 0x9800f801</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00240, 0x00140000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00244, 0x11011100</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xd8c00248, 0x01000001</B
-></TT
->
-
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xda000000, 0x55561645</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xda000004, 0x000003c0</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xda000008, 0x9000fe01</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xda00000c, 0x9200fe01</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ed 0xda000000, 0xa89b0654</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Run the following commands at the JTAG debugger's prompt to tell it what regions of the CPU's
-address space it can access:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->ex 0x80000000,0x81ffffff,/mexram</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ex 0x84000000,0x85ffffff,/mexram</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ex 0x86000000,0x867fffff,/mexram</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ex 0x86800000,0x87ffffff,/mexram</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ex 0x8c000000,0x8cffffff,/mexram</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->ex 0x90000000,0x93ffffff,/mexram</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Instruct the debugger to load the RAM RedBoot image into RAM:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->_pc=90000000</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->u_pc</B
-></TT
->
-<TT
-CLASS="USERINPUT"
-><B
->rd redboot.ram,90000000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Load the boot PROM RedBoot into RAM:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->rd redboot.prom,91020000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Start RedBoot in RAM:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="USERINPUT"
-><B
->g</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Note that RedBoot may take some time to start up, as it will attempt to query a BOOTP or DHCP
-server to try and automatically get an IP address for the board. Note, however, that it should send
-a plus over the serial port immediately, and the 7-segment LEDs should display &#8220;rh
-8&#8221;.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4973">Loading the boot PROM-based RedBoot via the RAM mode RedBoot</H3
-><P
->Once the RAM mode RedBoot is up and running, it can be communicated with by way of the serial
-port. Commands can now be entered directly to RedBoot for flashing the boot PROM.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Instruct RedBoot to initialise the boot PROM:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi init</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Write the previously loaded redboot.prom image into the boot PROM:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi write -f 0x80000000 -b 0x91020000 -l 0x00020000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Check that RedBoot has written the image:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->dump -b 0x91020000</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->dump -b 0x80000000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Barring the difference in address, the two dumps should be the same.</P
-></LI
-><LI
-><P
->Close the JTAG software and power-cycle the board. The RedBoot banners should be
-displayed again over the serial port, followed by the RedBoot prompt. The boot PROM-based RedBoot
-will now be running.</P
-></LI
-><LI
-><P
->Power off the board and unjumper ST18 to write-protect the contents of the boot
-PROM. Then power the board back up.</P
-></LI
-><LI
-><P
->Run the following command to initialise the system flash:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi init</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Then program the system flash based RedBoot into the system flash:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -r -b %{FREEMEMLO} redboot_FLASH.bin</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi write -f 0x84000000 -b %{FREEMEMLO} -l 0x00020000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->RedBoot arranges the flashes on booting such that they always appear at the same addresses,
-no matter which one was booted from.</P
-></BLOCKQUOTE
-></DIV
-></LI
-><LI
-><P
->A similar sequence of commands can be used to program the boot PROM when RedBoot has been
-booted from an image stored in the system flash.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -r -b %{FREEMEMLO} /tftpboot/redboot_ROM.bin</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi write -f 0x80000000 -b %{FREEMEMLO} -l 0x00020000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->See <A
-HREF="persistent-state-flash.html"
->the Section called <I
->Persistent State Flash-based Configuration and Control</I
-> in Chapter 2</A
-> for details on configuring the RedBoot in
-general, and also <A
-HREF="flash-image-system.html"
->the Section called <I
->Flash Image System (FIS)</I
-> in Chapter 2</A
-> for more details on programming the system
-flash.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5014">Additional Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading and execution of
-Linux kernels, is supported for this architecture (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The
-<B
-CLASS="COMMAND"
->exec</B
-> parameters used for ASB2305 board are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-w <TT
-CLASS="REPLACEABLE"
-><I
->&lt;time&#62;</I
-></TT
-></DT
-><DD
-><P
->Wait time in seconds before starting kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
-><TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Kernel entry point, defaulting to the entry point of the last image
-loaded</P
-></DD
-></DL
-></DIV
-><P
->The parameter string is stored in the on-chip memory at location 0x8C001000, and is prefixed
-by &#8220;cmdline:&#8221; if it was supplied.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5037">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the ASB2305 board.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The regions mapped between 0x80000000-0x9FFFFFFF are cached by the CPU. However, all those
-regions can be accessed uncached by adding 0x20000000 to the address.</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range   Description
------------------------  -----------
-0x80000000 - 0x9FFFFFFF  Cached Region
-0x80000000 - 0x81FFFFFF  Boot PROM
-0x84000000 - 0x85FFFFFF  System Flash
-0x86000000 - 0x86007FFF  64Kbit Sys Config EEPROM
-0x86F90000 - 0x86F90003  4x 7-segment LEDs
-0x86FA0000 - 0x86FA0003  Software DIP Switches
-0x86FB0000 - 0x86FB001F  PC16550 Debug Serial Port
-0x8C000000 - 0x8FFFFFFF  On-Chip Memory (repeated 16Kb SRAM)
-0x90000000 - 0x93FFFFFF  SDRAM
-0x98000000 - 0x9BFFFFFF  Paged PCI Memory Space (64Mb)
-0x9C000000 - 0x9DFFFFFF  PCI Local SRAM (32Mb)
-0x9E000000 - 0x9E03FFFF  PCI I/O Space
-0x9E040000 - 0x9E0400FF  AM33-PCI Bridge Registers
-0x9FFFFFF4 - 0x9FFFFFF7  PCI Memory Page Register
-0x9FFFFFF8 - 0x9FFFFFFF  PCI Config Registers
-0xA0000000 - 0xBFFFFFFF  Uncached Mirror Region
-0xC0000000 - 0xDFFFFFFF  CPU Control Registers</PRE
-></TD
-></TR
-></TABLE
-><P
->The ASB2305 HAL makes use of the on-chip memory in the following way:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->0x8C000000 - 0x8C0000FF  hal_vsr_table
-0x8C000100 - 0x8C0001FF  hal_virtual_vector_table
-0x8C001000 -             Linux command line (RedBoot exec command)
-           - 0x8C003FFF  Emergency DoubleFault Exception Stack</PRE
-></TD
-></TR
-></TABLE
-><P
->Currently the CPU's interrupt table lies at the beginning of the RedBoot image, which must
-therefore be aligned to a 0xFF000000 mask.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5047">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=asb2305
-export ARCH_DIR=mn10300
-export PLATFORM_DIR=asb2305</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="updating-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="e7t.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Updating RedBoot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM7 ARM Evaluator7T</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/installing-redboot.html b/doc/html/ref/installing-redboot.html
deleted file mode 100644 (file)
index 86f5e29..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Installing RedBoot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="NEXT"
-TITLE="User Interface"
-HREF="user-interface.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Getting Started with RedBoot</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-interface.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="INSTALLING-REDBOOT">Installing RedBoot</H1
-><P
->To install the RedBoot
-package, follow the procedures detailed in the accompanying README. </P
-><P
->Although there are other possible configurations, RedBoot is usually
-run from the target platform&#8217;s flash boot sector or boot ROM, and is
-designed to run when your system is initially powered on. The method used
-to install the RedBoot image into non-volatile storage varies from platform
-to platform. In general, it requires that the image be programmed into flash
-in situ or programmed into the flash or ROM using a device programmer. In
-some cases this will be done at manufacturing time; the platform being delivered
-with RedBoot already in place. In other cases, you will have to program RedBoot
-into the appropriate device(s) yourself. Installing to flash in situ may require
-special cabling or interface devices and software provided by the board manufacturer.
-The details of this installation process for a given platform will be found
-in Installation and Testing. Once installed, user-specific configuration options
-may be applied, using the <B
-CLASS="COMMAND"
->fconfig</B
-> command,
-providing that persistent data storage in flash is present in the relevant
-RedBoot version. See <A
-HREF="configuring-the-redboot-environment.html"
->the Section called <I
->Configuring the RedBoot Environment</I
-></A
->
-for details.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-interface.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Getting Started with RedBoot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->User Interface</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/integrator.html b/doc/html/ref/integrator.html
deleted file mode 100644 (file)
index c52dfb8..0000000
+++ /dev/null
@@ -1,493 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM7+ARM9 ARM Integrator</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM7 ARM Evaluator7T"
-HREF="e7t.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9"
-HREF="pid.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="e7t.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="pid.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="INTEGRATOR">ARM/ARM7+ARM9 ARM Integrator</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5130">Overview</H2
-><P
->RedBoot supports
-both serial ports for communication and downloads. The default serial port
-settings are 38400,8,N,1.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5140"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5164">Initial Installation</H2
-><P
->RedBoot is installed using the on-board bootPROM environment. See the user
-manual for full details.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5167">Quick download instructions</H2
-><P
->Here are quick start instructions for downloading the prebuilt Redboot
-image:</P
-><P
-></P
-><UL
-><LI
-><P
->Set DIP switch S1[1] to the ON position and reset or
-power the board up. You will see the bootPROM startup message on
-serial port A (J14):</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Initialising...
-
-
-ARM bootPROM [Version 1.3] Rebuilt on Jun 26 2001 at 22:04:10
-Running on a Integrator Evaluation Board
-Board Revision V1.0, ARM966E-S Processor
-Memory Size is 16MBytes, Flash Size is 32MBytes
-Copyright (c) ARM Limited 1999 - 2001. All rights reserved.
-Board designed by ARM Limited
-Hardware support provided at http://www.arm.com/
-For help on the available commands type ? or h
-boot Monitor &#62;</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Issue the FLASH ROM load command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->boot Monitor &#62; <TT
-CLASS="USERINPUT"
-><B
->L</B
-></TT
->
-Load Motorola S-Records into flash
-
-Deleting Image 0
-
-The S-Record loader only accepts input on the serial port.
-Type Ctrl/C to exit loader.</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Either use the ASCII transmit option in the terminal emulator,
-or on Linux, simply cat the file to the serial port:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot.srec &#62; /dev/ttyS0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->When complete, type Ctrl-C and you should see something similar to:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->................................
-................................
-....................
-Downloaded 5,394 records in 81 seconds.
-
-Overwritten block/s
-    0
-
-boot Monitor &#62;</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Set DIP switch S1[1] to the OFF position and reboot
-the board and you should see the RedBoot banner.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5186">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5189">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the Integrator board. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
->
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;ARM7TDMI
---------
-
-Physical Address Range  C B  Description
------------------------ - -  -----------
-0x00000000 - 0x0007ffff N N  SSRAM
-0x00080000 - 0x0fffffff N N  SDRAM (depends on part fitted)
-0x10000000 - 0x1fffffff N N  System control and peripheral registers
-0x20000000 - 0x23ffffff N N  Boot ROM (contains boot Monitor)
-0x24000000 - 0x27ffffff N N  FLASH ROM (contains RedBoot)
-0x28000000 - 0x2bffffff N N  SSRAM echo area
-0x40000000 - 0x5fffffff N N  PCI Memory access windows
-0x60000000 - 0x60ffffff N N  PCI IO access window
-0x61000000 - 0x61ffffff N N  PCI config space window
-0x62000000 - 0x6200ffff N N  PCI bridge register window
-0x80000000 - 0x8fffffff N N  SDRAM echo area (used for PCI accesses)
-
-
-ARM966E
--------
-
-Physical Address Range  C B  Description
------------------------ - -  -----------
-0x00000000 - 0x000fffff N N  SSRAM
-0x00100000 - 0x0fffffff N N  SDRAM (depends on part fitted)
-0x10000000 - 0x1fffffff N N  System control and peripheral registers
-0x20000000 - 0x23ffffff N N  Boot ROM (contains boot Monitor)
-0x24000000 - 0x27ffffff N N  FLASH ROM (contains RedBoot)
-0x28000000 - 0x2bffffff N N  SSRAM echo area
-0x40000000 - 0x5fffffff N N  PCI Memory access windows
-0x60000000 - 0x60ffffff N N  PCI IO access window
-0x61000000 - 0x61ffffff N N  PCI config space window
-0x62000000 - 0x6200ffff N N  PCI bridge register window
-0x80000000 - 0x8fffffff N N  SDRAM echo area (used for PCI accesses)&#13;</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5196">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=integrator
-export ARCH_DIR=arm
-export PLATFORM_DIR=integrator</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="e7t.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="pid.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM7 ARM Evaluator7T</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-eth-call-graph.html b/doc/html/ref/io-eth-call-graph.html
deleted file mode 100644 (file)
index 776596d..0000000
+++ /dev/null
@@ -1,404 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Calling graph for Transmission and Reception</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Generic Ethernet Device Driver"
-HREF="io-eth-drv-generic1.html"><LINK
-REL="PREVIOUS"
-TITLE="Upper Layer Functions"
-HREF="io-eth-drv-upper-api.html"><LINK
-REL="NEXT"
-TITLE="SNMP"
-HREF="net-snmp.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-upper-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 46. Generic Ethernet Device Driver</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IO-ETH-CALL-GRAPH">Calling graph for Transmission and Reception</H1
-><P
->It may be worth clarifying further the flow of control in the transmit and
-receive cases, where the hardware driver does use interrupts and so DSRs to
-tell the &#8220;foreground&#8221; when something asynchronous has occurred.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-CALL-GRAPH-TX">Transmission</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Some foreground task such as the application, SNMP &#8220;daemon&#8221;,
-DHCP management thread or whatever, calls into network stack to send a
-packet, or the stack decides to send a packet in response to incoming
-traffic such as a &#8220;ping&#8221; or <SPAN
-CLASS="ACRONYM"
->ARP</SPAN
-> request.</P
-></LI
-><LI
-><P
->The driver calls the
-<TT
-CLASS="FUNCTION"
-><TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_can_send()</TT
->
-function in the hardware driver.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
-><TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_can_send()</TT
->
-returns the number of available "slots" in which it
-can store a pending transmit packet.
-If it cannot send at this time, the packet is queued outside the
-hardware driver for later; in this case, the hardware is already busy
-transmitting, so expect an interrupt as described below for completion
-of the packet currently outgoing.</P
-></LI
-><LI
-><P
->If it can send right now, <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_send() is called.
-<TT
-CLASS="FUNCTION"
-><TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_send()</TT
-> copies the
-data into special hardware buffers, or instructs the hardware to
-&#8220;send that.&#8221; It also remembers the key that is associated with
-this tx request.</P
-></LI
-><LI
-><P
->These calls return &#8230; time passes &#8230;</P
-></LI
-><LI
-><P
->Asynchronously, the hardware makes an interrupt to say
-&#8220;transmit is done.&#8221;
-The ISR quietens the interrupt source in the hardware and
-requests that the associated DSR be run.</P
-></LI
-><LI
-><P
->The DSR calls (or <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->is</I
-></SPAN
->) the
-<TT
-CLASS="FUNCTION"
->eth_drv_dsr()</TT
-> function in the generic driver.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->eth_drv_dsr()</TT
-> in the generic driver awakens the
-&#8220;Network Delivery Thread&#8221; which calls the deliver function
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_deliver() in the driver.</P
-></LI
-><LI
-><P
->The deliver function realizes that a transmit request has completed,
-and calls the callback tx-done function
-<TT
-CLASS="FUNCTION"
->(sc-&#62;funs-&#62;eth_drv-&#62;tx_done)()</TT
->
-with the same key that it remembered for this tx.</P
-></LI
-><LI
-><P
->The callback tx-done function
-uses the key to find the resources associated with
-this transmit request; thus the stack knows that the transmit has
-completed and its resources can be freed.</P
-></LI
-><LI
-><P
->The callback tx-done function
-also enquires whether <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_can_send() now says
-&#8220;yes, we can send&#8221;
-and if so, dequeues a further transmit request
-which may have been queued as described above.  If so, then
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_send() copies the data into the hardware buffers, or
-instructs the hardware to "send that" and remembers the new key, as above.
-These calls then all return to the &#8220;Network Delivery Thread&#8221;
-which then sleeps, awaiting the next asynchronous event.</P
-></LI
-><LI
-><P
->All done &#8230;</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-CALL-GRAPH-RX">Receive</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Asynchronously, the hardware makes an interrupt to say
-&#8220;there is ready data in a receive buffer.&#8221;
-The ISR quietens the interrupt source in the hardware and
-requests that the associated DSR be run.</P
-></LI
-><LI
-><P
->The DSR calls (or <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->is</I
-></SPAN
->) the
-<TT
-CLASS="FUNCTION"
->eth_drv_dsr()</TT
-> function in the generic driver.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->eth_drv_dsr()</TT
-> in the generic driver awakens the
-&#8220;Network Delivery Thread&#8221; which calls the deliver function
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_deliver() in the driver.</P
-></LI
-><LI
-><P
->The deliver function realizes that there is data ready and calls
-the callback receive function
-<TT
-CLASS="FUNCTION"
->(sc-&#62;funs-&#62;eth_drv-&#62;recv)()</TT
->
-to tell it how many bytes to prepare for.</P
-></LI
-><LI
-><P
->The callback receive function allocates memory within the stack
-(eg. <SPAN
-CLASS="TYPE"
->MBUFs</SPAN
-> in BSD/Unix style stacks) and prepares
-a set of scatter-gather buffers that can
-accommodate the packet.</P
-></LI
-><LI
-><P
->It then calls back into the hardware driver routine
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_recv().
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_recv() must copy the data from the
-hardware's buffers into the scatter-gather buffers provided, and return.</P
-></LI
-><LI
-><P
->The network stack now has the data in-hand, and does with it what it will.
-This might include recursive calls to transmit a response packet.
-When this all is done, these calls return, and the
-&#8220;Network Delivery Thread&#8221;
-sleeps once more, awaiting the next asynchronous event.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-eth-drv-upper-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Upper Layer Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SNMP</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-eth-drv-api-funcs.html b/doc/html/ref/io-eth-drv-api-funcs.html
deleted file mode 100644 (file)
index 39983e4..0000000
+++ /dev/null
@@ -1,942 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Review of the functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Generic Ethernet Device Driver"
-HREF="io-eth-drv-generic1.html"><LINK
-REL="PREVIOUS"
-TITLE="Generic Ethernet Device Driver"
-HREF="io-eth-drv-generic1.html"><LINK
-REL="NEXT"
-TITLE="Upper Layer Functions"
-HREF="io-eth-drv-upper-api.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 46. Generic Ethernet Device Driver</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-upper-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IO-ETH-DRV-API-FUNCS">Review of the functions</H1
-><P
->Now a brief review of the functions.  This discussion will use generic
-names for the functions &#8212; your driver should use hardware-specific
-names to maintain uniqueness against any other drivers.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-INIT">Init function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static bool <TT
-CLASS="REPLACEABLE"
-><I
->DRV_HDWR</I
-></TT
->_init(struct cyg_netdevtab_entry *tab)</PRE
-></TD
-></TR
-></TABLE
->
-This function is called as part of system initialization.  Its primary
-function is to decide if the hardware (as indicated via
-<SPAN
-CLASS="TYPE"
->tab-&gt;device_instance</SPAN
->)
-is working and if the interface needs to be made
-available in the system.  If this is the case, this function needs to
-finish with a call to the ethernet driver function:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    struct eth_drv_sc *sc = (struct eth_drv_sc *)tab-&#62;device_instance;
-    <TT
-CLASS="REPLACEABLE"
-><I
->....initialization code....</I
-></TT
->
-    // Initialize upper level driver
-    (sc-&gt;funs-&gt;eth_drv-&gt;init)( sc, unsigned char *enaddr );</PRE
-></TD
-></TR
-></TABLE
->
-where <TT
-CLASS="PARAMETER"
-><I
->enaddr</I
-></TT
->
-is a pointer to the ethernet station address for this unit, to inform
-the stack of this device's readiness and availability.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The ethernet station address
-(<SPAN
-CLASS="ACRONYM"
->ESA</SPAN
->)
-is supposed to be a
-world-unique, 48 bit address for this particular ethernet interface.
-Typically it is provided by the board/hardware manufacturer in ROM.</P
-><P
->In many packages it is possible for the
-<SPAN
-CLASS="ACRONYM"
->ESA</SPAN
->
-to be set from RedBoot,
-(perhaps from 'fconfig' data), hard-coded from
-<SPAN
-CLASS="ACRONYM"
->CDL</SPAN
->, or from an <SPAN
-CLASS="ACRONYM"
->EPROM</SPAN
->.
-A driver should choose a run-time specified
-<SPAN
-CLASS="ACRONYM"
->ESA</SPAN
->
-(e.g. from RedBoot)
-preferentially, otherwise (in order) it should use a <SPAN
-CLASS="ACRONYM"
->CDL</SPAN
-> specified
-<SPAN
-CLASS="ACRONYM"
->ESA</SPAN
->
-if one has been set, otherwise an <SPAN
-CLASS="ACRONYM"
->EPROM</SPAN
-> set
-<SPAN
-CLASS="ACRONYM"
->ESA</SPAN
->, or otherwise
-fail. See the <TT
-CLASS="FILENAME"
->cl/cs8900a</TT
->
-ethernet driver for an example.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-START">Start function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_start(struct eth_drv_sc *sc, unsigned char *enaddr, int flags)</PRE
-></TD
-></TR
-></TABLE
->
-This function is called, perhaps much later than system initialization
-time, when the system (an application) is ready for the interface to
-become active.  The purpose of this function is to set up the hardware
-interface to start accepting packets from the network and be able to
-send packets out.  The receiver hardware should not be enabled prior to
-this call.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->This function will be called whenever the
-up/down state of the logical interface changes, e.g. when the IP address
-changes, or when promiscuous mode is selected by means of an
-<TT
-CLASS="FUNCTION"
->ioctl()</TT
-> call in the application.
-This may occur more than once, so this function needs to
-be prepared for that case.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In future, the <TT
-CLASS="PARAMETER"
-><I
->flags</I
-></TT
->
-field (currently unused) may be used to tell the
-function how to start up, e.g. whether interrupts will be used,
-alternate means of selecting promiscuous mode etc.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-STOP">Stop function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_stop(struct eth_drv_sc *sc)</PRE
-></TD
-></TR
-></TABLE
->
-This function is the inverse of &#8220;start.&#8221;
-It should shut down the hardware, disable the receiver, and keep it from
-interacting with the physical network.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-CONTROL">Control function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static int
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_control(
-       struct eth_drv_sc *sc, unsigned long key,
-       void *data, int len)</PRE
-></TD
-></TR
-></TABLE
->
-This function is used to perform low-level &#8220;control&#8221;
-operations on the
-interface.  These operations would typically be initiated via
-<TT
-CLASS="FUNCTION"
->ioctl()</TT
-> calls in the BSD
-stack, and would be anything that might require the hardware setup to
-change (i.e. cannot be performed totally by the
-platform-independent layers).</P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
-> parameter selects the operation, and the
-<TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
-> params point describe,
-as required, some data for the operation in question.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><P
-><B
->Available Operations:</B
-></P
-><DL
-><DT
->ETH_DRV_SET_MAC_ADDRESS</DT
-><DD
-><P
->This operation sets the ethernet station address (ESA or MAC) for the
-device.  Normally this address is kept in non-volatile memory and is
-unique in the world.  This function must at least set the interface to
-use the new address.  It may also update the NVM as appropriate.</P
-></DD
-><DT
->ETH_DRV_GET_IF_STATS_UD, ETH_DRV_GET_IF_STATS</DT
-><DD
-><P
->These acquire a set of statistical counters from the interface, and write
-the information into the memory pointed to by <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->.
-The &#8220;UD&#8221; variant explicitly instructs the driver to acquire
-up-to-date values.  This is a separate option because doing so may take
-some time, depending on the hardware.</P
-><P
->The definition of the data structure is in
-<TT
-CLASS="FILENAME"
->cyg/io/eth/eth_drv_stats.h</TT
->.</P
-><P
->This call is typically made by SNMP, see <A
-HREF="net-snmp-ecos-port.html"
->Chapter 47</A
->.</P
-></DD
-><DT
->ETH_DRV_SET_MC_LIST</DT
-><DD
-><P
->This entry instructs the device to set up multicast packet filtering
-to receive only packets addressed to the multicast ESAs in the list pointed
-to by <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->.</P
-><P
->The format of the data is a 32-bit count of the ESAs in the list, followed
-by packed bytes which are the ESAs themselves, thus:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define ETH_DRV_MAX_MC 8
-struct eth_drv_mc_list {
-    int len;
-    unsigned char addrs[ETH_DRV_MAX_MC][ETHER_ADDR_LEN];
-};</PRE
-></TD
-></TR
-></TABLE
-></P
-></DD
-><DT
->ETH_DRV_SET_MC_ALL</DT
-><DD
-><P
->This entry instructs the device to receive all multicast packets, and
-delete any explicit filtering which had been set up.</P
-></DD
-></DL
-></DIV
-><P
->This function should return zero if the specified operation was
-completed successfully.  It should return non-zero if the operation
-could not be performed, for any reason.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-CAN-SEND">Can-send function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static int <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_can_send(struct eth_drv_sc *sc)</PRE
-></TD
-></TR
-></TABLE
->
-This function is called to determine if it is possible to start the
-transmission of a packet on the interface.  Some interfaces will allow
-multiple packets to be "queued" and this function allows for the highest
-possible utilization of that mode.</P
-><P
->Return the number of packets which could be accepted at this time, zero
-implies that the interface is saturated/busy.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-SEND">Send function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct eth_drv_sg {
-    CYG_ADDRESS  buf;
-    CYG_ADDRWORD len;
-};
-
-static void
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_send(
-       struct eth_drv_sc *sc,
-       struct eth_drv_sg *sg_list, int sg_len,
-        int total_len, unsigned long key)</PRE
-></TD
-></TR
-></TABLE
->
-This function is used to send a packet of data to the network.  It is
-the responsibility of this function to somehow hand the data over to the
-hardware interface.  This will most likely require copying, but just the
-address/length values could be used by smart hardware.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->All data in/out of the driver is specified via a
-&#8220;scatter-gather&#8221;
-list.  This is just an array of address/length pairs which describe
-sections of data to move (in the order given by the array), as in the
-<SPAN
-CLASS="TYPE"
->struct eth_drv_sg</SPAN
-> defined above and pointed to by
-<TT
-CLASS="PARAMETER"
-><I
->sg_list</I
-></TT
->.</P
-></BLOCKQUOTE
-></DIV
-><P
->Once the data has been successfully sent by the interface (or if an
-error occurs), the driver should call
-<TT
-CLASS="FUNCTION"
->(sc-&#62;funs-&#62;eth_drv-&#62;tx_done)()</TT
->
-(see <A
-HREF="io-eth-drv-upper-api.html#IO-ETH-DRV-TX-DONE"
->the Section called <I
->Callback Tx-Done function</I
-></A
->)
-using the specified <TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
->.
-Only then will the upper layers release the resources
-for that packet and start another transmission.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In future, this function may be extended so that the data need not be
-copied by having the function return a &#8220;disposition&#8221; code
-(done, send pending, etc).  At this point, you should move the data to some
-&#8220;safe&#8221; location before returning.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-DELIVER">Deliver function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_deliver(struct eth_drv_sc *sc)</PRE
-></TD
-></TR
-></TABLE
->
-This function is called from the &#8220;Network Delivery Thread&#8221; in
-order to let the device driver do the time-consuming work associated with
-receiving a packet &#8212; usually copying the entire packet from the
-hardware or a special memory location into the network stack's memory.</P
-><P
->After handling any outstanding incoming packets or pending transmission
-status, it can unmask the device's interrupts, and free any relevant
-resources so it can process further packets.</P
-><P
->It will be called when the interrupt handler for the network device
-has called
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    eth_drv_dsr( vector, count, (cyg_addrword_t)sc );</PRE
-></TD
-></TR
-></TABLE
->
-to alert the system that &#8220;something requires attention.&#8221;
-This <TT
-CLASS="FUNCTION"
->eth_drv_dsr()</TT
-> call must occur from within the
-interrupt handler's DSR (not the ISR) or actually <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->be</I
-></SPAN
->
-the DSR, whenever it is determined that
-the device needs attention from the foreground.  The third parameter
-(<TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> in the prototype of
-<TT
-CLASS="FUNCTION"
->eth_drv_dsr()</TT
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->must</I
-></SPAN
->
-be a valid <SPAN
-CLASS="TYPE"
->struct eth_drv_sc</SPAN
-> pointer <TT
-CLASS="VARNAME"
->sc</TT
->.</P
-><P
->The reason for this slightly convoluted train of events is to keep the DSR
-(and ISR) execution time as short as possible, so that other activities of
-higher priority than network servicing are not denied the CPU by network
-traffic.</P
-><P
->To deliver a newly-received packet into the network stack, the deliver
-routine must call
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(sc-&#62;funs-&#62;eth_drv-&#62;recv)(sc, len);</PRE
-></TD
-></TR
-></TABLE
->
-which will in turn call the receive function, which we talk about next.
-See also <A
-HREF="io-eth-drv-upper-api.html#IO-ETH-DRV-UPPER-RECV"
->the Section called <I
->Callback Receive function</I
-></A
-> below.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-RECV">Receive function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_recv(
-       struct eth_drv_sc *sc,
-       struct eth_drv_sg *sg_list, int sg_len)</PRE
-></TD
-></TR
-></TABLE
->
-This function is a call back, only invoked after the
-upper-level function
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(sc-&#62;funs-&#62;eth_drv-&#62;recv)(struct eth_drv_sc *sc, int total_len)</PRE
-></TD
-></TR
-></TABLE
->
-has been called itself from your deliver function when it knows that a
-packet of data is available on the
-interface.  The <TT
-CLASS="FUNCTION"
->(sc-&#62;funs-&#62;eth_drv-&#62;recv)()</TT
->
-function then arranges network buffers
-and structures for the data and then calls
-<TT
-CLASS="FUNCTION"
-><TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_recv()</TT
-> to actually
-move the data from the interface.</P
-><P
->A scatter-gather list (<SPAN
-CLASS="TYPE"
->struct eth_drv_sg</SPAN
->) is used once more,
-just like in the send case.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-POLL">Poll function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_poll(struct eth_drv_sc *sc)</PRE
-></TD
-></TR
-></TABLE
->
-This function is used when in a non-interrupt driven system, e.g. when
-interrupts are completely disabled. This allows the driver time to check
-whether anything needs doing either for transmission, or to check if
-anything has been received, or if any other processing needs doing.</P
-><P
->It is perfectly correct and acceptable for the poll function to look like
-this:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_poll(struct eth_drv_sc *sc)
-{
-   <TT
-CLASS="REPLACEABLE"
-><I
->my_interrupt_ISR</I
-></TT
->(sc);
-   <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_deliver(struct eth_drv_sc *sc);
-}</PRE
-></TD
-></TR
-></TABLE
->
-provided that both the ISR and the deliver functions are idempotent and
-harmless if called when there is no attention needed by the hardware.  Some
-devices might not need a call to the ISR here if the deliver function
-contains all the &#8220;intelligence.&#8221;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-API-INT-VECTOR">Interrupt-vector function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static int
-<TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_int_vector(struct eth_drv_sc *sc)</PRE
-></TD
-></TR
-></TABLE
->
-This function returns the interrupt vector number used for receive
-interrupts.
-This is so that the common GDB stubs can detect when to check
-for incoming &#8220;CTRL-C&#8221; packets (used to asynchronously
-halt the application) when debugging over ethernet.
-The GDB stubs need to know which interrupt the ethernet device uses
-so that they can mask or unmask that interrupt as required.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-eth-drv-upper-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Generic Ethernet Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Upper Layer Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-eth-drv-generic.html b/doc/html/ref/io-eth-drv-generic.html
deleted file mode 100644 (file)
index 51a703d..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Ethernet Device Drivers</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="DNS"
-HREF="net-ns-dns-api.html"><LINK
-REL="NEXT"
-TITLE="Generic Ethernet Device Driver"
-HREF="io-eth-drv-generic1.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-ns-dns-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="IO-ETH-DRV-GENERIC"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XIV. Ethernet Device Drivers</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->46. <A
-HREF="io-eth-drv-generic1.html"
->Generic Ethernet Device Driver</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-ns-dns-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->DNS</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Generic Ethernet Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-eth-drv-generic1.html b/doc/html/ref/io-eth-drv-generic1.html
deleted file mode 100644 (file)
index 2177b00..0000000
+++ /dev/null
@@ -1,575 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Generic Ethernet Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Ethernet Device Drivers"
-HREF="io-eth-drv-generic.html"><LINK
-REL="PREVIOUS"
-TITLE="Ethernet Device Drivers"
-HREF="io-eth-drv-generic.html"><LINK
-REL="NEXT"
-TITLE="Review of the functions"
-HREF="io-eth-drv-api-funcs.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-generic.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-api-funcs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="IO-ETH-DRV-GENERIC1">Chapter 46. Generic Ethernet Device Driver</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="io-eth-drv-generic1.html#IO-ETH-DRV-API"
->Generic Ethernet API</A
-></DT
-><DT
-><A
-HREF="io-eth-drv-api-funcs.html"
->Review of the functions</A
-></DT
-><DT
-><A
-HREF="io-eth-drv-upper-api.html"
->Upper Layer Functions</A
-></DT
-><DT
-><A
-HREF="io-eth-call-graph.html"
->Calling graph for Transmission and Reception</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IO-ETH-DRV-API">Generic Ethernet API</H1
-><P
->This file provides a simple description of how to write a low-level,
-hardware dependent ethernet driver.</P
-><P
->There is a high-level driver (which is only code &#8212; with no state of
-its own) that is part of the stack.  There will be one or more low-level
-drivers tied to the actual network hardware.  Each of these drivers
-contains one or more driver instances.  The intent is that the
-low-level drivers know nothing of the details of the stack that will be
-using them.  Thus, the same driver can be used by the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-supported
-<SPAN
-CLASS="ACRONYM"
->TCP/IP</SPAN
->
-stack,
-<SPAN
-CLASS="PRODUCTNAME"
->RedBoot</SPAN
->,
-or any other, with no changes.</P
-><P
->A driver instance is contained within a
-<SPAN
-CLASS="TYPE"
->struct eth_drv_sc</SPAN
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct eth_hwr_funs {
-    // Initialize hardware (including startup)
-    void (*start)(struct eth_drv_sc *sc,
-                  unsigned char *enaddr,
-                  int flags);
-    // Shut down hardware
-    void (*stop)(struct eth_drv_sc *sc);
-    // Device control (ioctl pass-thru)
-    int  (*control)(struct eth_drv_sc *sc,
-                    unsigned long key,
-                    void *data,
-                    int   data_length);
-    // Query - can a packet be sent?
-    int  (*can_send)(struct eth_drv_sc *sc);
-    // Send a packet of data
-    void (*send)(struct eth_drv_sc *sc,
-                 struct eth_drv_sg *sg_list,
-                 int sg_len,
-                 int total_len,
-                 unsigned long key);
-    // Receive [unload] a packet of data
-    void (*recv)(struct eth_drv_sc *sc,
-                 struct eth_drv_sg *sg_list,
-                 int sg_len);
-    // Deliver data to/from device from/to stack memory space
-    // (moves lots of memcpy()s out of DSRs into thread)
-    void (*deliver)(struct eth_drv_sc *sc);
-    // Poll for interrupts/device service
-    void (*poll)(struct eth_drv_sc *sc);
-    // Get interrupt information from hardware driver
-    int (*int_vector)(struct eth_drv_sc *sc);
-    // Logical driver interface
-    struct eth_drv_funs *eth_drv, *eth_drv_old;
-};
-
-struct eth_drv_sc {
-    struct eth_hwr_funs *funs;
-    void                *driver_private;
-    const char          *dev_name;
-    int                  state;
-    struct arpcom        sc_arpcom; /* ethernet common */
-};</PRE
-></TD
-></TR
-></TABLE
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If you have two instances of the same hardware, you only need one
-<SPAN
-CLASS="TYPE"
->struct eth_hwr_funs</SPAN
-> shared between them.</P
-></BLOCKQUOTE
-></DIV
-><P
->There is another structure which is used to communicate with the rest of
-the stack:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct eth_drv_funs {
-    // Logical driver - initialization
-    void (*init)(struct eth_drv_sc *sc, 
-                 unsigned char *enaddr);
-    // Logical driver - incoming packet notifier
-    void (*recv)(struct eth_drv_sc *sc, 
-                 int total_len);
-    // Logical driver - outgoing packet notifier
-    void (*tx_done)(struct eth_drv_sc *sc, 
-                    CYG_ADDRESS key, 
-                    int status);
-};</PRE
-></TD
-></TR
-></TABLE
->
-Your driver does <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> create an instance of this
-structure.  It is provided for driver code to use in the
-<SPAN
-CLASS="TYPE"
->eth_drv</SPAN
-> member of the function record.
-Its usage is described below in <A
-HREF="io-eth-drv-upper-api.html"
->the Section called <I
->Upper Layer Functions</I
-></A
-></P
-><P
->One more function completes the API with which your driver communicates
-with the rest of the stack:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->extern void eth_drv_dsr(cyg_vector_t vector,
-                        cyg_ucount32 count,
-                        cyg_addrword_t data);</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->This function is designed so that it can be registered as the DSR for your
-interrupt handler.  It will awaken the
-&#8220;Network Delivery Thread&#8221;
-to call your deliver routine.  See <A
-HREF="io-eth-drv-api-funcs.html#IO-ETH-DRV-API-DELIVER"
->the Section called <I
->Deliver function</I
-></A
->.</P
-><P
->You create an instance of <SPAN
-CLASS="TYPE"
->struct eth_drv_sc</SPAN
->
-using the
-<TT
-CLASS="FUNCTION"
->ETH_DRV_SC()</TT
->
-macro which
-sets up the structure, including the prototypes for the functions, etc.
-By doing things this way, if the internal design of the ethernet drivers
-changes (e.g. we need to add a new low-level implementation function),
-existing drivers will no longer compile until updated.  This is much
-better than to have all of the definitions in the low-level drivers
-themselves and have them be (quietly) broken if the interfaces change.</P
-><P
->The &#8220;magic&#8221;
-which gets the drivers started (and indeed, linked) is
-similar to what is used for the I/O subsystem.
-This is done using the
-<TT
-CLASS="FUNCTION"
->NETDEVTAB_ENTRY()</TT
->
-macro, which defines an initialization function
-and the basic data structures for the low-level driver.</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  typedef struct cyg_netdevtab_entry {
-      const char        *name;
-      bool             (*init)(struct cyg_netdevtab_entry *tab);
-      void              *device_instance;
-      unsigned long     status;
-  } cyg_netdevtab_entry_t;</PRE
-></TD
-></TR
-></TABLE
->
-The <TT
-CLASS="VARNAME"
->device_instance</TT
->
-entry here would point to the <SPAN
-CLASS="TYPE"
->struct eth_drv_sc</SPAN
->
-entry previously defined.  This allows the network driver
-setup to work with any class of driver, not just ethernet drivers.  In
-the future, there will surely be serial <SPAN
-CLASS="ACRONYM"
->PPP</SPAN
->
-drivers, etc.  These will
-use the <TT
-CLASS="FUNCTION"
->NETDEVTAB_ENTRY()</TT
->
-setup to create the basic driver, but they will
-most likely be built on top of other high-level device driver layers.</P
-><P
->To instantiate itself, and connect it to the system,
-a hardware driver will have a template
-(boilerplate) which looks something like this:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;cyg/infra/cyg_type.h&gt;
-#include &lt;cyg/hal/hal_arch.h&gt;
-#include &lt;cyg/infra/diag.h&gt;
-#include &lt;cyg/hal/drv_api.h&gt;
-#include &lt;cyg/io/eth/netdev.h&gt;
-#include &lt;cyg/io/eth/eth_drv.h&gt;
-
-ETH_DRV_SC(<TT
-CLASS="REPLACEABLE"
-><I
->DRV</I
-></TT
->_sc,
-           0,             // No driver specific data needed
-           "eth0",        // Name for this interface
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_start,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_stop,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_control,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_can_send
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_send,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_recv,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_deliver,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_poll,
-           <TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_int_vector
-);
-
-NETDEVTAB_ENTRY(<TT
-CLASS="REPLACEABLE"
-><I
->DRV</I
-></TT
->_netdev, 
-                "<TT
-CLASS="REPLACEABLE"
-><I
->DRV</I
-></TT
->", 
-                <TT
-CLASS="REPLACEABLE"
-><I
->DRV_HRDWR</I
-></TT
->_init, 
-                &amp;<TT
-CLASS="REPLACEABLE"
-><I
->DRV</I
-></TT
->_sc);</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->This, along with the referenced functions, completely define the driver.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If one needed the same low-level driver to handle
-multiple similar hardware interfaces, you would need multiple invocations
-of the
-<TT
-CLASS="FUNCTION"
->ETH_DRV_SC()</TT
->/<TT
-CLASS="FUNCTION"
->NETDEVTAB_ENTRY()</TT
->
-macros.  You would add a pointer
-to some instance specific data, e.g. containing base addresses, interrupt
-numbers, etc, where the
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      0, // No driver specific data</PRE
-></TD
-></TR
-></TABLE
->
-is currently.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-eth-drv-api-funcs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Ethernet Device Drivers</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Review of the functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-eth-drv-upper-api.html b/doc/html/ref/io-eth-drv-upper-api.html
deleted file mode 100644 (file)
index 05eef29..0000000
+++ /dev/null
@@ -1,326 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Upper Layer Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Generic Ethernet Device Driver"
-HREF="io-eth-drv-generic1.html"><LINK
-REL="PREVIOUS"
-TITLE="Review of the functions"
-HREF="io-eth-drv-api-funcs.html"><LINK
-REL="NEXT"
-TITLE="Calling graph for Transmission and Reception"
-HREF="io-eth-call-graph.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-api-funcs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 46. Generic Ethernet Device Driver</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-eth-call-graph.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IO-ETH-DRV-UPPER-API">Upper Layer Functions</H1
-><P
->Upper layer functions are called by drivers to deliver received packets
-or transmission completion status back up into the network stack.</P
-><P
->These functions are defined by the hardware independent upper layers of
-the networking driver support.  They are present to hide the interfaces
-to the actual networking stack so that the hardware drivers may
-be used by different network stack implementations without change.</P
-><P
->These functions require a pointer to a <SPAN
-CLASS="TYPE"
->struct eth_drv_sc</SPAN
->
-which describes the interface at a logical level.  It is assumed that the
-low level hardware driver will keep track of this pointer so
-it may be passed &#8220;up&#8221; as appropriate.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-UPPER-INIT">Callback Init function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void (sc-&#62;funs-&#62;eth_drv-&#62;init)(
-               struct eth_drv_sc *sc, unsigned char *enaddr)</PRE
-></TD
-></TR
-></TABLE
->
-This function establishes the device at initialization time.
-It should be called once per device instance only, from the
-initialization function, if all is well
-(see <A
-HREF="io-eth-drv-api-funcs.html#IO-ETH-DRV-API-INIT"
->the Section called <I
->Init function</I
-></A
->).
-The hardware should be totally initialized
-(<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> &#8220;started&#8221;)
-when this function is called.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-TX-DONE">Callback Tx-Done function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void (sc-&#62;funs-&#62;eth_drv-&#62;tx_done)(
-               struct eth_drv_sc *sc,
-               unsigned long key, int status)</PRE
-></TD
-></TR
-></TABLE
->
-This function is called when a packet completes transmission on the
-interface.  The <TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
->
-value must be one of the keys provided to
-<TT
-CLASS="FUNCTION"
-><TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_send()</TT
->
-above.  The value <TT
-CLASS="PARAMETER"
-><I
->status</I
-></TT
-> should be non-zero
-(details currently undefined) to indicate that an error occurred during the
-transmission, and zero if all was well.</P
-><P
->It should be called from the deliver function
-(see <A
-HREF="io-eth-drv-api-funcs.html#IO-ETH-DRV-API-DELIVER"
->the Section called <I
->Deliver function</I
-></A
->)
-or poll function
-(see <A
-HREF="io-eth-drv-api-funcs.html#IO-ETH-DRV-API-POLL"
->the Section called <I
->Poll function</I
-></A
->).</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="IO-ETH-DRV-UPPER-RECV">Callback Receive function</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void (sc-&#62;funs-&#62;eth_drv-&#62;recv)(struct eth_drv_sc *sc, int len)</PRE
-></TD
-></TR
-></TABLE
->
-This function is called to indicate that a packet of length
-<TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
-> has
-arrived at the interface.
-The callback
-<TT
-CLASS="FUNCTION"
-><TT
-CLASS="REPLACEABLE"
-><I
->HRDWR</I
-></TT
->_recv()</TT
-> function
-described above will be used to actually unload the data from the
-interface into buffers used by the device independent layers.</P
-><P
->It should be called from the deliver function
-(see <A
-HREF="io-eth-drv-api-funcs.html#IO-ETH-DRV-API-DELIVER"
->the Section called <I
->Deliver function</I
-></A
->)
-or poll function
-(see <A
-HREF="io-eth-drv-api-funcs.html#IO-ETH-DRV-API-POLL"
->the Section called <I
->Poll function</I
-></A
->).</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-eth-drv-api-funcs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-eth-call-graph.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Review of the functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic1.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Calling graph for Transmission and Reception</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-how-to-write-a-driver.html b/doc/html/ref/io-how-to-write-a-driver.html
deleted file mode 100644 (file)
index 82be9e4..0000000
+++ /dev/null
@@ -1,1154 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->How to Write a Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"><LINK
-REL="PREVIOUS"
-TITLE=" TTY driver"
-HREF="io-tty-driver.html"><LINK
-REL="NEXT"
-TITLE="Serial testing with ser_filter"
-HREF="io-serial-testing-with-serfilter.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-tty-driver.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-serial-testing-with-serfilter.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="IO-HOW-TO-WRITE-A-DRIVER">Chapter 17. How to Write a Driver</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="io-how-to-write-a-driver.html#IO-HOW-TO-WRITE-SERIAL-INTERFACE-DRIVER"
->How to Write a Serial Hardware Interface Driver</A
-></DT
-><DT
-><A
-HREF="io-serial-testing-with-serfilter.html"
->Serial testing with ser_filter</A
-></DT
-></DL
-></DIV
-><P
->A device driver is nothing more than a
-named entity that supports the basic I/O functions - read, write, get
-config, and set config. Typically a device driver also uses and
-manages interrupts from the device. While the interface is generic and
-device driver independent, the actual driver implementation is
-completely up to the device driver designer. </P
-><P
->That said, the reason for using a device driver is to provide
-access to a device from application code in as general purpose a
-fashion as reasonable. Most driver writers are also concerned with
-making this access as simple as possible while being as efficient
-as possible. </P
-><P
->Most device drivers are concerned with the movement of information,
-for example data bytes along a serial interface, or packets in a
-network. In order to make the most efficient use of system resources,
-interrupts are used. This will allow other application processing
-to take place while the data transfers are under way, with interrupts
-used to indicate when various events have occurred. For example,
-a serial port typically generates an interrupt after a character
-has been sent &#8220;down the wire&#8221; and the interface
-is ready for another. It makes sense to allow further application
-processing while the data is being sent since this can take quite
-a long time. The interrupt can be used to allow the driver to send
-a character as soon as the current one is complete, without any
-active participation by the application code. </P
-><P
->The main building blocks for device drivers are found in the
-include file: <TT
-CLASS="FILENAME"
->&lt;cyg/io/devtab.h&gt;</TT
-></P
-><P
->All device drivers in <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> are described
-by a device table entry, using the <SPAN
-CLASS="TYPE"
->cyg_devtab_entry_t</SPAN
-> type.
-The entry should be created using the <TT
-CLASS="FUNCTION"
->DEVTAB_ENTRY()</TT
-> macro,
-like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><TT
-CLASS="FUNCTION"
->DEVTAB_ENTRY</TT
->(l, name, dep_name, handlers, init, lookup, priv)</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><P
-><B
->Arguments</B
-></P
-><DL
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->l</I
-></TT
-></DT
-><DD
-><P
->The "C" label for this device table entry.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
-></DT
-><DD
-><P
->The "C" string name for the device.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->dep_name</I
-></TT
-></DT
-><DD
-><P
->For a layered device, the "C" string name of the
-    device this device is built upon.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->handlers</I
-></TT
-></DT
-><DD
-><P
->A pointer to the I/O function "handlers" (see below).</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->init</I
-></TT
-></DT
-><DD
-><P
->A function called when eCos is initialized. This
-    function can query the device, setup hardware, etc.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->lookup</I
-></TT
-></DT
-><DD
-><P
->A function called when <TT
-CLASS="FUNCTION"
->cyg_io_lookup()</TT
-> is called
-    for this device. </P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->priv</I
-></TT
-></DT
-><DD
-><P
->A placeholder for any device specific data
-    required by the driver.</P
-></DD
-></DL
-></DIV
-><P
->The interface to the driver is through the <TT
-CLASS="STRUCTFIELD"
-><I
->handlers</I
-></TT
-> field.  This is a pointer to
-a set of functions which implement the various <TT
-CLASS="FUNCTION"
->cyg_io_XXX()</TT
->
-routines. This table is defined by the macro:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->DEVIO_TABLE(l, write, read, get_config, set_config)</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><P
-><B
->Arguments</B
-></P
-><DL
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->l</I
-></TT
-></DT
-><DD
-><P
->The "C" label for this table of handlers.</P
-></DD
-><DT
->write</DT
-><DD
-><P
->The function called as a result of
-    <TT
-CLASS="FUNCTION"
->cyg_io_write()</TT
->.</P
-></DD
-><DT
->read</DT
-><DD
-><P
->The function called as a result of
-    <TT
-CLASS="FUNCTION"
->cyg_io_read()</TT
->. </P
-></DD
-><DT
->get_config</DT
-><DD
-><P
->The function called as a result of
-    <TT
-CLASS="FUNCTION"
->cyg_io_get_config()</TT
->.</P
-></DD
-><DT
->set_config</DT
-><DD
-><P
->The function called as a result of
-    <TT
-CLASS="FUNCTION"
->cyg_io_set_config()</TT
->. </P
-></DD
-></DL
-></DIV
-><P
->When <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> is initialized (sometimes called
-&#8220;boot&#8221; time), the <TT
-CLASS="FUNCTION"
->init()</TT
-> function is called
-for all devices in the system. The <TT
-CLASS="FUNCTION"
->init()</TT
-> function is
-allowed to return an error in which case the device will be placed
-&#8220;off line&#8221; and all I/O requests to that device will be
-considered in error.</P
-><P
->The <TT
-CLASS="FUNCTION"
->lookup()</TT
-> function is called whenever
-the <TT
-CLASS="FUNCTION"
->cyg_io_lookup()</TT
-> function
-is called with this device name. The lookup function may cause the device
-to come &#8220;on line&#8221; which would then allow I/O
-operations to proceed. Future versions of the I/O system
-will allow for other states, including power saving modes,
-etc.</P
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="IO-HOW-TO-WRITE-SERIAL-INTERFACE-DRIVER">How to Write a Serial Hardware Interface Driver</H1
-><P
->The standard serial driver supplied with
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> is structured as a hardware independent
-portion and a hardware dependent interface module. To add support for
-a new serial port, the user should be able to use the existing
-hardware independent portion and just add their own interface driver which handles the details of the
-actual device. The user should have no need to change the hardware
-independent portion. </P
-><P
->The interfaces used by the serial driver and serial implementation
-modules are contained in the file <TT
-CLASS="FILENAME"
->&lt;cyg/io/serial.h&gt;</TT
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In the sections below we use the notation &lt;&lt;xx&gt;&gt; to
-mean a module specific value, referred to as &#8220;xx&#8221; below.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10881">DevTab Entry</H2
-><P
->The interface module contains the devtab entry (or entries
-if a single module supports more than one interface). This entry
-should have the form: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->DEVTAB_ENTRY(&lt;&lt;module_name&gt;&gt;, 
-             &lt;&lt;device_name&gt;&gt;,
-             0,
-             &amp;serial_devio, 
-             &lt;&lt;module_init&gt;&gt;, 
-             &lt;&lt;module_lookup&gt;&gt;,
-             &amp;&lt;&lt;serial_channel&gt;&gt;
-            );</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><P
-><B
->Arguments</B
-></P
-><DL
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->module_name</I
-></TT
-></DT
-><DD
-><P
->The "C" label for this devtab entry</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->device_name</I
-></TT
-></DT
-><DD
-><P
->The "C" string for the
-    device. E.g. <TT
-CLASS="FILENAME"
->/dev/serial0</TT
->.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->serial_devio</I
-></TT
-></DT
-><DD
-><P
->The table of I/O functions. This set is defined in
-    the hardware independent serial driver and should be used.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->module_init</I
-></TT
-></DT
-><DD
-><P
->The module initialization function.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->module_lookup</I
-></TT
-></DT
-><DD
-><P
->The device lookup function. This function
-    typically sets up the device for actual use, turning on
-    interrupts, configuring the port, etc.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->serial_channel</I
-></TT
-></DT
-><DD
-><P
->This table (defined below) contains the interface
-    between the interface module and the serial driver proper.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10918">Serial Channel Structure</H2
-><P
->Each serial device must have a &#8220;serial channel&#8221;.
-This is a set of data which describes all operations on the device.
-It also contains buffers, etc., if the device is to be buffered.
-The serial channel is created by the macro: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->SERIAL_CHANNEL_USING_INTERRUPTS(l, funs, dev_priv, baud,stop, parity, word_length,
-                                flags, out_buf, out_buflen, in_buf, in_buflen)</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><P
-><B
->Arguments</B
-></P
-><DL
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->l</I
-></TT
-></DT
-><DD
-><P
->The "C" label for this structure.</P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->funs</I
-></TT
-></DT
-><DD
-><P
->The set of interface functions (see below).</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->dev_priv</I
-></TT
-></DT
-><DD
-><P
->A placeholder for any device specific data for
-    this channel.</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->baud</I
-></TT
-></DT
-><DD
-><P
->The initial baud rate value
-    (<SPAN
-CLASS="TYPE"
->cyg_serial_baud_t</SPAN
->).</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->stop</I
-></TT
-></DT
-><DD
-><P
->The initial stop bits value
-    (<SPAN
-CLASS="TYPE"
->cyg_serial_stop_bits_t</SPAN
->).</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->parity</I
-></TT
-></DT
-><DD
-><P
->The initial parity mode value
-    (<SPAN
-CLASS="TYPE"
->cyg_serial_parity_t</SPAN
->).</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->word_length</I
-></TT
-></DT
-><DD
-><P
->The initial word length value
-    (<SPAN
-CLASS="TYPE"
->cyg_serial_word_length_t</SPAN
->).</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->flags</I
-></TT
-></DT
-><DD
-><P
->The initial driver flags value.</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->out_buf</I
-></TT
-></DT
-><DD
-><P
->Pointer to the output
-    buffer. <TT
-CLASS="LITERAL"
->NULL</TT
-> if none required.</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->out_buflen</I
-></TT
-></DT
-><DD
-><P
->The length of the output buffer.</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->in_buf</I
-></TT
-></DT
-><DD
-><P
->pointer to the input
-    buffer. <TT
-CLASS="LITERAL"
->NULL</TT
-> if none required.</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->in_buflen</I
-></TT
-></DT
-><DD
-><P
->The length of the input buffer. </P
-></DD
-></DL
-></DIV
-><P
->If either buffer length is zero, no buffering will take place
-in that direction and only polled mode functions will be used.</P
-><P
->The interface from the hardware independent driver into the
-hardware interface module is contained in the <TT
-CLASS="STRUCTFIELD"
-><I
->funs</I
-></TT
-> table.
-This is defined by the macro:</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10993">Serial Functions Structure</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->SERIAL_FUNS(l, putc, getc, set_config, start_xmit, stop_xmit)</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><P
-><B
->Arguments</B
-></P
-><DL
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->l</I
-></TT
-></DT
-><DD
-><P
->The "C" label for this structure.</P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->putc</I
-></TT
-></DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->bool (*putc)(serial_channel *priv, unsigned char
-      c)</TT
-></P
-><P
->      This function sends one character to the interface. It should
-      return <TT
-CLASS="LITERAL"
->true</TT
-> if the character is actually consumed. It should
-      return <TT
-CLASS="LITERAL"
->false</TT
-> if there is no space in the interface
-      </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->getc</I
-></TT
-></DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->unsigned char (*getc)(serial_channel *priv)</TT
-></P
-><P
->      This function fetches one character from the interface. It will
-      be only called in a non-interrupt driven mode, thus it should
-      wait for a character by polling the device until ready.
-      </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->set_config</I
-></TT
-></DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->bool (*set_config)(serial_channel
-      *priv,cyg_serial_info_t *config)</TT
-></P
-><P
->        This function is used to configure the port. It should return
-        <TT
-CLASS="LITERAL"
->true</TT
-> if the hardware is updated to match the desired
-        configuration. It should return <TT
-CLASS="LITERAL"
->false</TT
-> if the port cannot
-        support some parameter specified by the given
-        configuration. E.g. selecting 1.5 stop bits and 8 data bits is
-        invalid for most serial devices and should not be allowed.
-      </P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->start_xmit</I
-></TT
-></DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->void (*start_xmit)(serial_channel *priv)</TT
-></P
-><P
->        In interrupt mode, turn on the transmitter and allow for
-        transmit interrupts.
-      </P
-></DD
-><DT
-><TT
-CLASS="PARAMETER"
-><I
->stop_xmit</I
-></TT
-></DT
-><DD
-><P
-><TT
-CLASS="LITERAL"
->void (*stop_xmit)(serial_channel *priv)</TT
-></P
-><P
->In interrupt mode, turn off the transmitter.</P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN11042">Callbacks</H2
-><P
->The device interface module can execute functions in the
-hardware independent driver via <TT
-CLASS="LITERAL"
->chan-&gt;callbacks</TT
->.
-These functions are available:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void (*serial_init)( serial_channel *chan )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to initialize the serial channel. It
-is only required if the channel is being used in interrupt
-mode.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void (*xmt_char)( serial_channel *chan )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function would be called from an interrupt handler after a
-transmit interrupt indicating that additional characters may be
-sent. The upper driver will call the <TT
-CLASS="FUNCTION"
->putc</TT
->
-function as appropriate to send more data to the device.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void (*rcv_char)( serial_channel *chan, unsigned char c )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to tell the driver that a character has arrived
-at the interface. This function is typically called from the interrupt
-handler. </P
-><P
->Furthermore, if the device has a FIFO it should require the hardware
-independent driver to provide block transfer functionality (driver CDL
-should include &quot;implements
-CYGINT_IO_SERIAL_BLOCK_TRANSFER&quot;).  In that case, the following
-functions are available as well:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->bool (*data_xmt_req)(serial_channel *chan,
-                     int space,
-                     int* chars_avail,
-                     unsigned char** chars)
-void (*data_xmt_done)(serial_channel *chan)</PRE
-></TD
-></TR
-></TABLE
-><P
->Instead of calling <TT
-CLASS="FUNCTION"
->xmt_char()</TT
-> to get a single
-character for transmission at a time, the driver should call
-<TT
-CLASS="FUNCTION"
->data_xmt_req()</TT
-> in a loop, requesting character
-blocks for transfer. Call with a <TT
-CLASS="PARAMETER"
-><I
->space</I
-></TT
-> argument of how much space
-there is available in the FIFO.</P
-><P
->If the call returns <TT
-CLASS="LITERAL"
->true</TT
->, the driver can read
-<TT
-CLASS="PARAMETER"
-><I
->chars_avail</I
-></TT
-> characters from
-<TT
-CLASS="PARAMETER"
-><I
->chars</I
-></TT
-> and copy them into the FIFO.</P
-><P
->If the call returns <TT
-CLASS="LITERAL"
->false</TT
->, there are
-no more buffered characters and the driver should continue without
-filling up the FIFO.</P
-><P
->When all data has been unloaded, the
-driver must call <TT
-CLASS="FUNCTION"
->data_xmt_done()</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->bool (*data_rcv_req)(serial_channel *chan,
-                     int avail,
-                     int* space_avail,
-                     unsigned char** space)
-void (*data_rcv_done)(serial_channel *chan)</PRE
-></TD
-></TR
-></TABLE
-><P
->Instead of calling <TT
-CLASS="FUNCTION"
->rcv_char()</TT
-> with a single
-character at a time, the driver should call
-<TT
-CLASS="FUNCTION"
->data_rcv_req()</TT
-> in a loop, requesting space to
-unload the FIFO to. <TT
-CLASS="PARAMETER"
-><I
->avail</I
-></TT
-> is the number of
-characters the driver wishes to unload.</P
-><P
->If the call returns <TT
-CLASS="LITERAL"
->true</TT
->, the driver can copy
-<TT
-CLASS="PARAMETER"
-><I
->space_avail</I
-></TT
-> characters to
-<TT
-CLASS="PARAMETER"
-><I
->space</I
-></TT
->. </P
-><P
->If the call returns <TT
-CLASS="LITERAL"
->false</TT
->, the input buffer is
-full. It is up to the driver to decide what to do in that case
-(callback functions for registering overflow are being planned for
-later versions of the serial driver).</P
-><P
->When all data has been unloaded, the driver must call
-<TT
-CLASS="FUNCTION"
->data_rcv_done()</TT
->.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-tty-driver.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-serial-testing-with-serfilter.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->TTY driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Serial testing with ser_filter</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-package-intro.html b/doc/html/ref/io-package-intro.html
deleted file mode 100644 (file)
index d8621ca..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"><LINK
-REL="PREVIOUS"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"><LINK
-REL="NEXT"
-TITLE="User API"
-HREF="io-user-api.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-user-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="IO-PACKAGE-INTRO">Chapter 14. Introduction</H1
-><P
->The I/O package is designed as a general purpose framework for
-supporting device drivers. This includes all classes of
-drivers from simple serial to networking stacks and beyond.</P
-><P
->Components of the I/O package, such as device drivers, are
-configured into the system just like all other components.
-Additionally, end users may add their own drivers to this set.</P
-><P
->While the set of drivers (and the devices they represent) may be
-considered static, they must be accessed via an opaque
-&#8220;handle&#8221;. Each device in the system has a unique name and
-the <TT
-CLASS="FUNCTION"
->cyg_io_lookup()</TT
-> function is used to map that
-name onto the handle for the device. This &#8220;hiding&#8221; of the
-device implementation allows for generic, named devices, as well as
-more flexibility. Also, the <TT
-CLASS="FUNCTION"
->cyg_io_lookup()</TT
->
-function provides drivers the opportunity to initialize the device
-when usage actually starts.</P
-><P
->All devices have a name. The standard provided devices use names such
-as <TT
-CLASS="FILENAME"
->&#8220;/dev/console&#8221;</TT
-> and
-<TT
-CLASS="FILENAME"
->&#8220;/dev/serial0&#8221;</TT
->, where the
-<TT
-CLASS="FILENAME"
->&#8220;/dev/&#8221;</TT
-> prefix indicates that this is
-the name of a device.</P
-><P
->The entire I/O package API, as well as the standard
-set of provided drivers, is written in C. </P
-><P
->Basic functions are provided to send data to and receive data
-from a device. The details of how this is done is left to the device [class] itself.
-For example, writing data to a block device like a disk drive may
-have different semantics than writing to a serial port. </P
-><P
->Additional functions are provided to manipulate the state
-of the driver and/or the actual device. These functions
-are, by design, quite specific to the actual driver. </P
-><P
->This driver model supports layering; in other words, a device
-may actually be created &#8220;on top of&#8221; another device.
-For example, the &#8220;tty&#8221; (terminal-like) devices are
-built on top of simple serial devices. The upper layer then has
-the flexibility to add features and functions not found at the lower
-layers. In this case the &#8220;tty&#8221; device provides
-for line buffering and editing not available from the simple serial
-drivers.</P
-><P
->Some drivers will support visibility of the layers they depend
-upon. The &#8220;tty&#8221; driver allows information about
-the actual serial device to be manipulated by passing get/set
-config calls that use a serial driver &#8220;key&#8221; down
-to the serial driver itself. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-user-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->I/O Package (Device Drivers)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->User API</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-pci.html b/doc/html/ref/io-pci.html
deleted file mode 100644 (file)
index c5d97cb..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PCI Library</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Writing a New Filesystem"
-HREF="fileio-writing.html"><LINK
-REL="NEXT"
-TITLE="The eCos PCI Library"
-HREF="ecos-pci-library.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fileio-writing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-pci-library.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="IO-PCI"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->VII. PCI Library</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->30. <A
-HREF="ecos-pci-library.html"
->The eCos PCI Library</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fileio-writing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-pci-library.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Writing a New Filesystem</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The eCos PCI Library</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-serial-driver-details.html b/doc/html/ref/io-serial-driver-details.html
deleted file mode 100644 (file)
index 2fa225b..0000000
+++ /dev/null
@@ -1,1031 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Serial driver details</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"><LINK
-REL="PREVIOUS"
-TITLE="User API"
-HREF="io-user-api.html"><LINK
-REL="NEXT"
-TITLE=" TTY driver"
-HREF="io-tty-driver.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-user-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-tty-driver.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="IO-SERIAL-DRIVER-DETAILS">Chapter 16. Serial driver details</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="io-serial-driver-details.html#IO-SIMPLE-SERIAL-DRIVER"
->Raw Serial Driver</A
-></DT
-><DT
-><A
-HREF="io-tty-driver.html"
->TTY driver</A
-></DT
-></DL
-></DIV
-><P
->Two different classes of serial drivers are provided as a standard
-part of the eCos system. These are described as &#8220;raw
-serial&#8221; (serial) and &#8220;tty-like&#8221; (tty).</P
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="IO-SIMPLE-SERIAL-DRIVER">Raw Serial Driver</H1
-><P
->Use the include file <TT
-CLASS="FILENAME"
->&lt;cyg/io/serialio.h&gt;</TT
-> for
-this driver.</P
-><P
->The raw serial driver is capable of sending
-and receiving blocks of raw data to a serial device. Controls are
-provided to configure the actual hardware, but there is no manipulation
-of the data by this driver.</P
-><P
->There may be many instances of this driver in a given system,
-one for each serial channel. Each channel corresponds to a physical
-device and there will typically be a device module created for this
-purpose. The device modules themselves are configurable, allowing
-specification of the actual hardware details, as well as such details
-as whether the channel should be buffered by the serial driver,
-etc.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10475">Runtime Configuration</H2
-><P
->Runtime configuration is achieved by exchanging data structures with
-the driver via the <TT
-CLASS="FUNCTION"
->cyg_io_set_config()</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_io_get_config()</TT
-> functions.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- cyg_serial_baud_rate_t baud;
- cyg_serial_stop_bits_t stop;
- cyg_serial_parity_t parity;
- cyg_serial_word_length_t word_length;
- cyg_uint32 flags;
-} cyg_serial_info_t;</PRE
-></TD
-></TR
-></TABLE
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->word_length</I
-></TT
-> contains the number of data bits per word
-(character). This must be one of the values:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> CYGNUM_SERIAL_WORD_LENGTH_5
- CYGNUM_SERIAL_WORD_LENGTH_6
- CYGNUM_SERIAL_WORD_LENGTH_7
- CYGNUM_SERIAL_WORD_LENGTH_8</PRE
-></TD
-></TR
-></TABLE
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->baud</I
-></TT
-> contains a baud rate selection.  This must be
-one of the values:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> CYGNUM_SERIAL_BAUD_50
- CYGNUM_SERIAL_BAUD_75
- CYGNUM_SERIAL_BAUD_110
- CYGNUM_SERIAL_BAUD_134_5
- CYGNUM_SERIAL_BAUD_150
- CYGNUM_SERIAL_BAUD_200
- CYGNUM_SERIAL_BAUD_300
- CYGNUM_SERIAL_BAUD_600
- CYGNUM_SERIAL_BAUD_1200
- CYGNUM_SERIAL_BAUD_1800
- CYGNUM_SERIAL_BAUD_2400
- CYGNUM_SERIAL_BAUD_3600
- CYGNUM_SERIAL_BAUD_4800
- CYGNUM_SERIAL_BAUD_7200
- CYGNUM_SERIAL_BAUD_9600
- CYGNUM_SERIAL_BAUD_14400
- CYGNUM_SERIAL_BAUD_19200
- CYGNUM_SERIAL_BAUD_38400
- CYGNUM_SERIAL_BAUD_57600
- CYGNUM_SERIAL_BAUD_115200
- CYGNUM_SERIAL_BAUD_234000</PRE
-></TD
-></TR
-></TABLE
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->stop</I
-></TT
-> contains the number of stop bits. This must be
-one of the values:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> CYGNUM_SERIAL_STOP_1
- CYGNUM_SERIAL_STOP_1_5
- CYGNUM_SERIAL_STOP_2</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->On most hardware, a selection of 1.5 stop bits is only valid
-if the word (character) length is 5.</P
-></BLOCKQUOTE
-></DIV
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->parity</I
-></TT
-> contains the parity mode.  This must be one of
-the values: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> CYGNUM_SERIAL_PARITY_NONE
- CYGNUM_SERIAL_PARITY_EVEN
- CYGNUM_SERIAL_PARITY_ODD
- CYGNUM_SERIAL_PARITY_MARK
- CYGNUM_SERIAL_PARITY_SPACE</PRE
-></TD
-></TR
-></TABLE
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->flags</I
-></TT
-> is a bitmask which controls the behavior of the
-serial device driver. It should be built from the values
-<TT
-CLASS="LITERAL"
->CYG_SERIAL_FLAGS_xxx</TT
-> defined below:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYG_SERIAL_FLAGS_RTSCTS 0x0001</PRE
-></TD
-></TR
-></TABLE
-><P
->If this bit is set then the port is placed in &#8220;hardware
-handshake&#8221; mode. In this mode, the CTS and RTS pins control
-when data is allowed to be sent/received at the port. This
-bit is ignored if the hardware does not support this level of
-handshake.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
-  cyg_int32 rx_bufsize;
-  cyg_int32 rx_count;
-  cyg_int32 tx_bufsize;
-  cyg_int32 tx_count;
-} cyg_serial_buf_info_t;     </PRE
-></TD
-></TR
-></TABLE
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->rx_bufsize</I
-></TT
-> contains
-the total size of the incoming data buffer. This is set to zero on
-devices that do not support buffering (i.e. polled devices).</P
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->rx_count</I
-></TT
-> contains the
-number of bytes currently occupied in the incoming data buffer.
-This is set to zero on devices that do not support buffering (i.e. polled
-devices).</P
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->tx_bufsize</I
-></TT
-> contains the
-total size of the transmit data buffer. This is set to zero on devices
-that do not support buffering (i.e. polled devices).</P
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->tx_count</I
-></TT
-> contains the
-number of bytes currently occupied in the transmit data buffer.  This
-is set to zero on devices that do not support buffering (i.e. polled
-devices).</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10510">API Details</H2
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="IO-SERIAL-CYG-IO-WRITE">cyg_io_write</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_write(handle, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->Send the data from <TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
-> to the device. The
-driver maintains a buffer to hold the data. The size of the
-intermediate buffer is configurable within the interface module. The
-data is not modified at all while it is being buffered. On return,
-<TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> contains the amount of characters actually
-consumed .</P
-><P
->It is possible to configure the write call to be blocking
-(default) or non-blocking. Non-blocking mode requires both the configuration
-option <TT
-CLASS="LITERAL"
->CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING</TT
->
-to be enabled, and the specific device to be set to non-blocking
-mode for writes (see <TT
-CLASS="FUNCTION"
->cyg_io_set_config()</TT
->).</P
-><P
->In blocking mode, the call will not return until there is space in the
-buffer and the entire contents of <TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
-> have been
-consumed.</P
-><P
->In non-blocking mode, as much as possible gets consumed from
-<TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->. If everything was consumed, the call
-returns <TT
-CLASS="LITERAL"
->ENOERR</TT
->. If only part of the
-<TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
-> contents was consumed,
-<TT
-CLASS="LITERAL"
->-EAGAIN</TT
-> is returned and the caller must try
-again. On return, <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> contains the number of characters actually
-consumed .</P
-><P
->The call can also return <TT
-CLASS="LITERAL"
->-EINTR</TT
-> if interrupted
-via the <TT
-CLASS="FUNCTION"
->cyg_io_get_config()</TT
->/<TT
-CLASS="LITERAL"
->ABORT</TT
-> key.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="IO-SERIAL-CYG-IO-READ">cyg_io_read</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_read(handle, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->Receive data into the buffer, <TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->, from the
-device. No manipulation of the data is performed before being
-transferred.  An interrupt driven interface module will support data
-arriving when no read is pending by buffering the data in the serial
-driver.  Again, this buffering is completely configurable. On return,
-<TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> contains the number of characters actually
-received.</P
-><P
->It is possible to configure the read call to be blocking (default)
-or  non-blocking. Non-blocking mode requires both the configuration
-option  <TT
-CLASS="LITERAL"
->CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING</TT
->
-to be enabled, and the specific device to be set to non-blocking
-mode for reads (see <TT
-CLASS="FUNCTION"
->cyg_io_set_config()</TT
->).</P
-><P
->In blocking mode, the call will not return until the requested
-amount of data has been read.</P
-><P
->In non-blocking mode, data waiting in the device buffer is copied to
-<TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->, and the call returns immediately. If there
-was enough data in the buffer to fulfill the request,
-<TT
-CLASS="LITERAL"
->ENOERR</TT
-> is returned.  If only part of the request
-could be fulfilled, <TT
-CLASS="LITERAL"
->-EAGAIN</TT
-> is returned and the
-caller must try again. On return, <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> contains
-the number of characters actually received.</P
-><P
->The call can also return <TT
-CLASS="LITERAL"
->-EINTR</TT
-> if interrupted via
-the <TT
-CLASS="FUNCTION"
->cyg_io_get_config()</TT
->/<TT
-CLASS="LITERAL"
->ABORT</TT
->
-key.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="IO-SERIAL-CYG-GET-CONFIG">cyg_io_get_config</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_get_config(handle, key, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->This function returns current [runtime] information
-about the device and/or driver. </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_INFO</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->cyg_serial_info_t</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->              This function retrieves the current state of the driver
-              and hardware. This information contains fields for
-              hardware baud rate, number of stop bits, and parity
-              mode. It also includes a set of flags that control the
-              port, such as hardware flow control.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_BUFFER_INFO</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->cyg_serial_buf_info_t</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->               This function retrieves the current state of the
-               software buffers in the serial drivers. For both
-               receive and transmit buffers it returns the total
-               buffer size and the current number of bytes occupied in
-               the buffer. It does not take into account any buffering
-               such as FIFOs or holding registers that the serial
-               device itself may have.
-             </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_OUTPUT_DRAIN</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->void *</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->              This function waits for any buffered output to
-              complete. This function only completes when there is no
-              more data remaining to be sent to the device.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_OUTPUT_FLUSH</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->void *</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->              This function discards any buffered output for the
-             device.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_INPUT_DRAIN</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->void *</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function discards any buffered input for the
-            device.</P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_ABORT</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
-> void*</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function will cause any pending read or write calls on
-            this device to return with <TT
-CLASS="LITERAL"
->-EABORT</TT
->.</P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_READ_BLOCKING</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
-> cyg_uint32 (values 0 or 1)</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function will read back the blocking-mode
-            setting for read calls on this device. This call is only
-            available if the configuration option
-            <TT
-CLASS="LITERAL"
->CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING</TT
-> is
-            enabled.</P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_SERIAL_WRITE_BLOCKING</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
-> cyg_uint32 (values 0 or 1)</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->            This function will read back the blocking-mode
-            setting for write calls on this device. This call is only
-            available if the configuration option
-            <TT
-CLASS="LITERAL"
->CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING</TT
-> is enabled.</P
-></DD
-></DL
-></DIV
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="SECTION"
-><H3
-CLASS="SECTION"
-><A
-NAME="IO-SERIAL-CYG-SET-CONFIG">cyg_io_set_config</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_set_config(handle, key, buf,len)</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to update or change runtime configuration
-of a port. </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_SET_CONFIG_SERIAL_INFO</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->cyg_serial_info_t</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function updates the information for the driver
-            and hardware.  The information contains fields for
-            hardware baud rate, number of stop bits, and parity
-            mode. It also includes a set of flags that control the
-            port, such as hardware flow control.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_SET_CONFIG_SERIAL_READ_BLOCKING</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
-> cyg_uint32 (values 0 or 1)</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function will set the blocking-mode for read
-            calls on this device. This call is only available if the
-            configuration option <TT
-CLASS="LITERAL"
->CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING</TT
->
-            is enabled.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_SET_CONFIG_SERIAL_WRITE_BLOCKING</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->cyg_uint32 (values 0 or 1)</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function will set the blocking-mode for write
-            calls on this device. This call is only available if the
-            configuration option <TT
-CLASS="LITERAL"
->CYGOPT_IO_SERIAL_SUPPORT_NONBLOCKING</TT
->
-            is enabled.
-            </P
-></DD
-></DL
-></DIV
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-user-api.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-tty-driver.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->User API</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->TTY driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-serial-testing-with-serfilter.html b/doc/html/ref/io-serial-testing-with-serfilter.html
deleted file mode 100644 (file)
index 87be39a..0000000
+++ /dev/null
@@ -1,706 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Serial testing with ser_filter</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="How to Write a Driver"
-HREF="io-how-to-write-a-driver.html"><LINK
-REL="PREVIOUS"
-TITLE="How to Write a Driver"
-HREF="io-how-to-write-a-driver.html"><LINK
-REL="NEXT"
-TITLE="Device Driver Interface to the Kernel"
-HREF="devapi-device-driver-interface-to-the-kernel.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-how-to-write-a-driver.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 17. How to Write a Driver</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="IO-SERIAL-TESTING-WITH-SERFILTER">Serial testing with ser_filter</H1
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="IO-SERFILTER-RATIONALE">Rationale</H2
-><P
->Since some targets only have one serial connection, a serial testing harness
-needs to be able to share the connection with <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
->
-(however, the test and <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> can also run on separate
-lines).</P
-><P
->The <I
-CLASS="FIRSTTERM"
->serial filter</I
-> (<SPAN
-CLASS="APPLICATION"
->ser_filter</SPAN
->)
-sits between the serial port and <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> and monitors
-the exchange of data between <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> and the target.
-Normally, no changes are made to the data.</P
-><P
->When a test request packet is sent from the test on the target, it is 
-intercepted by the filter.</P
-><P
->The filter and target then enter a loop, exchanging protocol data between
-them which <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> never sees.</P
-><P
->In the event of a timeout, or a crash on the target, the filter falls
-back into its pass-through mode. If this happens due to a crash it should be
-possible to start regular debugging with <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
->. The
-filter will stay in the pass-though mode until <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
->
-disconnects.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="IO-SERFILTER-PROTOCOL">The Protocol</H2
-><P
->The protocol commands are prefixed with an <TT
-CLASS="LITERAL"
->&quot;@&quot;</TT
->
-character which the serial filter is looking for. The protocol
-commands include:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->PING</TT
-></DT
-><DD
-><P
->Allows the test on the target to probe for the filter. The
-      filter responds with <TT
-CLASS="LITERAL"
->OK</TT
->, while
-      <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> would just ignore the
-      command. This allows the tests to do nothing if they require the
-      filter and it is not present.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CONFIG</TT
-></DT
-><DD
-><P
->Requests a change of serial line configuration. Arguments
-      to the command specify baud rate, data bits, stop bits, and
-      parity. [This command is not fully implemented yet - there is no
-      attempt made to recover if the new configuration turns out to
-      cause loss of data.]</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->BINARY</TT
-></DT
-><DD
-><P
->Requests data to be sent from the filter to the
-      target. The data is checksummed, allowing errors in the transfer
-      to be detected.  Sub-options of this command control how the
-      data transfer is made:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->NO_ECHO</TT
-></DT
-><DD
-><P
->(serial driver receive test) Just send data from the
-            filter to the target. The test verifies the checksum and
-            PASS/FAIL depending on the result. </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->EOP_ECHO</TT
-></DT
-><DD
-><P
->(serial driver half-duplex receive and send test) As
-            <TT
-CLASS="LITERAL"
->NO_ECHO</TT
-> but the test echoes back the
-            data to the filter.  The filter does a checksum on the
-            received data and sends the result to the target. The test
-            PASS/FAIL depending on the result of both checksum
-            verifications.</P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->DUPLEX_ECHO</TT
-></DT
-><DD
-><P
->(serial driver duplex receive and send test) Smaller
-            packets of data are sent back and forth in a pattern that
-            ensures that the serial driver will be both sending and
-            receiving at the same time. Again, checksums are computed
-            and verified resulting in PASS/FAIL.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->TEXT</TT
-></DT
-><DD
-><P
-> This is a test of the text translations in the TTY layer.
-      Requests a transfer of text data from the target to the filter
-      and possibly back again. The filter treats this as a binary
-      transfer, while the target ma be doing translations on the
-      data. The target provides the filter with checksums for what it
-      should expect to see. This test is not implemented yet.
-      </P
-></DD
-></DL
-></DIV
-><P
->The above commands may be extended, and new commands added, as
-required to test (new) parts of the serial drivers in
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="IO-SERFILTER-SERIAL-TESTS">The Serial Tests</H2
-><P
->The serial tests are built as any other eCos test. After running the
-<B
-CLASS="COMMAND"
->make tests</B
-> command, the tests can be found in
-<TT
-CLASS="FILENAME"
->install/tests/io_serial/</TT
-></P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FILENAME"
->serial1</TT
-></DT
-><DD
-><P
->A simple API test.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->serial2</TT
-></DT
-><DD
-><P
->A simple serial send test. It writes out two strings, one
-      raw and one encoded as a <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
->
-      O-packet</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->serial3</TT
-> [ requires the serial filter ]</DT
-><DD
-><P
->This tests the half-duplex send and receive capabilities
-      of the serial driver. </P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->serial4</TT
-> [ requires the serial filter ]</DT
-><DD
-><P
->This test attempts to use a few different serial
-      configurations, testing the driver's configuration/setup
-      functionality. </P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->serial5</TT
-> [ requires the serial filter ]</DT
-><DD
-><P
->This tests the duplex send and receive capabilities of the
-      serial driver. </P
-></DD
-></DL
-></DIV
-><P
->All tests should complete in less than 30 seconds.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="IO-SERFILTER-USAGE">Serial Filter Usage</H2
-><P
->Running the ser_filter program with no (or wrong) arguments results in
-the following output:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Usage: ser_filter [-t -S] TcpIPport SerialPort BaudRate 
-or: ser_filter -n [-t -S] SerialPort BaudRate 
--t: Enable tracing. 
--S: Output data read from serial line. 
--c: Output data on console instead of via GDB. 
--n: No GDB. </PRE
-></TD
-></TR
-></TABLE
-><P
->The normal way to use it with GDB is to start the filter:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->ser_filter -t 9000 com1 38400</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->In this case, the filter will be listening on port 9000 and connect to the
-target via the serial port <TT
-CLASS="LITERAL"
->COM1</TT
-> at 38400 baud. On a UNIX
-host, replace "<TT
-CLASS="LITERAL"
->COM1</TT
->" with a device such as 
-"<TT
-CLASS="FILENAME"
->/dev/ttyS0</TT
->".</P
-><P
->The <TT
-CLASS="OPTION"
->-t</TT
-> option enables tracing which will cause the
-filter to describe its actions on the console.</P
-><P
->Now start <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> with one of the tests as an
-argument:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->mips-tx39-elf-gdb -nw install/tests/io_serial/serial3</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Then connect to the filter:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->(gdb) <TT
-CLASS="USERINPUT"
-><B
->target remote localhost:9000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->This should result in a connection in exactly the same way as if you
-had connected directly to the target on the serial line.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->(gdb) <TT
-CLASS="USERINPUT"
-><B
->c</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Which should result in output similar to the below:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Continuing. 
-INFO: &lt;BINARY:16:1!&gt; 
-PASS: &lt;Binary test completed&gt;
-INFO: &lt;BINARY:128:1!&gt; 
-PASS: &lt;Binary test completed&gt;
-INFO: &lt;BINARY:256:1!&gt; 
-PASS: &lt;Binary test completed&gt;
-INFO: &lt;BINARY:1024:1!&gt; 
-PASS: &lt;Binary test completed&gt;
-INFO: &lt;BINARY:512:0!&gt;
-PASS: &lt;Binary test completed&gt;
-... 
-PASS: &lt;Binary test completed&gt;
-INFO: &lt;BINARY:16384:0!&gt;
-PASS: &lt;Binary test completed&gt;
-PASS: &lt;serial13 test OK&gt;
-EXIT: &lt;done&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->If any of the individual tests fail the testing will terminate with a 
-<TT
-CLASS="COMPUTEROUTPUT"
->FAIL</TT
->.</P
-><P
->With tracing enabled, you would also see the filter's status output:</P
-><P
->The <TT
-CLASS="LITERAL"
->PING</TT
-> command sent from the target to determine the
-presence of the filter:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->[400 11:35:16] Dispatching command PING 
-[400 11:35:16] Responding with status OK</PRE
-></TD
-></TR
-></TABLE
-><P
->Each of the binary commands result in output similar to:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->[400 11:35:16] Dispatching command BINARY 
-[400 11:35:16] Binary data (Size:16, Flags:1). 
-[400 11:35:16] Sending CRC: '170231!', len: 7. 
-[400 11:35:16] Reading 16 bytes from target. 
-[400 11:35:16] Done. in_crc 170231, out_crc 170231. 
-[400 11:35:16] Responding with status OK 
-[400 11:35:16] Received DONE from target.</PRE
-></TD
-></TR
-></TABLE
-><P
->This tracing output is normally sent as O-packets to <SPAN
-CLASS="APPLICATION"
->GDB</SPAN
-> which will display the tracing text. By using the
-<TT
-CLASS="OPTION"
->-c </TT
-> option, the tracing text can be redirected to the
-console from which ser_filter was started.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="IO-SERFILTER-FAILURES">A Note on Failures</H2
-><P
->A serial connection (especially when driven at a high baud rate) can garble the
-transmitted data because of noise from the environment. It is not the job of
-the serial driver to ensure data integrity - that is the job of protocols
-layering on top of the serial driver. </P
-><P
->In the current implementation the serial tests and the serial filter are
-not resilient to such data errors. This means that the test may crash or hang
-(possibly without reporting a <TT
-CLASS="COMPUTEROUTPUT"
->FAIL</TT
->). It also
-means that you should be aware of random errors - a <TT
-CLASS="COMPUTEROUTPUT"
->FAIL</TT
-> is not necessarily caused by a bug in the serial driver.</P
-><P
->Ideally, the serial testing infrastructure should be able to distinguish
-random errors from consistent errors - the former are most likely due to noise
-in the transfer medium, while the latter are more likely to be caused by faulty
-drivers. The current implementation of the infrastructure does not have this
-capability.</P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="IO-SERFILTER-DEBUGGING">Debugging</H2
-><P
->If a test fails, the serial filter's output may provide some hints about
-what the problem is. If the option <TT
-CLASS="OPTION"
->-S</TT
-> is used when starting
-the filter, data received from the target is printed out: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->[400 11:35:16] 0000 50 41 53 53 3a 3c 42 69 'PASS:&lt;Bi'
-[400 11:35:16] 0008 6e 61 72 79 20 74 65 73 'nary.tes' 
-[400 11:35:16] 0010 74 20 63 6f 6d 70 6c 65 't.comple' 
-[400 11:35:16] 0018 74 65 64 3e 0d 0a 49 4e 'ted&gt;..IN' 
-[400 11:35:16] 0020 46 4f 3a 3c 42 49 4e 41 'FO:&lt;BINA'
-[400 11:35:16] 0028 52 59 3a 31 32 38 3a 31 'RY:128:1' 
-[400 11:35:16] 0030 21 3e 0d 0a 40 42 49 4e '!..@BIN' 
-[400 11:35:16] 0038 41 52 59 3a 31 32 38 3a 'ARY:128:' 
-[400 11:35:16] 0040 31 21 .. .. .. .. .. .. '1!' </PRE
-></TD
-></TR
-></TABLE
-><P
->In the case of an error during a testing command the data received by the
-filter will be printed out, as will the data that was expected. This allows
-the two data sets to be compared which may give some idea of what the problem
-is.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-how-to-write-a-driver.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->How to Write a Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-how-to-write-a-driver.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Device Driver Interface to the Kernel</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-tty-driver.html b/doc/html/ref/io-tty-driver.html
deleted file mode 100644 (file)
index 721d6a3..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
-> TTY driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Serial driver details"
-HREF="io-serial-driver-details.html"><LINK
-REL="PREVIOUS"
-TITLE="Serial driver details"
-HREF="io-serial-driver-details.html"><LINK
-REL="NEXT"
-TITLE="How to Write a Driver"
-HREF="io-how-to-write-a-driver.html"></HEAD
-><BODY
-CLASS="SECTION"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-serial-driver-details.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 16. Serial driver details</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-how-to-write-a-driver.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECTION"
-><H1
-CLASS="SECTION"
-><A
-NAME="IO-TTY-DRIVER">TTY driver</H1
-><P
->Use the include file <TT
-CLASS="FILENAME"
->&lt;cyg/io/ttyio.h&gt;</TT
-> for
-this driver.</P
-><P
->This driver is built on top of the simple
-serial driver and is typically used for a device that interfaces with
-humans such as a terminal. It provides some minimal formatting of data
-on output and allows for line-oriented editing on input.</P
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10715">Runtime configuration</H2
-><P
->Runtime configuration is achieved by exchanging data structures with
-the driver via the <TT
-CLASS="FUNCTION"
->cyg_io_set_config()</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_io_get_config()</TT
-> functions.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct {
- cyg_uint32 tty_out_flags;
- cyg_uint32 tty_in_flags;
-} cyg_tty_info_t;</PRE
-></TD
-></TR
-></TABLE
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->tty_out_flags</I
-></TT
->
-is used to control what happens to data as it is send to the serial
-port. It contains a bitmap comprised of the bits as defined by the
-<TT
-CLASS="LITERAL"
->CYG_TTY_OUT_FLAGS_xxx</TT
-> values below. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYG_TTY_OUT_FLAGS_CRLF 0x0001 // Map '\n' =&gt; '\n\r' on output</PRE
-></TD
-></TR
-></TABLE
-><P
->If this bit is set in <TT
-CLASS="STRUCTFIELD"
-><I
->tty_out_flags</I
-></TT
->,
-any occurrence of the character &quot;\n&quot; will
-be replaced by the sequence &quot;\n\r&quot; before
-being sent to the device.</P
-><P
->The field <TT
-CLASS="STRUCTFIELD"
-><I
->tty_in_flags</I
-></TT
->
-is used to control how data is handled as it comes from the serial
-port. It contains a bitmap comprised of the bits as defined by the
-<TT
-CLASS="LITERAL"
->CYG_TTY_IN_FLAGS_xxx</TT
-> values below. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYG_TTY_IN_FLAGS_CR 0x0001 // Map '\r' =&gt; '\n' on input</PRE
-></TD
-></TR
-></TABLE
-><P
->If this bit is set in <TT
-CLASS="STRUCTFIELD"
-><I
->tty_in_flags</I
-></TT
->, the
-character &quot;\r&quot; (&#8220;return&#8221; or &#8220;enter&#8221; on
-most keyboards) will be mapped to &quot;\n&quot;.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYG_TTY_IN_FLAGS_CRLF 0x0002 // Map '\n\r' =&gt; '\n' on input</PRE
-></TD
-></TR
-></TABLE
-><P
->If this bit is set in <TT
-CLASS="STRUCTFIELD"
-><I
->tty_in_flags</I
-></TT
->, the
-character sequence &quot;\n\r&quot; (often sent by DOS/Windows
-based terminals) will be mapped to &quot;\n&quot;. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYG_TTY_IN_FLAGS_BINARY 0x0004 // No input processing</PRE
-></TD
-></TR
-></TABLE
-><P
->If this bit is set in <TT
-CLASS="STRUCTFIELD"
-><I
->tty_in_flags</I
-></TT
->, the
-input will not be manipulated in any way before being placed in
-the user&#8217;s buffer. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYG_TTY_IN_FLAGS_ECHO 0x0008 // Echo characters as processed</PRE
-></TD
-></TR
-></TABLE
-><P
->If this bit is set in <TT
-CLASS="STRUCTFIELD"
-><I
->tty_in_flags</I
-></TT
->, characters
-will be echoed back to the serial port as they are processed. </P
-></DIV
-><DIV
-CLASS="SECTION"
-><H2
-CLASS="SECTION"
-><A
-NAME="AEN10742">API details</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_read(handle, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to read data from the device. In the
-default case, data is read until an end-of-line character ("\n"
-or "\r") is read. Additionally, the characters are echoed
-back to the [terminal] device. Minimal editing
-of the input is also supported. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When connecting to a remote target via GDB it is not possible
-to provide console input while GDB is connected. The GDB remote
-protocol does not support input. Users must disconnect from GDB
-if this functionality is required.</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      
-cyg_io_write(handle, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to send data to the device. In the default
-case, the end-of-line character "\n" is replaced by the
-sequence "\n\r". </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_get_config(handle, key, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to get information about the channel&#8217;s
-configuration at runtime. </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_GET_CONFIG_TTY_INFO</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->cyg_tty_info_t</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function retrieves the current state of the
-           driver.
-            </P
-></DD
-></DL
-></DIV
-></DD
-></DL
-></DIV
-><P
->Serial driver keys (see above) may also be specified
-in which case the call is passed directly to the serial
-driver. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_io_set_config(handle, key, buf, len)</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to modify the channel&#8217;s configuration
-at runtime. </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYG_IO_SET_CONFIG_TTY_INFO</TT
-></DT
-><DD
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Buf type:</DT
-><DD
-><P
->cyg_tty_info_t</P
-></DD
-><DT
->Function:</DT
-><DD
-><P
->This function changes the current state of the
-           driver.</P
-></DD
-></DL
-></DIV
-></DD
-></DL
-></DIV
-><P
->Serial driver
-keys (see above) may also be specified in which case the
-call is passed directly to the serial driver. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-serial-driver-details.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-how-to-write-a-driver.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Serial driver details</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-serial-driver-details.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->How to Write a Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-usb-slave-eth.html b/doc/html/ref/io-usb-slave-eth.html
deleted file mode 100644 (file)
index 7042684..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Support for Developing USB-ethernet Peripherals</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Testing"
-HREF="usbs-testing.html"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="usbseth-intro.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-testing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="IO-USB-SLAVE-ETH"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXIII. eCos Support for Developing USB-ethernet Peripherals</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="usbseth-intro.html"
->Introduction</A
->&nbsp;--&nbsp;eCos support for developing USB ethernet peripherals</DT
-><DT
-><A
-HREF="usbseth-init.html"
->Initializing the USB-ethernet Package</A
->&nbsp;--&nbsp;Initializing the USB-ethernet Package</DT
-><DT
-><A
-HREF="usbseth-data.html"
->USB-ethernet Data Transfers</A
->&nbsp;--&nbsp;Exchanging ethernet packets with the USB host</DT
-><DT
-><A
-HREF="usbseth-control.html"
->USB-ethernet State Handling</A
->&nbsp;--&nbsp;Maintaining the USB-ethernet connection with the host</DT
-><DT
-><A
-HREF="usbseth-netdev.html"
->Network Device for the eCos TCP/IP Stack</A
->&nbsp;--&nbsp;USB-ethernet support for the eCos TCP/IP Stack</DT
-><DT
-><A
-HREF="usbseth-host.html"
->Example Host-side Device Driver</A
->&nbsp;--&nbsp;Provide host-side support for the eCos USB-ethernet package</DT
-><DT
-><A
-HREF="usbseth-protocol.html"
->Communication Protocol</A
->&nbsp;--&nbsp;Protocol used between the host-side device driver and the eCos
-USB-ethernet package </DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-testing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Testing</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-usb-slave.html b/doc/html/ref/io-usb-slave.html
deleted file mode 100644 (file)
index 8317c57..0000000
+++ /dev/null
@@ -1,211 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos USB Slave Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Implementing a Power Controller"
-HREF="power-controller.html"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="usbs-intro.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="power-controller.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="IO-USB-SLAVE"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXII. eCos USB Slave Support</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="usbs-intro.html"
->Introduction</A
->&nbsp;--&nbsp;eCos support for USB slave devices</DT
-><DT
-><A
-HREF="usbs-enum.html"
->USB Enumeration Data</A
->&nbsp;--&nbsp;The USB enumeration data structures</DT
-><DT
-><A
-HREF="usbs-start.html"
->Starting up a USB Device</A
->&nbsp;--&nbsp;Starting up a USB Device</DT
-><DT
-><A
-HREF="usbs-devtab.html"
->Devtab Entries</A
->&nbsp;--&nbsp;Data endpoint data structure</DT
-><DT
-><A
-HREF="usbs-start-rx.html"
->Receiving Data from the Host</A
->&nbsp;--&nbsp;Receiving Data from the Host</DT
-><DT
-><A
-HREF="usbs-start-tx.html"
->Sending Data to the Host</A
->&nbsp;--&nbsp;Sending Data to the Host</DT
-><DT
-><A
-HREF="usbs-halt.html"
->Halted Endpoints</A
->&nbsp;--&nbsp;Support for Halting and Halted Endpoints</DT
-><DT
-><A
-HREF="usbs-control.html"
->Control Endpoints</A
->&nbsp;--&nbsp;Control endpoint data structure</DT
-><DT
-><A
-HREF="usbs-data.html"
->Data Endpoints</A
->&nbsp;--&nbsp;Data endpoint data structures</DT
-><DT
-><A
-HREF="usbs-writing.html"
->Writing a USB Device Driver</A
->&nbsp;--&nbsp;USB Device Driver Porting Guide</DT
-><DT
-><A
-HREF="usbs-testing.html"
->Testing</A
->&nbsp;--&nbsp;Testing of USB Device Drivers</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="power-controller.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Implementing a Power Controller</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io-user-api.html b/doc/html/ref/io-user-api.html
deleted file mode 100644 (file)
index 7193f5d..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->User API</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="I/O Package (Device Drivers)"
-HREF="io.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="io-package-intro.html"><LINK
-REL="NEXT"
-TITLE="Serial driver details"
-HREF="io-serial-driver-details.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-package-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-serial-driver-details.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="IO-USER-API">Chapter 15. User API</H1
-><P
->All functions, except <TT
-CLASS="FUNCTION"
->cyg_io_lookup()</TT
->
-require an I/O &#8220;handle&#8221;.</P
-><P
->All functions return a value of the type <SPAN
-CLASS="TYPE"
->Cyg_ErrNo</SPAN
->. If an
-error condition is detected, this value will be negative and the
-absolute value indicates the actual error, as specified in
-<TT
-CLASS="FILENAME"
->cyg/error/codes.h</TT
->. The only other legal return
-value will be <TT
-CLASS="VARNAME"
->ENOERR</TT
->. All other function arguments
-are pointers (references). This allows the drivers to pass information
-efficiently, both into and out of the driver. The most striking
-example of this is the &#8220;length&#8221; value passed to the read
-and write functions. This parameter contains the desired length of
-data on input to the function and the actual transferred length on
-return.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// Lookup a device and return its handle 
-  Cyg_ErrNo <TT
-CLASS="FUNCTION"
->cyg_io_lookup</TT
->( 
-    const char <TT
-CLASS="PARAMETER"
-><I
->*name</I
-></TT
->,
-    cyg_io_handle_t <TT
-CLASS="PARAMETER"
-><I
->*handle</I
-></TT
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function maps a device name onto an appropriate handle. If the
-named device is not in the system, then the error
-<TT
-CLASS="VARNAME"
->-ENOENT</TT
-> is returned. If the device is found, then
-the handle for the device is returned by way of the handle pointer
-<TT
-CLASS="PARAMETER"
-><I
->*handle</I
-></TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// Write data to a device 
-Cyg_ErrNo <TT
-CLASS="FUNCTION"
->cyg_io_write</TT
->( 
-    cyg_io_handle_t <TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
->,
-    const void <TT
-CLASS="PARAMETER"
-><I
->*buf</I
-></TT
->,
-    cyg_uint32 <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function sends data to a device. The size of data to send is
-contained in <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> and the actual size sent will
-be returned in the same place.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// Read data from a device 
-Cyg_ErrNo <TT
-CLASS="FUNCTION"
->cyg_io_read</TT
->( 
-    cyg_io_handle_t <TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
->,
-    void <TT
-CLASS="PARAMETER"
-><I
->*buf</I
-></TT
->,
-    cyg_uint32 <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function receives data from a device. The desired size of data to
-receive is contained in <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> and the actual
-size obtained will be returned in the same place.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// Get the configuration of a device 
-Cyg_ErrNo <TT
-CLASS="FUNCTION"
->cyg_io_get_config</TT
->( 
-    cyg_io_handle_t <TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
->,
-    cyg_uint32 <TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
->,
-    void *<TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->,
-    cyg_uint32 *<TT
-CLASS="PARAMETER"
-><I
->len</I
-></TT
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to obtain run-time configuration about a
-device. The type of information retrieved is specified by the
-<TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
->. The data will be returned in the given
-buffer. The value of <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> should contain the
-amount of data requested, which must be at least as large as the size
-appropriate to the selected key. The actual size of data retrieved is
-placed in <TT
-CLASS="PARAMETER"
-><I
-> *len</I
-></TT
->. The appropriate key values
-differ for each driver and are all listed in the file
-<TT
-CLASS="FILENAME"
->&lt;cyg/io/config_keys.h&gt;</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// Change the configuration of a device 
-Cyg_ErrNo <TT
-CLASS="FUNCTION"
->cyg_io_set_config</TT
->( 
-    cyg_io_handle_t <TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
->,
-    cyg_uint32 <TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
->,
-    const void <TT
-CLASS="PARAMETER"
-><I
->*buf</I
-></TT
->,
-    cyg_uint32 <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> )</PRE
-></TD
-></TR
-></TABLE
-><P
->This function is used to manipulate or change the run-time
-configuration of a device. The type of information is specified by the
-<TT
-CLASS="PARAMETER"
-><I
->key</I
-></TT
->. The data will be obtained from the given
-buffer. The value of <TT
-CLASS="PARAMETER"
-><I
->*len</I
-></TT
-> should contain the
-amount of data provided, which must match the size appropriate to the
-selected key.  The appropriate key values differ for each driver and
-are all listed in the file
-<TT
-CLASS="FILENAME"
->&lt;cyg/io/config_keys.h&gt;</TT
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-package-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-serial-driver-details.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Serial driver details</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/io.html b/doc/html/ref/io.html
deleted file mode 100644 (file)
index e1adb08..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->I/O Package (Device Drivers)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="C library startup"
-HREF="c-library-startup.html"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="io-package-intro.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c-library-startup.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-package-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="IO"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->V. I/O Package (Device Drivers)</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->14. <A
-HREF="io-package-intro.html"
->Introduction</A
-></DT
-><DT
->15. <A
-HREF="io-user-api.html"
->User API</A
-></DT
-><DT
->16. <A
-HREF="io-serial-driver-details.html"
->Serial driver details</A
-></DT
-><DT
->17. <A
-HREF="io-how-to-write-a-driver.html"
->How to Write a Driver</A
-></DT
-><DT
->18. <A
-HREF="devapi-device-driver-interface-to-the-kernel.html"
->Device Driver Interface to the Kernel</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c-library-startup.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-package-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->C library startup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ip-address-command.html b/doc/html/ref/ip-address-command.html
deleted file mode 100644 (file)
index 417938e..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ip_address</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="help"
-HREF="help-command.html"><LINK
-REL="NEXT"
-TITLE="load"
-HREF="download-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="help-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="download-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="IP-ADDRESS-COMMAND">ip_address</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3361"
-></A
-><H2
->Name</H2
->ip_address&nbsp;--&nbsp;Set IP addresses</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3364"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->ip_address</B
->  [-l <TT
-CLASS="REPLACEABLE"
-><I
-> local_IP_address</I
-></TT
->] [-h <TT
-CLASS="REPLACEABLE"
-><I
-> server_IP_address</I
-></TT
->] [-d <TT
-CLASS="REPLACEABLE"
-><I
->DNS_server_IP_address</I
-></TT
->]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3373"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3375"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->local_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Numeric IP or DNS name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The IP address RedBoot should use.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-h <TT
-CLASS="REPLACEABLE"
-><I
->server_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Numeric IP or DNS name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The IP address of the default server. Use of this
-address is implied by other commands, such as
-<B
-CLASS="COMMAND"
->load</B
->.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-d <TT
-CLASS="REPLACEABLE"
-><I
->DNS_server_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Numeric IP or DNS name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The IP address of the DNS server.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3410"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->ip_address</B
-> command is used to show and/or change the basic IP
-addresses used by RedBoot. IP addresses may be given as numeric
-values, e.g. 192.168.1.67, or as symbolic names such as www.redhat.com
-if DNS support is enabled.
-      </P
-><P
->The <TT
-CLASS="OPTION"
->-l</TT
-> option is used to set the IP address used by
-the target device.
-      </P
-><P
->The <TT
-CLASS="OPTION"
->-h</TT
-> option is used to set the default server
-address, such as is used by the <B
-CLASS="COMMAND"
->load</B
-> command.
-      </P
-><P
->The <TT
-CLASS="OPTION"
->-d</TT
-> option is used to set the default DNS server
-address which is used for resolving symbolic network addresses. Note
-that an address of 0.0.0.0 will disable DNS lookups.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3421"
-></A
-><H2
->Examples</H2
-><P
->Display the current network settings. 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->ip_address</B
-></TT
-> 
-IP: 192.168.1.31, Default server: 192.168.1.101, DNS server IP: 0.0.0.0 </PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Change the DNS server address. 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->ip_address -d 192.168.1.101</B
-></TT
-> 
-IP: 192.168.1.31, Default server: 192.168.1.101, DNS server IP: 192.168.1.101 </PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Change the default server address. 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->ip_address -h 192.168.1.104</B
-></TT
-> 
-IP: 192.168.1.31, Default server: 192.168.1.104, DNS server IP: 192.168.1.101</PRE
-></TD
-></TR
-></TABLE
->
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="help-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="download-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->help</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->load</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ipaq.html b/doc/html/ref/ipaq.html
deleted file mode 100644 (file)
index b239129..0000000
+++ /dev/null
@@ -1,795 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine"
-HREF="nano.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA11X0) Intrinsyc CerfCube"
-HREF="cerfcube.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="nano.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cerfcube.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IPAQ">ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5927">Overview</H2
-><P
->RedBoot supports the serial port via cradle or cable, and Compact Flash
-ethernet cards if fitted for communication and downloads. The LCD touchscreen
-may also be used for the console, although by default RedBoot will switch
-exclusively to one channel once input arrives. </P
-><P
->The default serial port settings are 38400,8,N,1. RedBoot runs from
-and supports flash management for the system flash region. </P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5932"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->WinCE</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, started from
-             <SPAN
-CLASS="APPLICATION"
->OSloader</SPAN
->.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_WinCE.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5957">Initial Installation</H2
-><P
->RedBoot ROM and WinCE mode images are needed by the installation process.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN5960">Installing RedBoot on the iPAQ using Windows/CE</H3
-><P
->The Windows/CE environment originally shipped with the iPAQ contains a hidden
-mini-loader, sometimes referred to as the "Parrot" loader.  This loader can
-be started by holding down the action button (the joypad) while resetting
-the unit or when powering on.  At this point, a blue bird will appear on
-the LCD screen.  Also at this point, a simple loader can be accessed over the
-serial port at 115200/8N1.  Using this loader, the contents of the iPAQ flash
-memory can be saved to a Compact Flash memory card.
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->We have only tested this operation with a 32Mbyte CF memory card.
-Given that the backup will take 16MBytes + 1KByte, something more than a 16MByte
-card will be required.</P
-></BLOCKQUOTE
-></DIV
-></P
-><P
->Use the "r2c" command to dump Flash contents to the CF memory card.  Once this
-completes, RedBoot can be installed with no fear since the Parrot loader can
-be used to restore the Flash contents at a later time.</P
-><P
->If you expect to completely recover the state of the iPAQ Win/CE environment, then
-HotSync should be run to backup all "RAM" files as well before installing RedBoot.</P
-><P
->The next step in installing RedBoot on the iPAQ actually involves Windows/CE,
-which is the native environment on the unit.  Using WinCE, you need to
-install an application which will run a RAM based version of RedBoot. Once
-this is installed and running, RedBoot can be used to update the flash with
-a native/ROM version of RedBoot.       <P
-></P
-><UL
-><LI
-><P
->Using ActiveSync, copy the file OSloader to your iPAQ. </P
-></LI
-><LI
-><P
->Using ActiveSync, copy the file redboot_WinCE.bin to the iPAQ
-as bootldr in its root directory.  Note: this is not the top level folder
-displayed by Windows (Mobile Device), but rather the 'My Pocket PC' folder
-within it.</P
-></LI
-><LI
-><P
->Execute OSloader.  If you didn't create a shortcut, then you
-will have to poke around for it using the WinCE file explorer.</P
-></LI
-><LI
-><P
->Choose the <SPAN
-CLASS="GUIMENUITEM"
->Tools-&#62;BootLdr-&#62;Run after loading
-from file</SPAN
-> menu item.   </P
-></LI
-></UL
->At this point, the RAM based version of RedBoot should be running.
- You should be able to return to this point by just executing the last two
-steps of the previous process if necessary.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN5979">Installing RedBoot on the iPAQ - using the Compaq boot loader</H3
-><P
->This method of installation is no longer supported.
-If you have previously installed either the Compaq boot loader or older
-versions of RedBoot, restore the Win/CE environment and proceed as outlined
-above.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="SETTING-UP-AND-TESTING-REDBOOT">Setting up and testing RedBoot</H3
-><P
->When RedBoot first comes up, it will want to initialize its LCD touch
-screen parameters. It does this by displaying a keyboard graphic and asks
-you to press certain keys.  Using the stylus, press and hold until the prompt
-is withdrawn. When you lift the stylus, RedBoot will continue with the next
-calibration.    </P
-><P
->Once the LCD touchscreen has been calibrated, RedBoot will start. The
-calibration step can be skipped by pressing the <SPAN
-CLASS="GUIBUTTON"
->return/abort</SPAN
->
-button on the unit (right most button with a curved arrow icon). Additionally,
-the unit will assume default values if the screen is not touched within about
-15 seconds.   </P
-><P
->Once RedBoot has started, you should get information similar to this
-on the LCD screen.  It will also appear on the serial port at 38400,8,N,1.
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot(tm) bootstrap and debug environment [ROM]
-Non-certified release, version UNKNOWN - built 06:17:41, Mar 19 2001
-Platform: Compaq iPAQ Pocket PC (StrongARM 1110)
-
-Copyright (C) 2000, 2001, Red Hat, Inc.
-
-RAM: 0x00000000-0x01fc0000, 0x0001f200-0x01f70000 available
-FLASH: 0x50000000 - 0x51000000, 64 blocks of 0x00040000 bytes
-each.</PRE
-></TD
-></TR
-></TABLE
->
-
-Since the LCD touchscreen is only 30 characters wide, some of this
-data will be off the right hand side of the display. The joypad may be
-used to pan left and right in order to see the full lines.  </P
-><P
->If you have a Compact Flash ethernet card, RedBoot should find
-it.  You'll need to have BOOTP enabled for this unit (see your
-sysadmin for details).  If it does, it will print a message like:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->... Waiting for network card: .Ready!
-Socket Communications Inc: CF+ LPE Revision E 08/04/99
-IP: 192.168.1.34, Default server: 192.168.1.101</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="IPAQ-INSTALL-RB-PERMANENTLY">Installing RedBoot permanently</H3
-><P
->Once you are satisfied with the setup and that RedBoot is operating
-properly in your environment, you can set up your iPAQ unit to have RedBoot
-be the bootstrap application. 
-
-<DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->CAUTION</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->This step will destroy your Windows/CE environment.</P
-><P
->Before you take this step, it is strongly recommended you save your WinCE FLASH contents
-as outlined above using the "parrot" loader, or
-by using the Compaq OSloader:<P
-></P
-><UL
-><LI
-><P
->Using OSloader on the iPAQ, select the <SPAN
-CLASS="GUIMENUITEM"
->Tools-&#62;Flash-&#62;Save
-to files...</SPAN
->.  menu item.</P
-></LI
-><LI
-><P
->Four (4) files, 4MB each in size will be created.</P
-></LI
-><LI
-><P
->After each file is created, copy the file to your computer,
-then delete the file from the iPAQ to make room in the WinCE ramdisk for the
-next file.</P
-></LI
-></UL
-></P
-></TD
-></TR
-></TABLE
-></DIV
->You will need to download the version of RedBoot designed as the
-ROM bootstrap. Then install it permanently  using these commands:
- <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->lo -r -b 0x100000 redboot_ROM.bin</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi loc -f 0x50000000 -l 0x40000</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi unl -f 0x50040000 -l 0x40000</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi cr RedBoot -b 0x100000</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi loc -f 0x50040000 -l 0x40000</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->reset</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-
-<DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->WARNING</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->You must type these commands exactly! Failure to do so may render your
-iPAQ totally useless. Once you've done this, RedBoot should come up every
-time you reset.</P
-></TD
-></TR
-></TABLE
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6017">Restoring Windows/CE</H3
-><P
->To restore Windows/CE from the backup taken in <A
-HREF="ipaq.html#IPAQ-INSTALL-RB-PERMANENTLY"
->the Section called <I
->Installing RedBoot permanently</I
-></A
->,
-visit <A
-HREF="http://www.handhelds.org/projects/wincerestoration.html"
-TARGET="_top"
->http://www.handhelds.org/projects/wincerestoration.html</A
->
-for directions.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6022">Additional commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels,
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the iPAQ are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location Linux kernel was loaded to</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->'initrd' ramdisk location</P
-></DD
-><DT
->-s <TT
-CLASS="REPLACEABLE"
-><I
->&lt;len&#62;</I
-></TT
-></DT
-><DD
-><P
->Length of initrd ramdisk</P
-></DD
-></DL
-></DIV
-><P
->Linux kernels may be run on the iPAQ using the sources from the anonymous
-CVS repository at the Handhelds project (<A
-HREF="http://www.handhelds.org/"
-TARGET="_top"
->http://www.handhelds.org/</A
->) with
-the <TT
-CLASS="FILENAME"
->elinux.patch</TT
-> patch file applied. This file can be
-found in the
-<TT
-CLASS="FILENAME"
->misc/</TT
-> subdirectory of the iPAQ platform HAL in the
-RedBoot sources, normally
-<TT
-CLASS="FILENAME"
->hal/arm/sa11x0/ipaq/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/misc/</TT
->
-  </P
-><P
->On the iPAQ (and indeed all SA11x0 platforms), Linux expects to be loaded
-at address 0xC0008000 and the entry point is also at 0xC0008000.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6061">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the iPAQ:   The first level
-page table is located at physical address 0xC0004000.  No second level tables
-are used.   <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-> <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x01ffffff    16Mb to 32Mb FLASH (nCS0) [organized as below]
-  0x000000 - 0x0003ffff      Parrot Loader
-  0x040000 - 0x0007ffff      RedBoot
-  0xf80000 - 0x00fbffff      Fconfig data
-  0xfc0000 - 0x00ffffff      FIS directory
-0x30000000 - 0x3fffffff    Compact Flash
-0x48000000 - 0x4bffffff    iPAQ internal registers
-0x80000000 - 0xbfffffff    SA-1110 Internal Registers
-0xc0000000 - 0xc1ffffff    DRAM Bank 0 - 32Mb SDRAM
-0xe0000000 - 0xe7ffffff    Cache Clean
-
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x01ffffff  Y Y  DRAM - 32Mb
-0x30000000 - 0x3fffffff  N N  Compact Flash
-0x48000000 - 0x4bffffff  N N  iPAQ internal registers
-0x50000000 - 0x51ffffff  Y Y  Up to 32Mb FLASH (nCS0)
-0x80000000 - 0xbfffffff  N N  SA-1110 Internal Registers
-0xc0000000 - 0xc1ffffff  N Y  DRAM Bank 0: 32Mb
-0xe0000000 - 0xe7ffffff  Y Y  Cache Clean   </PRE
-></TD
-></TR
-></TABLE
-> </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6068">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=ipaq
-export ARCH_DIR=arm
-export PLATFORM_DIR=sa11x0/ipaq</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="nano.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cerfcube.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA11X0) Intrinsyc CerfCube</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/iq80310.html b/doc/html/ref/iq80310.html
deleted file mode 100644 (file)
index af8d77e..0000000
+++ /dev/null
@@ -1,775 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/Xscale Cyclone IQ80310</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA11X0) Intrinsyc CerfCube"
-HREF="cerfcube.html"><LINK
-REL="NEXT"
-TITLE="ARM/Xscale Intel IQ80321"
-HREF="iq80321.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cerfcube.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="iq80321.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IQ80310">ARM/Xscale Cyclone IQ80310</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6164">Overview</H2
-><P
->RedBoot supports
-both serial ports and the built-in ethernet port for communication and downloads.
-The default serial port settings are 115200,8,N,1. RedBoot also supports flash
-management for the onboard 8MB flash.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6174"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMA</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from flash address 0x40000, with
-             ARM bootloader in flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMA.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAMA</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with ARM bootloader in
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAMA.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6203">Initial Installation Method</H2
-><P
->The board manufacturer provides a DOS application which is
-capable of programming the flash over the PCI bus, and this is
-required for initial installations of RedBoot. Please see the board
-manual for information on using this utility.  In general, the process
-involves programming one of the two flash based RedBoot images to
-flash. The ROM mode RedBoot (which runs from the flash boot sector)
-should be programmed to flash address 0x00000000. The ROMA RedBoot
-mode (which is started by the ARM bootloader) should be programmed to
-flash address 0x00004000.</P
-><P
-> To install RedBoot to run from the flash boot sector, use the manufacturer's
-flash utility to install the ROM mode image at address zero.</P
-><P
->To install RedBoot to run from address 0x40000 with the ARM bootloader
-in the flash boot sector, use the manufacturer's flash utility to install
-the ROMA mode image at address 0x40000. </P
-><P
->After booting the initial installation of RedBoot, this warning may
-be printed: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->flash configuration checksum error or invalid key</PRE
-></TD
-></TR
-></TABLE
->This is normal, and indicates that the flash must be configured
-for use by RedBoot. Even if the above message is not printed, it may be a
-good idea to reinitialize the flash anyway. Do this with the <B
-CLASS="COMMAND"
->fis</B
-> command: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init</B
-></TT
->
-About to initialize [format] flash image system - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-*** Initialize flash Image System
-Warning: device contents not erased, some blocks may not be usable
-... Unlock from 0x007e0000-0x00800000: .
-... Erase from 0x007e0000-0x00800000: .
-... Program from 0xa1fd0000-0xa1fd0400 at 0x007e0000: .
-... Lock from 0x007e0000-0x00800000: .
-Followed by the fconfig command:
-   RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig</B
-></TT
->
-   Run script at boot: <TT
-CLASS="USERINPUT"
-><B
->false</B
-></TT
->
-   Use BOOTP for network configuration: <TT
-CLASS="USERINPUT"
-><B
->false</B
-></TT
->
-   Local IP address: <TT
-CLASS="USERINPUT"
-><B
->192.168.1.153</B
-></TT
->
-   Default server IP address: <TT
-CLASS="USERINPUT"
-><B
->192.168.1.10</B
-></TT
->
-   GDB connection port: <TT
-CLASS="USERINPUT"
-><B
->1000</B
-></TT
->
-   Network debug at boot time: <TT
-CLASS="USERINPUT"
-><B
->false</B
-></TT
->
-   Update RedBoot non-volatile configuration - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-   ... Unlock from 0x007c0000-0x007e0000: .
-   ... Erase from 0x007c0000-0x007e0000: .
-   ... Program from 0xa0013018-0xa0013418 at 0x007c0000: .
-   ... Lock from 0x007c0000-0x007e0000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When later updating RedBoot in situ, it is important to
-use a matching ROM and RAM mode pair of images. So use either RAM/ROM
-or RAMA/ROMA images. Do not mix them.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6224">Error codes</H2
-><P
->RedBoot uses the two digit LED display to indicate errors during   board
-initialization. Possible error codes are:      <P
-CLASS="LITERALLAYOUT"
->88&nbsp;-&nbsp;Unknown&nbsp;Error<br>
-55&nbsp;-&nbsp;I2C&nbsp;Error<br>
-FF&nbsp;-&nbsp;SDRAM&nbsp;Error<br>
-01&nbsp;-&nbsp;No&nbsp;Error</P
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6228">Using RedBoot with ARM Bootloader</H2
-><P
->RedBoot can coexist with ARM tools in flash on the IQ80310 board. In
-this configuration, the ARM bootloader will occupy the flash boot sector while
-RedBoot is located at flash address 0x40000. The sixteen position rotary switch
-is used to tell the ARM bootloader to jump to the RedBoot image located at
-address 0x40000. RedBoot is selected by switch position 0 or 1. Other switch
-positions are used by the ARM firmware and RedBoot will not be started. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6231">Special RedBoot Commands</H2
-><P
->A special RedBoot command, <B
-CLASS="COMMAND"
->diag</B
->, is used to
-access a set of hardware diagnostics provided by the board
-manufacturer. To access the diagnostic menu, enter diag at the RedBoot prompt: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->diag</B
-></TT
->
-Entering Hardware Diagnostics - Disabling Data Cache!
-1 - Memory Tests
-2 - Repeating Memory Tests
-3 - 16C552 DUART Serial Port Tests
-4 - Rotary Switch S1 Test for positions 0-3 
-5 - seven Segment LED Tests
-6 - Backplane Detection Test
-7 - Battery Status Test
-8 - External Timer Test
-9 - i82559 Ethernet Configuration
-10 - i82559 Ethernet Test
-11 - Secondary PCI Bus Test
-12 - Primary PCI Bus Test
-13 - i960Rx/303 PCI Interrupt Test
-14 - Internal Timer Test
-15 - GPIO Test
-0 - quit Enter the menu item number (0 to quit):</PRE
-></TD
-></TR
-></TABLE
->
-Tests for various hardware subsystems are provided, and some
-tests require special hardware in order to execute normally. The Ethernet
-Configuration item may be used to set the board ethernet address.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6237">IQ80310 Hardware Tests</H2
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->1 - Memory Tests
-2 - Repeating Memory Tests
-3 - 16C552 DUART Serial Port Tests
-4 - Rotary Switch S1 Test for positions 0-3
-5 - 7 Segment LED Tests
-6 - Backplane Detection Test
-7 - Battery Status Test
-8 - External Timer Test
-9 - i82559 Ethernet Configuration
-10 - i82559 Ethernet Test
-11 - i960Rx/303 PCI Interrupt Test
-12 - Internal Timer Test
-13 - Secondary PCI Bus Test
-14 - Primary PCI Bus Test
-15 - Battery Backup SDRAM Memory Test
-16 - GPIO Test
-17 - Repeat-On-Fail Memory Test
-18 - Coyonosa Cache Loop (No return)
-19 - Show Software and Hardware Revision
-0 - quit
-Enter the menu item number (0 to quit):  </PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Tests for various hardware subsystems are provided, and some tests require
-special hardware in order to execute normally. The Ethernet Configuration
-item may be used to set the board ethernet address.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6242">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=iq80310
-export ARCH_DIR=arm
-export PLATFORM_DIR=iq80310</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6248">Interrupts</H2
-><P
->RedBoot uses an interrupt vector table which is located at address 0xA000A004.
-Entries in this table are pointers to functions with this protoype::      <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int irq_handler( unsigned vector, unsigned data )</PRE
-></TD
-></TR
-></TABLE
->On an IQ80310
-board, the vector argument is one of 49 interrupts defined in <TT
-CLASS="COMPUTEROUTPUT"
->hal/arm/iq80310/current/include/hal_platform_ints.h:</TT
->:   <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// *** 80200 CPU ***
-#define CYGNUM_HAL_INTERRUPT_reserved0     0
-#define CYGNUM_HAL_INTERRUPT_PMU_PMN0_OVFL 1 // See Ch.12 - Performance Mon.
-#define CYGNUM_HAL_INTERRUPT_PMU_PMN1_OVFL 2 // PMU counter 0/1 overflow
-#define CYGNUM_HAL_INTERRUPT_PMU_CCNT_OVFL 3 // PMU clock overflow
-#define CYGNUM_HAL_INTERRUPT_BCU_INTERRUPT 4 // See Ch.11 - Bus Control Unit
-#define CYGNUM_HAL_INTERRUPT_NIRQ          5 // external IRQ
-#define CYGNUM_HAL_INTERRUPT_NFIQ          6 // external FIQ
-
-
-// *** XINT6 interrupts ***
-#define CYGNUM_HAL_INTERRUPT_DMA_0         7
-#define CYGNUM_HAL_INTERRUPT_DMA_1         8
-#define CYGNUM_HAL_INTERRUPT_DMA_2         9
-#define CYGNUM_HAL_INTERRUPT_GTSC         10 // Global Time Stamp Counter
-#define CYGNUM_HAL_INTERRUPT_PEC          11 // Performance Event Counter
-#define CYGNUM_HAL_INTERRUPT_AAIP         12 // application accelerator unit
-
-
-// *** XINT7 interrupts ***
-// I2C interrupts
-#define CYGNUM_HAL_INTERRUPT_I2C_TX_EMPTY 13
-#define CYGNUM_HAL_INTERRUPT_I2C_RX_FULL  14
-#define CYGNUM_HAL_INTERRUPT_I2C_BUS_ERR  15
-#define CYGNUM_HAL_INTERRUPT_I2C_STOP     16
-#define CYGNUM_HAL_INTERRUPT_I2C_LOSS     17
-#define CYGNUM_HAL_INTERRUPT_I2C_ADDRESS  18
-
-
-// Messaging Unit interrupts
-#define CYGNUM_HAL_INTERRUPT_MESSAGE_0           19
-#define CYGNUM_HAL_INTERRUPT_MESSAGE_1           20
-#define CYGNUM_HAL_INTERRUPT_DOORBELL            21
-#define CYGNUM_HAL_INTERRUPT_NMI_DOORBELL        22
-#define CYGNUM_HAL_INTERRUPT_QUEUE_POST          23
-#define CYGNUM_HAL_INTERRUPT_OUTBOUND_QUEUE_FULL 24
-#define CYGNUM_HAL_INTERRUPT_INDEX_REGISTER      25
-// PCI Address Translation Unit
-#define CYGNUM_HAL_INTERRUPT_BIST                26
-
-
-// *** External board interrupts (XINT3) ***
-#define CYGNUM_HAL_INTERRUPT_TIMER        27 // external timer
-#define CYGNUM_HAL_INTERRUPT_ETHERNET     28 // onboard enet
-#define CYGNUM_HAL_INTERRUPT_SERIAL_A     29 // 16x50 uart A
-#define CYGNUM_HAL_INTERRUPT_SERIAL_B     30 // 16x50 uart B
-#define CYGNUM_HAL_INTERRUPT_PCI_S_INTD   31 // secondary PCI INTD
-// The hardware doesn't (yet?) provide masking or status for these
-// even though they can trigger cpu interrupts. ISRs will need to
-// poll the device to see if the device actually triggered the
-// interrupt.
-#define CYGNUM_HAL_INTERRUPT_PCI_S_INTC   32 // secondary PCI INTC
-#define CYGNUM_HAL_INTERRUPT_PCI_S_INTB   33 // secondary PCI INTB
-#define CYGNUM_HAL_INTERRUPT_PCI_S_INTA   34 // secondary PCI INTA
-
-
-// *** NMI Interrupts go to FIQ ***
-#define CYGNUM_HAL_INTERRUPT_MCU_ERR       35
-#define CYGNUM_HAL_INTERRUPT_PATU_ERR      36
-#define CYGNUM_HAL_INTERRUPT_SATU_ERR      37
-#define CYGNUM_HAL_INTERRUPT_PBDG_ERR      38
-#define CYGNUM_HAL_INTERRUPT_SBDG_ERR      39
-#define CYGNUM_HAL_INTERRUPT_DMA0_ERR      40
-#define CYGNUM_HAL_INTERRUPT_DMA1_ERR      41
-#define CYGNUM_HAL_INTERRUPT_DMA2_ERR      42
-#define CYGNUM_HAL_INTERRUPT_MU_ERR        43
-#define CYGNUM_HAL_INTERRUPT_reserved52    44
-#define CYGNUM_HAL_INTERRUPT_AAU_ERR       45
-#define CYGNUM_HAL_INTERRUPT_BIU_ERR       46
-
-
-// *** ATU FIQ sources ***
-#define CYGNUM_HAL_INTERRUPT_P_SERR        47
-#define CYGNUM_HAL_INTERRUPT_S_SERR        48</PRE
-></TD
-></TR
-></TABLE
->The data passed
-to the ISR is pulled from a data table <TT
-CLASS="COMPUTEROUTPUT"
->(hal_interrupt_data)</TT
-> which immediately follows the interrupt vector table. With
-49 interrupts, the data table starts at address 0xA000A0C8.   </P
-><P
->An application may create a normal C function with the above prototype
-to be an ISR. Just poke its address into the table at the correct index and
-enable the interrupt at its source. The return value of the ISR is ignored
-by RedBoot.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6256">Memory Maps</H2
-><P
->The first level page table is located at 0xa0004000. Two second level
-tables are also used. One second level table is located at 0xa0008000 and
-maps the first 1MB of flash. The other second level table is at 0xa0008400,
-and maps the first 1MB of SDRAM. <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-></P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x00000fff    flash Memory
-0x00001000 - 0x00001fff    80312 Internal Registers
-0x00002000 - 0x007fffff    flash Memory
-0x00800000 - 0x7fffffff    PCI ATU Outbound Direct Window
-0x80000000 - 0x83ffffff    Primary PCI 32-bit Memory
-0x84000000 - 0x87ffffff    Primary PCI 64-bit Memory
-0x88000000 - 0x8bffffff    Secondary PCI 32-bit Memory
-0x8c000000 - 0x8fffffff    Secondary PCI 64-bit Memory
-0x90000000 - 0x9000ffff    Primary PCI IO Space
-0x90010000 - 0x9001ffff    Secondary PCI IO Space
-0x90020000 - 0x9fffffff    Unused
-0xa0000000 - 0xbfffffff    SDRAM
-0xc0000000 - 0xefffffff    Unused
-0xf0000000 - 0xffffffff    80200 Internal Registers
-
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x00000fff  Y Y  SDRAM
-0x00001000 - 0x00001fff  N N  80312 Internal Registers
-0x00002000 - 0x007fffff  Y N  flash Memory
-0x00800000 - 0x7fffffff  N N  PCI ATU Outbound Direct Window
-0x80000000 - 0x83ffffff  N N  Primary PCI 32-bit Memory
-0x84000000 - 0x87ffffff  N N  Primary PCI 64-bit Memory
-0x88000000 - 0x8bffffff  N N  Secondary PCI 32-bit Memory
-0x8c000000 - 0x8fffffff  N N  Secondary PCI 64-bit Memory
-0x90000000 - 0x9000ffff  N N  Primary PCI IO Space
-0x90010000 - 0x9001ffff  N N  Secondary PCI IO Space
-0xa0000000 - 0xbfffffff  Y Y  SDRAM
-0xc0000000 - 0xcfffffff  Y Y  Cache Flush Region
-0xd0000000 - 0xd0000fff  Y N  first 4k page of flash
-0xf0000000 - 0xffffffff  N N  80200 Internal Registers </PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6264">Platform Resource Usage</H2
-><P
->The external timer is used as a polled timer to provide timeout support
-for networking and XModem file transfers.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cerfcube.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="iq80321.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA11X0) Intrinsyc CerfCube</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/Xscale Intel IQ80321</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/iq80321.html b/doc/html/ref/iq80321.html
deleted file mode 100644 (file)
index f7faae8..0000000
+++ /dev/null
@@ -1,1060 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/Xscale Intel IQ80321</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/Xscale Cyclone IQ80310"
-HREF="iq80310.html"><LINK
-REL="NEXT"
-TITLE="CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board "
-HREF="calmrisc16.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="iq80310.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="calmrisc16.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="IQ80321">ARM/Xscale Intel IQ80321</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6269">Overview</H2
-><P
->RedBoot supports
-the serial port and the built-in ethernet port for communication and downloads.
-The default serial port settings are 115200,8,N,1. RedBoot also supports flash
-management for the onboard 8MB flash.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6279"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6298">Initial Installation Method</H2
-><P
->The board manufacturer provides a DOS application which is capable of
-programming the flash over the PCI bus, and this is required for initial installations
-of RedBoot. Please see the board manual for information on using this utility.
-In general, the process involves programming the ROM mode RedBoot
-image to flash. RedBoot should be programmed to flash address
-0x00000000 using the DOS utility.</P
-><P
->After booting the initial installation of RedBoot, this warning may
-be printed: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->flash configuration checksum error or invalid key</PRE
-></TD
-></TR
-></TABLE
->This is normal, and indicates that the flash must be configured
-for use by RedBoot. Even if the above message is not printed, it may be a
-good idea to reinitialize the flash anyway. Do this with the <B
-CLASS="COMMAND"
->fis</B
-> command: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init</B
-></TT
->
-About to initialize [format] FLASH image system - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-*** Initialize FLASH Image System
-    Warning: device contents not erased, some blocks may not be usable
-    ... Unlock from 0xf07e0000-0xf0800000: .
-    ... Erase from 0xf07e0000-0xf0800000: .
-    ... Program from 0x01ddf000-0x01ddf400 at 0xf07e0000: .
-    ... Lock from 0xf07e0000-0xf0800000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6307">Switch Settings</H2
-><P
->The 80321 board is highly configurable through a number of switches and jumpers.
-RedBoot makes some assumptions about board configuration and attention must be paid
-to these assumptions for reliable RedBoot operation:
-<P
-></P
-><UL
-><LI
-><P
->The onboard ethernet and the secondary slot may be placed in a
-private space so that they are not seen by a PC BIOS. If the board is to be used
-in a PC with BIOS, then the ethernet should be placed in this private space so that
-RedBoot and the BIOS do not conflict.</P
-></LI
-><LI
-><P
->RedBoot assumes that the board is plugged into a PC with BIOS. This
-requires RedBoot to detect when the BIOS has configured the PCI-X secondary bus. If
-the board is placed in a backplane, RedBoot will never see the BIOS configure the
-secondary bus. To prevent this wait, set switch S7E1-3 to ON when using the board
-in a backplane.</P
-></LI
-><LI
-><P
->For the remaining switch settings, the following is a known good
-configuration:
-<DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6317"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->S1D1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->All OFF</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->S7E1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->7 is ON, all others OFF</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->S8E1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->2,3,5,6 are ON, all others OFF</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->S8E2</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->2,3 are ON, all others OFF</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->S9E1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->3 is ON, all others OFF</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->S4D1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->1,3 are ON, all others OFF</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->J9E1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->2,3 jumpered</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->J9F1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->2,3 jumpered</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->J3F1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Nothing jumpered</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->J3G1</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->2,3 jumpered</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->J1G2</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->2,3 jumpered</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></LI
-></UL
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6353">LED Codes</H2
-><P
->RedBoot uses the two digit LED display to indicate status during   board
-initialization. Possible codes are:</P
-><P
-CLASS="LITERALLAYOUT"
->LED&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Actions<br>
--------------------------------------------------------------<br>
-&nbsp;&nbsp;   Power-On/Reset<br>
-88<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;CPSR<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;coprocessor&nbsp;access<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;write&nbsp;and&nbsp;fill&nbsp;buffer<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setup&nbsp;PBIU&nbsp;chip&nbsp;selects<br>
-A1<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;the&nbsp;Icache<br>
-A2<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;FLASH&nbsp;chip&nbsp;select&nbsp;from&nbsp;0x0&nbsp;to&nbsp;0xF0000000<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Jump&nbsp;to&nbsp;new&nbsp;FLASH&nbsp;location<br>
-A3<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setup&nbsp;and&nbsp;enable&nbsp;the&nbsp;MMU<br>
-A4<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;I2C&nbsp;interface&nbsp;initialization<br>
-90<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wait&nbsp;for&nbsp;I2C&nbsp;initialization&nbsp;to&nbsp;complete<br>
-91<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Send&nbsp;address&nbsp;(via&nbsp;I2C)&nbsp;to&nbsp;the&nbsp;DIMM<br>
-92<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Wait&nbsp;for&nbsp;transmit&nbsp;complete<br>
-93<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read&nbsp;SDRAM&nbsp;PD&nbsp;data&nbsp;from&nbsp;DIMM<br>
-94<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Read&nbsp;remainder&nbsp;of&nbsp;EEPROM&nbsp;data.<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;An&nbsp;error&nbsp;will&nbsp;result&nbsp;in&nbsp;one&nbsp;of&nbsp;the&nbsp;following<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;error&nbsp;codes&nbsp;on&nbsp;the&nbsp;LEDs:<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;77&nbsp;BAD&nbsp;EEPROM&nbsp;checksum<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;55&nbsp;I2C&nbsp;protocol&nbsp;error<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;FF&nbsp;bank&nbsp;size&nbsp;error<br>
-A5<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Setup&nbsp;DDR&nbsp;memory&nbsp;interface<br>
-A6<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;branch&nbsp;target&nbsp;buffer<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush&nbsp;Icache,&nbsp;Dcache&nbsp;and&nbsp;BTB<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush&nbsp;instuction&nbsp;and&nbsp;data&nbsp;TLBs<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
-SL<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ECC&nbsp;Scrub&nbsp;Loop<br>
-SE<br>
-A7<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;main&nbsp;Dcache<br>
-A8<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;mini&nbsp;Dcache<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Flush&nbsp;Dcache<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
-A9<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Enable&nbsp;ECC<br>
-AA<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Save&nbsp;SDRAM&nbsp;size<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;MMU&nbsp;tables&nbsp;into&nbsp;RAM<br>
-AB<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;main&nbsp;Dcache<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clean,&nbsp;drain,&nbsp;flush&nbsp;the&nbsp;mini&nbsp;Dcache<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Drain&nbsp;the&nbsp;write&nbsp;&#38;&nbsp;fill&nbsp;buffers<br>
-AC<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;the&nbsp;TTB&nbsp;register&nbsp;to&nbsp;DRAM&nbsp;mmu_table<br>
-AD<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set&nbsp;mode&nbsp;to&nbsp;IRQ&nbsp;mode<br>
-A7<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;SWI&nbsp;&#38;&nbsp;Undefined&nbsp;"vectors"&nbsp;to&nbsp;RAM&nbsp;(at&nbsp;0x0)<br>
-A6<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Switch&nbsp;to&nbsp;supervisor&nbsp;mode<br>
-A5<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Move&nbsp;remaining&nbsp;"vectors"&nbsp;to&nbsp;RAM&nbsp;(at&nbsp;0x0)<br>
-A4<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Copy&nbsp;DATA&nbsp;to&nbsp;RAM<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize&nbsp;interrupt&nbsp;exception&nbsp;environment<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Initialize&nbsp;stack<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Clear&nbsp;BSS&nbsp;section<br>
-A3<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Call&nbsp;platform&nbsp;specific&nbsp;hardware&nbsp;initialization<br>
-A2<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Run&nbsp;through&nbsp;static&nbsp;constructors<br>
-A1<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Start&nbsp;up&nbsp;the&nbsp;eCos&nbsp;kernel&nbsp;or&nbsp;RedBoot</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6357">Special RedBoot Commands</H2
-><P
->A special RedBoot command, <B
-CLASS="COMMAND"
->diag</B
->, is used to
-access a set of hardware diagnostics. To access the diagnostic menu,
-enter <B
-CLASS="COMMAND"
->diag</B
-> at the RedBoot prompt:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->diag</B
-></TT
->
-Entering Hardware Diagnostics - Disabling Data Cache!
-
-  IQ80321 Hardware Tests
-
- 1 - Memory Tests
- 2 - Repeating Memory Tests
- 3 - Repeat-On-Fail Memory Tests
- 4 - Rotary Switch S1 Test
- 5 - 7 Segment LED Tests
- 6 - i82544 Ethernet Configuration
- 7 - Baterry Status Test
- 8 - Battery Backup SDRAM Memory Test
- 9 - Timer Test
-10 - PCI Bus test
-11 - CPU Cache Loop (No Return)
- 0 - quit
-Enter the menu item number (0 to quit):</PRE
-></TD
-></TR
-></TABLE
->
-Tests for various hardware subsystems are provided, and some tests require
-special hardware in order to execute normally. The Ethernet Configuration
-item may be used to set the board ethernet address.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6364">Memory Tests</H3
-><P
->This test is used to test installed DDR SDRAM memory. Five different
-tests are run over the given address ranges. If errors are encountered, the
-test is aborted and information about the failure is printed. When selected,
-the user will be prompted to enter the base address of the test range and its
-size. The numbers must be in hex with no leading &#8220;0x&#8221;</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Enter the menu item number (0 to quit): <TT
-CLASS="USERINPUT"
-><B
->1</B
-></TT
->
-
-Base address of memory to test (in hex): <TT
-CLASS="USERINPUT"
-><B
->100000</B
-></TT
->
-
-Size of memory to test (in hex): <TT
-CLASS="USERINPUT"
-><B
->200000</B
-></TT
->
-
-Testing memory from 0x00100000 to 0x002fffff.
-
-Walking 1's test: 
-0000000100000002000000040000000800000010000000200000004000000080
-0000010000000200000004000000080000001000000020000000400000008000
-0001000000020000000400000008000000100000002000000040000000800000
-0100000002000000040000000800000010000000200000004000000080000000
-passed
-32-bit address test: passed
-32-bit address bar test: passed
-8-bit address test: passed
-Byte address bar test: passed
-Memory test done.</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6371">Repeating Memory Tests</H3
-><P
->The repeating memory tests are exactly the same as the above memory tests,
-except that the tests are automatically rerun after completion. The only way out
-of this test is to reset the board.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6374">Repeat-On-Fail Memory Tests</H3
-><P
->This is similar to the repeating memory tests except that when an error
-is found, the failing test continuously retries on the failing address.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6377">Rotary Switch S1 Test</H3
-><P
->This tests the operation of the sixteen position rotary switch. When run,
-this test will display the current position of the rotary switch on the LED
-display. Slowly dial through each position and confirm reading on LED.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6380">7 Segment LED Tests</H3
-><P
->This tests the operation of the seven segment displays. When run, each
-LED cycles through 0 through F and a decimal point.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6383">i82544 Ethernet Configuration</H3
-><P
->This test initializes the ethernet controller&#8217;s serial EEPROM if
-the current contents are invalid. In any case, this test will also allow the
-user to enter a six byte ethernet MAC address into the serial EEPROM.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Enter the menu item number (0 to quit): <TT
-CLASS="USERINPUT"
-><B
->6</B
-></TT
->
-
-
-Current MAC address: 00:80:4d:46:00:02
-Enter desired MAC address: <TT
-CLASS="USERINPUT"
-><B
->00:80:4d:46:00:01</B
-></TT
->
-Writing to the Serial EEPROM... Done
-
-******** Reset The Board To Have Changes Take Effect ********</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6389">Battery Status Test</H3
-><P
->This tests the current status of the battery. First, the test checks to
-see if the battery is installed and reports that finding. If the battery is
-installed, the test further determines whether the battery status is one or
-more of the following:
-<P
-></P
-><UL
-><LI
-><P
->Battery is charging.</P
-></LI
-><LI
-><P
->Battery is fully discharged.</P
-></LI
-><LI
-><P
->Battery voltage measures within normal operating range.</P
-></LI
-></UL
-></P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6399">Battery Backup SDRAM Memory Test</H3
-><P
->This tests the battery backup of SDRAM memory. This test is a three
-step process:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Select Battery backup test from main diag menu, then write
-data to SDRAM.</P
-></LI
-><LI
-><P
->Turn off power for 60 seconds, then repower the board.</P
-></LI
-><LI
-><P
->Select Battery backup test from main diag menu, then check
-data that was written in step 1.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6409">Timer Test</H3
-><P
->This tests the internal timer by printing a number of dots at one
-second intervals.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6412">PCI Bus Test</H3
-><P
->This tests the secondary PCI-X bus and socket. This test requires that
-an IQ80310 board be plugged into the secondary slot of the IOP80321 board.
-The test assumes at least 32MB of installed memory on the IQ80310. That memory
-is mapped into the IOP80321 address space and the memory tests are run on that
-memory.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6415">CPU Cache Loop</H3
-><P
->This test puts the CPU into a tight loop run entirely from the ICache.
-This should prevent all external bus accesses.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6418">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=iq80321
-export ARCH_DIR=arm
-export PLATFORM_DIR=xscale/iq80321</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6424">Interrupts</H2
-><P
->RedBoot uses an interrupt vector table which is located at address 0x8004.
-Entries in this table are pointers to functions with this protoype::      <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int irq_handler( unsigned vector, unsigned data )</PRE
-></TD
-></TR
-></TABLE
->On an IQ80321
-board, the vector argument is one of 32 interrupts defined in <TT
-CLASS="COMPUTEROUTPUT"
->hal/arm/xscale/verde/current/include/hal_var_ints.h:</TT
->:   <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->// *** 80200 CPU ***
-#define CYGNUM_HAL_INTERRUPT_DMA0_EOT      0
-#define CYGNUM_HAL_INTERRUPT_DMA0_EOC      1
-#define CYGNUM_HAL_INTERRUPT_DMA1_EOT      2
-#define CYGNUM_HAL_INTERRUPT_DMA1_EOC      3
-#define CYGNUM_HAL_INTERRUPT_RSVD_4        4
-#define CYGNUM_HAL_INTERRUPT_RSVD_5        5
-#define CYGNUM_HAL_INTERRUPT_AA_EOT        6
-#define CYGNUM_HAL_INTERRUPT_AA_EOC        7
-#define CYGNUM_HAL_INTERRUPT_CORE_PMON     8
-#define CYGNUM_HAL_INTERRUPT_TIMER0        9
-#define CYGNUM_HAL_INTERRUPT_TIMER1        10
-#define CYGNUM_HAL_INTERRUPT_I2C_0         11
-#define CYGNUM_HAL_INTERRUPT_I2C_1         12
-#define CYGNUM_HAL_INTERRUPT_MESSAGING     13
-#define CYGNUM_HAL_INTERRUPT_ATU_BIST      14
-#define CYGNUM_HAL_INTERRUPT_PERFMON       15
-#define CYGNUM_HAL_INTERRUPT_CORE_PMU      16
-#define CYGNUM_HAL_INTERRUPT_BIU_ERR       17
-#define CYGNUM_HAL_INTERRUPT_ATU_ERR       18
-#define CYGNUM_HAL_INTERRUPT_MCU_ERR       19
-#define CYGNUM_HAL_INTERRUPT_DMA0_ERR      20
-#define CYGNUM_HAL_INTERRUPT_DMA1_ERR      22
-#define CYGNUM_HAL_INTERRUPT_AA_ERR        23
-#define CYGNUM_HAL_INTERRUPT_MSG_ERR       24
-#define CYGNUM_HAL_INTERRUPT_SSP           25
-#define CYGNUM_HAL_INTERRUPT_RSVD_26       26
-#define CYGNUM_HAL_INTERRUPT_XINT0         27
-#define CYGNUM_HAL_INTERRUPT_XINT1         28
-#define CYGNUM_HAL_INTERRUPT_XINT2         29
-#define CYGNUM_HAL_INTERRUPT_XINT3         30
-#define CYGNUM_HAL_INTERRUPT_HPI           31</PRE
-></TD
-></TR
-></TABLE
->
-The data passed to the ISR is pulled from a data table <TT
-CLASS="COMPUTEROUTPUT"
->(hal_interrupt_data)</TT
-> which immediately follows the interrupt vector table. With
-32 interrupts, the data table starts at address 0x8084.   </P
-><P
->An application may create a normal C function with the above prototype
-to be an ISR. Just poke its address into the table at the correct index and
-enable the interrupt at its source. The return value of the ISR is ignored
-by RedBoot.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6432">Memory Maps</H2
-><P
->The RAM based page table is located at RAM start + 0x4000. RedBoot may be configured
-for one of two memory maps. The difference between them is the location of RAM and the
-PCI outbound windows. The alternative memory map may be used when
-building RedBoot or eCos by using the <TT
-CLASS="LITERAL"
->RAM_ALTMAP</TT
->
-and <TT
-CLASS="LITERAL"
->ROM_ALTMAP</TT
-> startup types in the configuration.
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C, B, and X column to indicate
-the caching policy for the region..</P
-></BLOCKQUOTE
-></DIV
-></P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->X C B  Description
-- - -  ---------------------------------------------
-0 0 0  Uncached/Unbuffered
-0 0 1  Uncached/Buffered
-0 1 0  Cached/Buffered    Write Through, Read Allocate
-0 1 1  Cached/Buffered    Write Back, Read Allocate
-1 0 0  Invalid -- not used
-1 0 1  Uncached/Buffered  No write buffer coalescing
-1 1 0  Mini DCache - Policy set by Aux Ctl Register
-1 1 1  Cached/Buffered    Write Back, Read/Write Allocate
-
-Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x7fffffff    ATU Outbound Direct Window
-0x80000000 - 0x900fffff    ATU Outbound Translate Windows
-0xa0000000 - 0xbfffffff    SDRAM
-0xf0000000 - 0xf0800000    FLASH               (PBIU CS0)
-0xfe800000 - 0xfe800fff    UART                (PBIU CS1)
-0xfe840000 - 0xfe840fff    Left 7-segment LED  (PBIU CS3)
-0xfe850000 - 0xfe850fff    Right 7-segment LED (PBIU CS2)
-0xfe8d0000 - 0xfe8d0fff    Rotary Switch       (PBIU CS4)
-0xfe8f0000 - 0xfe8f0fff    Baterry Status      (PBIU CS5)
-0xfff00000 - 0xffffffff    Verde Memory mapped Registers
-
-
-Default Virtual Map      X C B  Description
------------------------  - - -  ----------------------------------
-0x00000000 - 0x1fffffff  1 1 1  SDRAM
-0x20000000 - 0x9fffffff  0 0 0  ATU Outbound Direct Window
-0xa0000000 - 0xb00fffff  0 0 0  ATU Outbound Translate Windows
-0xc0000000 - 0xdfffffff  0 0 0  Uncached alias for SDRAM
-0xe0000000 - 0xe00fffff  1 1 1  Cache flush region (no phys mem)
-0xf0000000 - 0xf0800000  0 1 0  FLASH               (PBIU CS0)
-0xfe800000 - 0xfe800fff  0 0 0  UART                (PBIU CS1)
-0xfe840000 - 0xfe840fff  0 0 0  Left 7-segment LED  (PBIU CS3)
-0xfe850000 - 0xfe850fff  0 0 0  Right 7-segment LED (PBIU CS2)
-0xfe8d0000 - 0xfe8d0fff  0 0 0  Rotary Switch       (PBIU CS4)
-0xfe8f0000 - 0xfe8f0fff  0 0 0  Baterry Status      (PBIU CS5)
-0xfff00000 - 0xffffffff  0 0 0  Verde Memory mapped Registers
-
-Alternate Virtual Map    X C B  Description
------------------------  - - -  ----------------------------------
-0x00000000 - 0x000fffff  1 1 1  Alias for 1st MB of SDRAM
-0x00100000 - 0x7fffffff  0 0 0  ATU Outbound Direct Window
-0x80000000 - 0x900fffff  0 0 0  ATU Outbound Translate Windows
-0xa0000000 - 0xbfffffff  1 1 1  SDRAM
-0xc0000000 - 0xdfffffff  0 0 0  Uncached alias for SDRAM
-0xe0000000 - 0xe00fffff  1 1 1  Cache flush region (no phys mem)
-0xf0000000 - 0xf0800000  0 1 0  FLASH               (PBIU CS0)
-0xfe800000 - 0xfe800fff  0 0 0  UART                (PBIU CS1)
-0xfe840000 - 0xfe840fff  0 0 0  Left 7-segment LED  (PBIU CS3)
-0xfe850000 - 0xfe850fff  0 0 0  Right 7-segment LED (PBIU CS2)
-0xfe8d0000 - 0xfe8d0fff  0 0 0  Rotary Switch       (PBIU CS4)
-0xfe8f0000 - 0xfe8f0fff  0 0 0  Baterry Status      (PBIU CS5)
-0xfff00000 - 0xffffffff  0 0 0  Verde Memory mapped Registers&#13;</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6442">Platform Resource Usage</H2
-><P
->The Verde programmable timer0 is used for timeout support
-for networking and XModem file transfers.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="iq80310.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="calmrisc16.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/Xscale Cyclone IQ80310</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CalmRISC/CalmRISC16 Samsung CalmRISC16 Core Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-alarms.html b/doc/html/ref/kernel-alarms.html
deleted file mode 100644 (file)
index eb1fab3..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Alarms</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Clocks"
-HREF="kernel-clocks.html"><LINK
-REL="NEXT"
-TITLE="Mutexes"
-HREF="kernel-mutexes.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-clocks.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-mutexes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-ALARMS">Alarms</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1016"
-></A
-><H2
->Name</H2
->cyg_alarm_create, cyg_alarm_delete, cyg_alarm_initialize, cyg_alarm_enable, cyg_alarm_disable&nbsp;--&nbsp;Run an alarm function when a number of events have occurred</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1023"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1024"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_alarm_create</CODE
->(cyg_handle_t counter, cyg_alarm_t* alarmfn, cyg_addrword_t data, cyg_handle_t* handle, cyg_alarm* alarm);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_alarm_delete</CODE
->(cyg_handle_t alarm);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_alarm_initialize</CODE
->(cyg_handle_t alarm, cyg_tick_count_t trigger, cyg_tick_count_t interval);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_alarm_enable</CODE
->(cyg_handle_t alarm);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_alarm_disable</CODE
->(cyg_handle_t alarm);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-ALARMS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Kernel alarms are used together with counters and allow for action to
-be taken when a certain number of events have occurred. If the counter
-is associated with a clock then the alarm action happens when the
-appropriate number of clock ticks have occurred, in other words after
-a certain period of time.
-      </P
-><P
->Setting up an alarm involves a two-step process. First the alarm must
-be created with a call to <TT
-CLASS="FUNCTION"
->cyg_alarm_create</TT
->. This
-takes five arguments. The first identifies the counter to which the
-alarm should be attached. If the alarm should be attached to the
-system's real-time clock then <TT
-CLASS="FUNCTION"
->cyg_real_time_clock</TT
->
-and <TT
-CLASS="FUNCTION"
->cyg_clock_to_counter</TT
-> can be used to get hold
-of the appropriate handle. The next two arguments specify the action
-to be taken when the alarm is triggered, in the form of a function
-pointer and some data. This function should take the form:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void
-alarm_handler(cyg_handle_t alarm, cyg_addrword_t data)
-{
-    &#8230;
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->The data argument passed to the alarm function corresponds to the
-third argument passed to <TT
-CLASS="FUNCTION"
->cyg_alarm_create</TT
->.
-The fourth argument to <TT
-CLASS="FUNCTION"
->cyg_alarm_create</TT
-> is used
-to return a handle to the newly-created alarm object, and the final
-argument provides the memory needed for the alarm object and thus
-avoids any need for dynamic memory allocation within the kernel.
-      </P
-><P
->Once an alarm has been created a further call to
-<TT
-CLASS="FUNCTION"
->cyg_alarm_initialize</TT
-> is needed to activate it.
-The first argument specifies the alarm. The second argument indicates
-the number of events, for example clock ticks, that need to occur
-before the alarm triggers. If the third argument is 0 then the alarm
-will only trigger once. A non-zero value specifies that the alarm
-should trigger repeatedly, with an interval of the specified number of
-events.
-      </P
-><P
->Alarms can be temporarily disabled and reenabled using
-<TT
-CLASS="FUNCTION"
->cyg_alarm_disable</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_alarm_enable</TT
->. Alternatively another call to
-<TT
-CLASS="FUNCTION"
->cyg_alarm_initialize</TT
-> can be used to modify the
-behaviour of an existing alarm. If an alarm is no longer required then
-the associated resources can be released using
-<TT
-CLASS="FUNCTION"
->cyg_alarm_delete</TT
->. 
-      </P
-><P
->The alarm function is invoked when a counter tick occurs, in other
-words when there is a call to <TT
-CLASS="FUNCTION"
->cyg_counter_tick</TT
->,
-and will happen in the same context. If the alarm is associated with
-the system's real-time clock then this will be DSR context, following
-a clock interrupt. If the alarm is associated with some other
-application-specific counter then the details will depend on how that
-counter is updated.
-      </P
-><P
->If two or more alarms are registered for precisely the same counter tick,
-the order of execution of the alarm functions is unspecified.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-ALARMS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_alarm_create</TT
->
-<TT
-CLASS="FUNCTION"
->cyg_alarm_initialize</TT
-> is typically called during
-system initialization but may also be called in thread context. The
-same applies to <TT
-CLASS="FUNCTION"
->cyg_alarm_delete</TT
->.
-<TT
-CLASS="FUNCTION"
->cyg_alarm_initialize</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_alarm_disable</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_alarm_enable</TT
-> may be called during
-initialization or from thread or DSR context, but
-<TT
-CLASS="FUNCTION"
->cyg_alarm_enable</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_alarm_initialize</TT
-> may be expensive operations
-and should only be called when necessary.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-clocks.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-mutexes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Clocks</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Mutexes</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-characterization.html b/doc/html/ref/kernel-characterization.html
deleted file mode 100644 (file)
index 10df8e5..0000000
+++ /dev/null
@@ -1,1349 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Kernel Real-time Characterization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Interrupt Handling"
-HREF="kernel-interrupts.html"><LINK
-REL="NEXT"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-interrupts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-CHARACTERIZATION">Kernel Real-time Characterization</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN2068"
-></A
-><H2
->Name</H2
->tm_basic&nbsp;--&nbsp;Measure the performance of the eCos kernel</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CHARACTERIZATION-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->When building a real-time system, care must be taken to ensure that
-the system will be able to perform properly within the constraints of
-that system. One of these constraints may be how fast certain
-operations can be performed. Another might be how deterministic the
-overall behavior of the system is. Lastly the memory footprint (size)
-and unit cost may be important.
-        </P
-><P
->One of the major problems encountered while evaluating a system will
-be how to compare it with possible alternatives. Most manufacturers of
-real-time systems publish performance numbers, ostensibly so that
-users can compare the different offerings. However, what these numbers
-mean and how they were gathered is often not clear. The values are
-typically measured on a particular piece of hardware, so in order to
-truly compare, one must obtain measurements for exactly the same set
-of hardware that were gathered in a similar fashion.
-        </P
-><P
->Two major items need to be present in any given set of measurements.
-First, the raw values for the various operations; these are typically
-quite easy to measure and will be available for most systems. Second,
-the determinacy of the numbers; in other words how much the value
-might change depending on other factors within the system. This value
-is affected by a number of factors: how long interrupts might be
-masked, whether or not the function can be interrupted, even very
-hardware-specific effects such as cache locality and pipeline usage.
-It is very difficult to measure the determinacy of any given
-operation, but that determinacy is fundamentally important to proper
-overall characterization of a system.
-        </P
-><P
->In the discussion and numbers that follow, three key measurements are
-provided. The first measurement is an estimate of the interrupt
-latency: this is the length of time from when a hardware interrupt
-occurs until its Interrupt Service Routine (ISR) is called. The second
-measurement is an estimate of overall interrupt overhead: this is the
-length of time average interrupt processing takes, as measured by the
-real-time clock interrupt (other interrupt sources will certainly take
-a different amount of time, but this data cannot be easily gathered).
-The third measurement consists of the timings for the various kernel
-primitives.
-          </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CHARACTERIZATION-METHODOLOGY"
-></A
-><H2
->Methodology</H2
-><P
->Key operations in the kernel were measured by using a simple test
-program which exercises the various kernel primitive operations. A
-hardware timer, normally the one used to drive the real-time clock,
-was used for these measurements. In most cases this timer can be read
-with quite high resolution, typically in the range of a few
-microseconds. For each measurement, the operation was repeated a
-number of times. Time stamps were obtained directly before and after
-the operation was performed. The data gathered for the entire set of
-operations was then analyzed, generating average (mean), maximum and
-minimum values. The sample variance (a measure of how close most
-samples are to the mean) was also calculated. The cost of obtaining
-the real-time clock timer values was also measured, and was subtracted
-from all other times.
-          </P
-><P
->Most kernel functions can be measured separately. In each case, a
-reasonable number of iterations are performed. Where the test case
-involves a kernel object, for example creating a task, each iteration
-is performed on a different object. There is also a set of tests which
-measures the interactions between multiple tasks and certain kernel
-primitives. Most functions are tested in such a way as to determine
-the variations introduced by varying numbers of objects in the system.
-For example, the mailbox tests measure the cost of a 'peek' operation
-when the mailbox is empty, has a single item, and has multiple items
-present. In this way, any effects of the state of the object or how
-many items it contains can be determined.
-          </P
-><P
->There are a few things to consider about these measurements. Firstly,
-they are quite micro in scale and only measure the operation in
-question. These measurements do not adequately describe how the
-timings would be perturbed in a real system with multiple interrupting
-sources. Secondly, the possible aberration incurred by the real-time
-clock (system heartbeat tick) is explicitly avoided. Virtually all
-kernel functions have been designed to be interruptible. Thus the
-times presented are typical, but best case, since any particular
-function may be interrupted by the clock tick processing. This number
-is explicitly calculated so that the value may be included in any
-deadline calculations required by the end user. Lastly, the reported
-measurements were obtained from a system built with all options at
-their default values. Kernel instrumentation and asserts are also
-disabled for these measurements. Any number of configuration options
-can change the measured results, sometimes quite dramatically. For
-example, mutexes are using priority inheritance in these measurements.
-The numbers will change if the system is built with priority
-inheritance on mutex variables turned off.
-          </P
-><P
->The final value that is measured is an estimate of interrupt latency.
-This particular value is not explicitly calculated in the test program
-used, but rather by instrumenting the kernel itself. The raw number of
-timer ticks that elapse between the time the timer generates an
-interrupt and the start of the timer ISR is kept in the kernel. These
-values are printed by the test program after all other operations have
-been tested. Thus this should be a reasonable estimate of the
-interrupt latency over time.
-          </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CHARACTERIZATION-USING-MEASUREMENTS"
-></A
-><H2
->Using these Measurements</H2
-><P
->These measurements can be used in a number of ways. The most typical
-use will be to compare different real-time kernel offerings on similar
-hardware, another will be to estimate the cost of implementing a task
-using eCos (applications can be examined to see what effect the kernel
-operations will have on the total execution time). Another use would
-be to observe how the tuning of the kernel affects overall operation.
-          </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CHARACTERIZATION-INFLUENCES"
-></A
-><H2
->Influences on Performance</H2
-><P
->A number of factors can affect real-time performance in a system. One
-of the most common factors, yet most difficult to characterize, is the
-effect of device drivers and interrupts on system timings. Different
-device drivers will have differing requirements as to how long
-interrupts are suppressed, for example. The eCos system has been
-designed with this in mind, by separating the management of interrupts
-(ISR handlers) and the processing required by the interrupt
-(DSR&#8212;Deferred Service Routine&#8212; handlers). However, since
-there is so much variability here, and indeed most device drivers will
-come from the end users themselves, these effects cannot be reliably
-measured. Attempts have been made to measure the overhead of the
-single interrupt that eCos relies on, the real-time clock timer. This
-should give you a reasonable idea of the cost of executing interrupt
-handling for devices.
-          </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURED-ITEMS"
-></A
-><H2
->Measured Items</H2
-><P
->This section describes the various tests and the numbers presented.
-All tests use the C kernel API (available by way of
-<TT
-CLASS="FILENAME"
->cyg/kernel/kapi.h</TT
->). There is a single main thread
-in the system that performs the various tests. Additional threads may
-be created as part of the testing, but these are short lived and are
-destroyed between tests unless otherwise noted. The terminology
-&#8220;lower priority&#8221; means a priority that is less important,
-not necessarily lower in numerical value. A higher priority thread
-will run in preference to a lower priority thread even though the
-priority value of the higher priority thread may be numerically less
-than that of the lower priority thread.
-          </P
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-THREADS"
-></A
-><H3
->Thread Primitives</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Create thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_create()</TT
-> call.
-Each call creates a totally new thread. The set of threads created by
-this test will be reused in the subsequent thread primitive tests.
-                </P
-></DD
-><DT
->Yield thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call.
-For this test, there are no other runnable threads, thus the test
-should just measure the overhead of trying to give up the CPU.
-                </P
-></DD
-><DT
->Suspend &#0091;suspended&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_suspend()</TT
-> call.
-A thread may be suspended multiple times; each thread is already
-suspended from its initial creation, and is suspended again.
-                </P
-></DD
-><DT
->Resume thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_resume()</TT
-> call.
-All of the threads have a suspend count of 2, thus this call does not
-make them runnable. This test just measures the overhead of resuming a
-thread.
-                </P
-></DD
-><DT
->Set priority</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_set_priority()</TT
->
-call. Each thread, currently suspended, has its priority set to a new
-value.
-                </P
-></DD
-><DT
->Get priority</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_get_priority()</TT
->
-call.
-                </P
-></DD
-><DT
->Kill &#0091;suspended&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_kill()</TT
-> call.
-Each thread in the set is killed. All threads are known to be
-suspended before being killed.
-               </P
-></DD
-><DT
->Yield &#0091;no other&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call
-again. This is to demonstrate that the
-<TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call has a fixed overhead,
-regardless of whether there are other threads in the system.
-                </P
-></DD
-><DT
->Resume &#0091;suspended low priority&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_resume()</TT
-> call
-again. In this case, the thread being resumed is lower priority than
-the main thread, thus it will simply become ready to run but not be
-granted the CPU. This test measures the cost of making a thread ready
-to run.
-                </P
-></DD
-><DT
->Resume &#0091;runnable low priority&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_resume()</TT
-> call
-again. In this case, the thread being resumed is lower priority than
-the main thread and has already been made runnable, so in fact the
-resume call has no effect.
-                </P
-></DD
-><DT
->Suspend &#0091;runnable&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_suspend()</TT
-> call
-again. In this case, each thread has already been made runnable (by
-previous tests).
-                </P
-></DD
-><DT
->Yield &#0091;only low priority&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call.
-In this case, there are many other runnable threads, but they are all
-lower priority than the main thread, thus no thread switches will take
-place.
-                </P
-></DD
-><DT
->Suspend &#0091;runnable-&gt;not runnable&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_suspend()</TT
-> call
-again. The thread being suspended will become non-runnable by this
-action.
-                </P
-></DD
-><DT
->Kill &#0091;runnable&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_kill()</TT
-> call
-again. In this case, the thread being killed is currently runnable,
-but lower priority than the main thread.
-                </P
-></DD
-><DT
->Resume &#0091;high priority&#0093; thread</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_thread_resume()</TT
-> call.
-The thread being resumed is higher priority than the main thread, thus
-a thread switch will take place on each call. In fact there will be
-two thread switches; one to the new higher priority thread and a
-second back to the test thread. The test thread exits immediately.
-                </P
-></DD
-><DT
->Thread switch</DT
-><DD
-><P
->This test attempts to measure the cost of switching from one thread to
-another. Two equal priority threads are started and they will each
-yield to the other for a number of iterations. A time stamp is
-gathered in one thread before the
-<TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call and after the call in the
-other thread.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-SCHEDULER"
-></A
-><H3
->Scheduler Primitives</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Scheduler lock</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_scheduler_lock()</TT
-> call.
-                </P
-></DD
-><DT
->Scheduler unlock &#0091;0 threads&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->
-call. There are no other threads in the system and the unlock happens
-immediately after a lock so there will be no pending DSR&#8217;s to
-run.
-                </P
-></DD
-><DT
->Scheduler unlock &#0091;1 suspended thread&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->
-call. There is one other thread in the system which is currently
-suspended.
-                </P
-></DD
-><DT
->Scheduler unlock &#0091;many suspended threads&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->
-call. There are many other threads in the system which are currently
-suspended. The purpose of this test is to determine the cost of having
-additional threads in the system when the scheduler is activated by
-way of <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->.
-                </P
-></DD
-><DT
->Scheduler unlock &#0091;many low priority threads&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->
-call. There are many other threads in the system which are runnable
-but are lower priority than the main thread. The purpose of this test
-is to determine the cost of having additional threads in the system
-when the scheduler is activated by way of
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-MUTEX"
-></A
-><H3
->Mutex Primitives</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Init mutex</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mutex_init()</TT
-> call. A
-number of separate mutex variables are created. The purpose of this
-test is to measure the cost of creating a new mutex and introducing it
-to the system.
-                </P
-></DD
-><DT
->Lock &#0091;unlocked&#0093; mutex</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mutex_lock()</TT
-> call. The
-purpose of this test is to measure the cost of locking a mutex which
-is currently unlocked. There are no other threads executing in the
-system while this test runs.
-                </P
-></DD
-><DT
->Unlock &#0091;locked&#0093; mutex</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mutex_unlock()</TT
-> call.
-The purpose of this test is to measure the cost of unlocking a mutex
-which is currently locked. There are no other threads executing in the
-system while this test runs.
-                </P
-></DD
-><DT
->Trylock &#0091;unlocked&#0093; mutex</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mutex_trylock()</TT
-> call.
-The purpose of this test is to measure the cost of locking a mutex
-which is currently unlocked. There are no other threads executing in
-the system while this test runs.
-                </P
-></DD
-><DT
->Trylock &#0091;locked&#0093; mutex</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mutex_trylock()</TT
-> call.
-The purpose of this test is to measure the cost of locking a mutex
-which is currently locked. There are no other threads executing in the
-system while this test runs.
-                </P
-></DD
-><DT
->Destroy mutex</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mutex_destroy()</TT
-> call.
-The purpose of this test is to measure the cost of deleting a mutex
-from the system. There are no other threads executing in the system
-while this test runs.
-                </P
-></DD
-><DT
->Unlock/Lock mutex</DT
-><DD
-><P
->This test attempts to measure the cost of unlocking a mutex for which
-there is another higher priority thread waiting. When the mutex is
-unlocked, the higher priority waiting thread will immediately take the
-lock. The time from when the unlock is issued until after the lock
-succeeds in the second thread is measured, thus giving the round-trip
-or circuit time for this type of synchronizer.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-MAILBOX"
-></A
-><H3
->Mailbox Primitives</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Create mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_create()</TT
-> call. A
-number of separate mailboxes is created. The purpose of this test is
-to measure the cost of creating a new mailbox and introducing it to
-the system.
-                </P
-></DD
-><DT
->Peek &#0091;empty&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_peek()</TT
-> call. An
-attempt is made to peek the value in each mailbox, which is currently
-empty. The purpose of this test is to measure the cost of checking a
-mailbox for a value without blocking.
-                </P
-></DD
-><DT
->Put &#0091;first&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_put()</TT
-> call. One
-item is added to a currently empty mailbox. The purpose of this test
-is to measure the cost of adding an item to a mailbox. There are no
-other threads currently waiting for mailbox items to arrive.
-                </P
-></DD
-><DT
->Peek &#0091;1 msg&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_peek()</TT
-> call. An
-attempt is made to peek the value in each mailbox, which contains a
-single item. The purpose of this test is to measure the cost of
-checking a mailbox which has data to deliver.
-                </P
-></DD
-><DT
->Put &#0091;second&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_put()</TT
-> call. A
-second item is added to a mailbox. The purpose of this test is to
-measure the cost of adding an additional item to a mailbox. There are
-no other threads currently waiting for mailbox items to arrive.
-                </P
-></DD
-><DT
->Peek &#0091;2 msgs&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_peek()</TT
-> call. An
-attempt is made to peek the value in each mailbox, which contains two
-items. The purpose of this test is to measure the cost of checking a
-mailbox which has data to deliver.
-                </P
-></DD
-><DT
->Get &#0091;first&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_get()</TT
-> call. The
-first item is removed from a mailbox that currently contains two
-items. The purpose of this test is to measure the cost of obtaining an
-item from a mailbox without blocking.
-              </P
-></DD
-><DT
->Get &#0091;second&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_get()</TT
-> call. The
-last item is removed from a mailbox that currently contains one item.
-The purpose of this test is to measure the cost of obtaining an item
-from a mailbox without blocking.
-                </P
-></DD
-><DT
->Tryput &#0091;first&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_tryput()</TT
-> call. A
-single item is added to a currently empty mailbox. The purpose of this
-test is to measure the cost of adding an item to a mailbox.
-                </P
-></DD
-><DT
->Peek item &#0091;non-empty&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_peek_item()</TT
-> call.
-A single item is fetched from a mailbox that contains a single item.
-The purpose of this test is to measure the cost of obtaining an item
-without disturbing the mailbox.
-                </P
-></DD
-><DT
->Tryget &#0091;non-empty&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_tryget()</TT
-> call. A
-single item is removed from a mailbox that contains exactly one item.
-The purpose of this test is to measure the cost of obtaining one item
-from a non-empty mailbox.
-                </P
-></DD
-><DT
->Peek item &#0091;empty&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_peek_item()</TT
-> call.
-An attempt is made to fetch an item from a mailbox that is empty. The
-purpose of this test is to measure the cost of trying to obtain an
-item when the mailbox is empty.
-                </P
-></DD
-><DT
->Tryget &#0091;empty&#0093; mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_tryget()</TT
-> call. An
-attempt is made to fetch an item from a mailbox that is empty. The
-purpose of this test is to measure the cost of trying to obtain an
-item when the mailbox is empty.
-                </P
-></DD
-><DT
->Waiting to get mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_waiting_to_get()</TT
->
-call. The purpose of this test is to measure the cost of determining
-how many threads are waiting to obtain a message from this mailbox.
-                </P
-></DD
-><DT
->Waiting to put mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_waiting_to_put()</TT
->
-call. The purpose of this test is to measure the cost of determining
-how many threads are waiting to put a message into this mailbox.
-                </P
-></DD
-><DT
->Delete mbox</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_mbox_delete()</TT
-> call.
-The purpose of this test is to measure the cost of destroying a
-mailbox and removing it from the system.
-                </P
-></DD
-><DT
->Put/Get mbox</DT
-><DD
-><P
->In this round-trip test, one thread is sending data to a mailbox that
-is being consumed by another thread. The time from when the data is
-put into the mailbox until it has been delivered to the waiting thread
-is measured. Note that this time will contain a thread switch.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-SEMAPHORE"
-></A
-><H3
->Semaphore Primitives</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Init semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_init()</TT
-> call.
-A number of separate semaphore objects are created and introduced to
-the system. The purpose of this test is to measure the cost of
-creating a new semaphore.
-                </P
-></DD
-><DT
->Post &#0091;0&#0093; semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_post()</TT
-> call.
-Each semaphore currently has a value of 0 and there are no other
-threads in the system. The purpose of this test is to measure the
-overhead cost of posting to a semaphore. This cost will differ if
-there is a thread waiting for the semaphore.
-                </P
-></DD
-><DT
->Wait &#0091;1&#0093; semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_wait()</TT
-> call.
-The semaphore has a current value of 1 so the call is non-blocking.
-The purpose of the test is to measure the overhead of
-&#8220;taking&#8221; a semaphore.
-                </P
-></DD
-><DT
->Trywait &#0091;0&#0093; semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_trywait()</TT
->
-call. The semaphore has a value of 0 when the call is made. The
-purpose of this test is to measure the cost of seeing if a semaphore
-can be &#8220;taken&#8221; without blocking. In this case, the answer
-would be no.
-                </P
-></DD
-><DT
->Trywait &#0091;1&#0093; semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_trywait()</TT
->
-call. The semaphore has a value of 1 when the call is made. The
-purpose of this test is to measure the cost of seeing if a semaphore
-can be &#8220;taken&#8221; without blocking. In this case, the answer
-would be yes.
-                </P
-></DD
-><DT
->Peek semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_peek()</TT
-> call.
-The purpose of this test is to measure the cost of obtaining the
-current semaphore count value.
-                </P
-></DD
-><DT
->Destroy semaphore</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_semaphore_destroy()</TT
->
-call. The purpose of this test is to measure the cost of deleting a
-semaphore from the system.
-                </P
-></DD
-><DT
->Post/Wait semaphore</DT
-><DD
-><P
->In this round-trip test, two threads are passing control back and
-forth by using a semaphore. The time from when one thread calls
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post()</TT
-> until the other thread
-completes its <TT
-CLASS="FUNCTION"
->cyg_semaphore_wait()</TT
-> is measured.
-Note that each iteration of this test will involve a thread switch.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-COUNTERS"
-></A
-><H3
->Counters</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Create counter</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_create()</TT
-> call.
-A number of separate counters are created. The purpose of this test is
-to measure the cost of creating a new counter and introducing it to
-the system.
-                </P
-></DD
-><DT
->Get counter value</DT
-><DD
-><P
->This test measures the
-<TT
-CLASS="FUNCTION"
->cyg_counter_current_value()</TT
-> call. The current
-value of each counter is obtained.
-                </P
-></DD
-><DT
->Set counter value</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_set_value()</TT
->
-call. Each counter is set to a new value.
-                </P
-></DD
-><DT
->Tick counter</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_tick()</TT
-> call.
-Each counter is &#8220;ticked&#8221; once.
-                </P
-></DD
-><DT
->Delete counter</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_delete()</TT
-> call.
-Each counter is deleted from the system. The purpose of this test is
-to measure the cost of deleting a counter object.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="KERNEL-CHARACTERIZATION-MEASURE-ALARMS"
-></A
-><H3
->Alarms</H3
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Create alarm</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_alarm_create()</TT
-> call. A
-number of separate alarms are created, all attached to the same
-counter object. The purpose of this test is to measure the cost of
-creating a new counter and introducing it to the system.
-                </P
-></DD
-><DT
->Initialize alarm</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_alarm_initialize()</TT
->
-call. Each alarm is initialized to a small value.
-                </P
-></DD
-><DT
->Disable alarm</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_alarm_disable()</TT
-> call.
-Each alarm is explicitly disabled.
-                </P
-></DD
-><DT
->Enable alarm</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_alarm_enable()</TT
-> call.
-Each alarm is explicitly enabled.
-                </P
-></DD
-><DT
->Delete alarm</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_alarm_delete()</TT
-> call.
-Each alarm is destroyed. The purpose of this test is to measure the
-cost of deleting an alarm and removing it from the system.
-                </P
-></DD
-><DT
->Tick counter &#0091;1 alarm&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_tick()</TT
-> call. A
-counter is created that has a single alarm attached to it. The purpose
-of this test is to measure the cost of &#8220;ticking&#8221; a counter
-when it has a single attached alarm. In this test, the alarm is not
-activated (fired).
-                </P
-></DD
-><DT
->Tick counter &#0091;many alarms&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_tick()</TT
-> call. A
-counter is created that has multiple alarms attached to it. The
-purpose of this test is to measure the cost of &#8220;ticking&#8221; a
-counter when it has many attached alarms. In this test, the alarms are
-not activated (fired).
-                </P
-></DD
-><DT
->Tick &amp; fire counter &#0091;1 alarm&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_tick()</TT
-> call. A
-counter is created that has a single alarm attached to it. The purpose
-of this test is to measure the cost of &#8220;ticking&#8221; a counter
-when it has a single attached alarm. In this test, the alarm is
-activated (fired). Thus the measured time will include the overhead of
-calling the alarm callback function.
-                </P
-></DD
-><DT
->Tick &amp; fire counter &#0091;many alarms&#0093;</DT
-><DD
-><P
->This test measures the <TT
-CLASS="FUNCTION"
->cyg_counter_tick()</TT
-> call. A
-counter is created that has multiple alarms attached to it. The
-purpose of this test is to measure the cost of &#8220;ticking&#8221; a
-counter when it has many attached alarms. In this test, the alarms are
-activated (fired). Thus the measured time will include the overhead of
-calling the alarm callback function.
-                </P
-></DD
-><DT
->Alarm latency &#0091;0 threads&#0093;</DT
-><DD
-><P
->This test attempts to measure the latency in calling an alarm callback
-function. The time from the clock interrupt until the alarm function
-is called is measured. In this test, there are no threads that can be
-run, other than the system idle thread, when the clock interrupt
-occurs (all threads are suspended).
-                </P
-></DD
-><DT
->Alarm latency &#0091;2 threads&#0093;</DT
-><DD
-><P
->This test attempts to measure the latency in calling an alarm callback
-function. The time from the clock interrupt until the alarm function
-is called is measured. In this test, there are exactly two threads
-which are running when the clock interrupt occurs. They are simply
-passing back and forth by way of the
-<TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call. The purpose of this test
-is to measure the variations in the latency when there are executing
-threads.
-                </P
-></DD
-><DT
->Alarm latency &#0091;many threads&#0093;</DT
-><DD
-><P
->This test attempts to measure the latency in calling an alarm callback
-function. The time from the clock interrupt until the alarm function
-is called is measured. In this test, there are a number of threads
-which are running when the clock interrupt occurs. They are simply
-passing back and forth by way of the
-<TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> call. The purpose of this test
-is to measure the variations in the latency when there are many
-executing threads.
-                </P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-interrupts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Interrupt Handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->RedBoot&#8482; User's Guide</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-clocks.html b/doc/html/ref/kernel-clocks.html
deleted file mode 100644 (file)
index d1b906e..0000000
+++ /dev/null
@@ -1,433 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Clocks</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Counters"
-HREF="kernel-counters.html"><LINK
-REL="NEXT"
-TITLE="Alarms"
-HREF="kernel-alarms.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-counters.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-alarms.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-CLOCKS">Clocks</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN922"
-></A
-><H2
->Name</H2
->cyg_clock_create, cyg_clock_delete, cyg_clock_to_counter, cyg_clock_set_resolution, cyg_clock_get_resolution, cyg_real_time_clock, cyg_current_time&nbsp;--&nbsp;Provide system clocks</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN931"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN932"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_clock_create</CODE
->(cyg_resolution_t resolution, cyg_handle_t* handle, cyg_clock* clock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_clock_delete</CODE
->(cyg_handle_t clock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_clock_to_counter</CODE
->(cyg_handle_t clock, cyg_handle_t* counter);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_clock_set_resolution</CODE
->(cyg_handle_t clock, cyg_resolution_t resolution);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_resolution_t cyg_clock_get_resolution</CODE
->(cyg_handle_t clock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_handle_t cyg_real_time_clock</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_tick_count_t cyg_current_time</CODE
->(void);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CLOCKS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->In the eCos kernel clock objects are a special form of <A
-HREF="kernel-counters.html"
->counter</A
-> objects. They are attached to
-a specific type of hardware, clocks that generate ticks at very
-specific time intervals, whereas counters can be used with any event
-source.
-      </P
-><P
->In a default configuration the kernel provides a single clock
-instance, the real-time clock. This gets used for timeslicing and for
-operations that involve a timeout, for example
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_timed_wait</TT
->. If this functionality
-is not required it can be removed from the system using the
-configuration option <TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_COUNTERS_CLOCK</TT
->.
-Otherwise the real-time clock can be accessed by a call to
-<TT
-CLASS="FUNCTION"
->cyg_real_time_clock</TT
->, allowing applications to
-attach alarms, and the current counter value can be obtained using
-<TT
-CLASS="FUNCTION"
->cyg_current_time</TT
->.
-      </P
-><P
->Applications can create and destroy additional clocks if desired,
-using <TT
-CLASS="FUNCTION"
->cyg_clock_create</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_clock_delete</TT
->. The first argument to
-<TT
-CLASS="FUNCTION"
->cyg_clock_create</TT
-> specifies the
-<A
-HREF="kernel-clocks.html#KERNEL-CLOCKS-RESOLUTION"
->resolution</A
-> this clock
-will run at. The second argument is used to return a handle for this
-clock object, and the third argument provides the kernel with the
-memory needed to hold this object. This clock will not actually tick
-by itself. Instead it is the responsibility of application code to
-initialize a suitable hardware timer to generate interrupts at the
-appropriate frequency, install an interrupt handler for this, and
-call <TT
-CLASS="FUNCTION"
->cyg_counter_tick</TT
-> from inside the DSR.
-Associated with each clock is a kernel counter, a handle for which can
-be obtained using <TT
-CLASS="FUNCTION"
->cyg_clock_to_counter</TT
->.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CLOCKS-RESOLUTION"
-></A
-><H2
->Clock Resolutions and Ticks</H2
-><P
->At the kernel level all clock-related operations including delays,
-timeouts and alarms work in units of clock ticks, rather than in units
-of seconds or milliseconds. If the calling code, whether the
-application or some other package, needs to operate using units such
-as milliseconds then it has to convert from these units to clock
-ticks.
-      </P
-><P
->The main reason for this is that it accurately reflects the
-hardware: calling something like <TT
-CLASS="FUNCTION"
->nanosleep</TT
-> with a
-delay of ten nanoseconds will not work as intended on any real
-hardware because timer interrupts simply will not happen that
-frequently; instead calling <TT
-CLASS="FUNCTION"
->cyg_thread_delay</TT
-> with
-the equivalent delay of 0 ticks gives a much clearer indication that
-the application is attempting something inappropriate for the target
-hardware. Similarly, passing a delay of five ticks to
-<TT
-CLASS="FUNCTION"
->cyg_thread_delay</TT
-> makes it fairly obvious that
-the current thread will be suspended for somewhere between four and
-five clock periods, as opposed to passing 50000000 to
-<TT
-CLASS="FUNCTION"
->nanosleep</TT
-> which suggests a granularity that is
-not actually provided.
-      </P
-><P
->A secondary reason is that conversion between clock ticks and units
-such as milliseconds can be somewhat expensive, and whenever possible
-should be done at compile-time or by the application developer rather
-than at run-time. This saves code size and cpu cycles.
-      </P
-><P
->The information needed to perform these conversions is the clock
-resolution. This is a structure with two fields, a dividend and a
-divisor, and specifies the number of nanoseconds between clock ticks.
-For example a clock that runs at 100Hz will have 10 milliseconds
-between clock ticks, or 10000000 nanoseconds. The ratio between the
-resolution's dividend and divisor will therefore be 10000000 to 1, and
-typical values for these might be 1000000000 and 100. If the clock
-runs at a different frequency, say 60Hz, the numbers could be
-1000000000 and 60 respectively. Given a delay in nanoseconds, this can
-be converted to clock ticks by multiplying with the the divisor and
-then dividing by the dividend. For example a delay of 50 milliseconds
-corresponds to 50000000 nanoseconds, and with a clock frequency of
-100Hz this can be converted to
-((50000000&nbsp;*&nbsp;100)&nbsp;/&nbsp;1000000000)&nbsp;=&nbsp;5
-clock ticks. Given the large numbers involved this arithmetic normally
-has to be done using 64-bit precision and the
-<SPAN
-CLASS="TYPE"
->long&nbsp;long</SPAN
-> data type, but allows code to run on
-hardware with unusual clock frequencies.
-      </P
-><P
->The default frequency for the real-time clock on any platform is
-usually about 100Hz, but platform-specific documentation should be
-consulted for this information. Usually it is possible to override
-this default by configuration options, but again this depends on the
-capabilities of the underlying hardware. The resolution for any clock
-can be obtained using <TT
-CLASS="FUNCTION"
->cyg_clock_get_resolution</TT
->.
-For clocks created by application code, there is also a function
-<TT
-CLASS="FUNCTION"
->cyg_clock_set_resolution</TT
->. This does not affect
-the underlying hardware timer in any way, it merely updates the
-information that will be returned in subsequent calls to
-<TT
-CLASS="FUNCTION"
->cyg_clock_get_resolution</TT
->: changing the actual
-underlying clock frequency will require appropriate manipulation of
-the timer hardware.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CLOCKS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_clock_create</TT
-> is usually only called during
-system initialization (if at all), but may also be called from thread
-context. The same applies to <TT
-CLASS="FUNCTION"
->cyg_clock_delete</TT
->.
-The remaining functions may be called during initialization, from
-thread context, or from DSR context, although it should be noted that
-there is no locking between
-<TT
-CLASS="FUNCTION"
->cyg_clock_get_resolution</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_clock_set_resolution</TT
-> so theoretically it is
-possible that the former returns an inconsistent data structure.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-counters.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-alarms.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Counters</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Alarms</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-condition-variables.html b/doc/html/ref/kernel-condition-variables.html
deleted file mode 100644 (file)
index 99ff825..0000000
+++ /dev/null
@@ -1,556 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Condition Variables</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Mutexes"
-HREF="kernel-mutexes.html"><LINK
-REL="NEXT"
-TITLE="Semaphores"
-HREF="kernel-semaphores.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-mutexes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-semaphores.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-CONDITION-VARIABLES">Condition Variables</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1232"
-></A
-><H2
->Name</H2
->cyg_cond_init, cyg_cond_destroy, cyg_cond_wait, cyg_cond_timed_wait, cyg_cond_signal, cyg_cond_broadcast&nbsp;--&nbsp;Synchronization primitive</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1240"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1241"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_cond_init</CODE
->(cyg_cond_t* cond, cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_cond_destroy</CODE
->(cyg_cond_t* cond);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_cond_wait</CODE
->(cyg_cond_t* cond);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_cond_timed_wait</CODE
->(cyg_cond_t* cond, cyg_tick_count_t abstime);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_cond_signal</CODE
->(cyg_cond_t* cond);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_cond_broadcast</CODE
->(cyg_cond_t* cond);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CONDITION-VARIABLES-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Condition variables are used in conjunction with mutexes to implement
-long-term waits for some condition to become true. For example
-consider a set of functions that control access to a pool of
-resources:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;cyg_mutex_t res_lock;
-res_t res_pool[RES_MAX];
-int res_count = RES_MAX;
-
-void res_init(void)
-{
-    cyg_mutex_init(&amp;res_lock);
-    &lt;fill pool with resources&gt;
-}
-
-res_t res_allocate(void)
-{
-    res_t res;
-
-    cyg_mutex_lock(&amp;res_lock);               // lock the mutex
-
-    if( res_count == 0 )                     // check for free resource
-        res = RES_NONE;                      // return RES_NONE if none
-    else
-    {
-        res_count--;                         // allocate a resources
-        res = res_pool[res_count];
-    }
-
-    cyg_mutex_unlock(&amp;res_lock);             // unlock the mutex
-
-    return res;
-}
-
-void res_free(res_t res)
-{
-    cyg_mutex_lock(&amp;res_lock);               // lock the mutex
-
-    res_pool[res_count] = res;               // free the resource
-    res_count++;
-
-    cyg_mutex_unlock(&amp;res_lock);             // unlock the mutex
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->These routines use the variable <TT
-CLASS="VARNAME"
->res_count</TT
-> to keep
-track of the resources available. If there are none then
-<TT
-CLASS="FUNCTION"
->res_allocate</TT
-> returns <TT
-CLASS="LITERAL"
->RES_NONE</TT
->,
-which the caller must check for and take appropriate error handling
-actions.
-      </P
-><P
->Now suppose that we do not want to return
-<TT
-CLASS="LITERAL"
->RES_NONE</TT
-> when there are no resources, but want to
-wait for one to become available. This is where a condition variable
-can be used:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;cyg_mutex_t res_lock;
-cyg_cond_t res_wait;
-res_t res_pool[RES_MAX];
-int res_count = RES_MAX;
-
-void res_init(void)
-{
-    cyg_mutex_init(&amp;res_lock);
-    cyg_cond_init(&amp;res_wait, &amp;res_lock);
-    &lt;fill pool with resources&gt;
-}
-
-res_t res_allocate(void)
-{
-    res_t res;
-
-    cyg_mutex_lock(&amp;res_lock);               // lock the mutex
-
-    while( res_count == 0 )                  // wait for a resources
-        cyg_cond_wait(&amp;res_wait);
-
-    res_count--;                             // allocate a resource
-    res = res_pool[res_count];
-
-    cyg_mutex_unlock(&amp;res_lock);             // unlock the mutex
-
-    return res;
-}
-
-void res_free(res_t res)
-{
-    cyg_mutex_lock(&amp;res_lock);               // lock the mutex
-
-    res_pool[res_count] = res;               // free the resource
-    res_count++;
-
-    cyg_cond_signal(&amp;res_wait);              // wake up any waiting allocators
-
-    cyg_mutex_unlock(&amp;res_lock);             // unlock the mutex
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->In this version of the code, when <TT
-CLASS="FUNCTION"
->res_allocate</TT
->
-detects that there are no resources it calls
-<TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
->. This does two things: it unlocks
-the mutex, and puts the calling thread to sleep on the condition
-variable. When <TT
-CLASS="FUNCTION"
->res_free</TT
-> is eventually called, it
-puts a resource back into the pool and calls
-<TT
-CLASS="FUNCTION"
->cyg_cond_signal</TT
-> to wake up any thread waiting on
-the condition variable. When the waiting thread eventually gets to run again,
-it will re-lock the mutex before returning from
-<TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
->.
-      </P
-><P
->There are two important things to note about the way in which this
-code works. The first is that the mutex unlock and wait in
-<TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
-> are atomic: no other thread can run
-between the unlock and the wait. If this were not the case then a call
-to <TT
-CLASS="FUNCTION"
->res_free</TT
-> by that thread would release the
-resource but the call to <TT
-CLASS="FUNCTION"
->cyg_cond_signal</TT
-> would be
-lost, and the first thread would end up waiting when there were
-resources available.
-      </P
-><P
->The second feature is that the call to
-<TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
-> is in a <TT
-CLASS="LITERAL"
->while</TT
->
-loop and not a simple <TT
-CLASS="LITERAL"
->if</TT
-> statement. This is because
-of the need to re-lock the mutex in <TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
->
-when the signalled thread reawakens. If there are other threads
-already queued to claim the lock then this thread must wait. Depending
-on the scheduler and the queue order, many other threads may have
-entered the critical section before this one gets to run. So the
-condition that it was waiting for may have been rendered false. Using
-a loop around all condition variable wait operations is the only way
-to guarantee that the condition being waited for is still true after
-waiting.
-      </P
-><P
->Before a condition variable can be used it must be initialized with a
-call to <TT
-CLASS="FUNCTION"
->cyg_cond_init</TT
->. This requires two
-arguments, memory for the data structure and a pointer to an existing
-mutex. This mutex will not be initialized by
-<TT
-CLASS="FUNCTION"
->cyg_cond_init</TT
->, instead a separate call to
-<TT
-CLASS="FUNCTION"
->cyg_mutex_init</TT
-> is required. If a condition
-variable is no longer required and there are no threads waiting on it
-then <TT
-CLASS="FUNCTION"
->cyg_cond_destroy</TT
-> can be used.
-      </P
-><P
->When a thread needs to wait for a condition to be satisfied it can
-call <TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
->. The thread must have already
-locked the mutex that was specified in the
-<TT
-CLASS="FUNCTION"
->cyg_cond_init</TT
-> call. This mutex will be unlocked
-and the current thread will be suspended in an atomic operation. When
-some other thread performs a signal or broadcast operation the current
-thread will be woken up and automatically reclaim ownership of the mutex
-again, allowing it to examine global state and determine whether or
-not the condition is now satisfied. The kernel supplies a variant of
-this function, <TT
-CLASS="FUNCTION"
->cyg_cond_timed_wait</TT
->, which can be
-used to wait on the condition variable or until some number of clock
-ticks have occurred. The mutex will always be reclaimed before
-<TT
-CLASS="FUNCTION"
->cyg_cond_timed_wait</TT
-> returns, regardless of
-whether it was a result of a signal operation or a timeout.
-      </P
-><P
->There is no <TT
-CLASS="FUNCTION"
->cyg_cond_trywait</TT
-> function because
-this would not serve any purpose. If a thread has locked the mutex and
-determined that the condition is satisfied, it can just release the
-mutex and return. There is no need to perform any operation on the
-condition variable.
-      </P
-><P
->When a thread changes shared state that may affect some other thread
-blocked on a condition variable, it should call either
-<TT
-CLASS="FUNCTION"
->cyg_cond_signal</TT
-> or
-<TT
-CLASS="FUNCTION"
->cyg_cond_broadcast</TT
->. These calls do not require
-ownership of the mutex, but usually the mutex will have been claimed
-before updating the shared state. A signal operation only wakes up the
-first thread that is waiting on the condition variable, while a
-broadcast wakes up all the threads. If there are no threads waiting on
-the condition variable at the time, then the signal or broadcast will
-have no effect: past signals are not counted up or remembered in any
-way. Typically a signal should be used when all threads will check the
-same condition and at most one thread can continue running. A
-broadcast should be used if threads check slightly different
-conditions, or if the change to the global state might allow multiple
-threads to proceed.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-CONDITION-VARIABLES-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_cond_init</TT
-> is typically called during system
-initialization but may also be called in thread context. The same
-applies to <TT
-CLASS="FUNCTION"
->cyg_cond_delete</TT
->.
-<TT
-CLASS="FUNCTION"
->cyg_cond_wait</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_cond_timedwait</TT
-> may only be called from thread
-context since they may block. <TT
-CLASS="FUNCTION"
->cyg_cond_signal</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_cond_broadcast</TT
-> may be called from thread or
-DSR context.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-mutexes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-semaphores.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Mutexes</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Semaphores</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-counters.html b/doc/html/ref/kernel-counters.html
deleted file mode 100644 (file)
index 4827e16..0000000
+++ /dev/null
@@ -1,349 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Counters</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Exception handling"
-HREF="kernel-exceptions.html"><LINK
-REL="NEXT"
-TITLE="Clocks"
-HREF="kernel-clocks.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-exceptions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-clocks.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-COUNTERS">Counters</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN854"
-></A
-><H2
->Name</H2
->cyg_counter_create, cyg_counter_delete, cyg_counter_current_value, cyg_counter_set_value, cyg_counter_tick&nbsp;--&nbsp;Count event occurrences</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN861"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN862"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_counter_create</CODE
->(cyg_handle_t* handle, cyg_counter* counter);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_counter_delete</CODE
->(cyg_handle_t counter);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_tick_count_t cyg_counter_current_value</CODE
->(cyg_handle_t counter);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_counter_set_value</CODE
->(cyg_handle_t counter, cyg_tick_count_t new_value);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_counter_tick</CODE
->(cyg_handle_t counter);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-COUNTERS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Kernel counters can be used to keep track of how many times a
-particular event has occurred. Usually this event is an external
-signal of some sort. The most common use of counters is in the
-implementation of clocks, but they can be useful with other event
-sources as well. Application code can attach <A
-HREF="kernel-alarms.html"
->alarms</A
-> to counters, causing a function
-to be called when some number of events have occurred.
-      </P
-><P
->A new counter is initialized by a call to
-<TT
-CLASS="FUNCTION"
->cyg_counter_create</TT
->. The first argument is used to
-return a handle to the new counter which can be used for subsequent
-operations. The second argument allows the application to provide the
-memory needed for the object, thus eliminating any need for dynamic
-memory allocation within the kernel. If a counter is no longer
-required and does not have any alarms attached then
-<TT
-CLASS="FUNCTION"
->cyg_counter_delete</TT
-> can be used to release the
-resources, allowing the <SPAN
-CLASS="STRUCTNAME"
->cyg_counter</SPAN
-> data
-structure to be re-used.
-      </P
-><P
->Initializing a counter does not automatically attach it to any source
-of events. Instead some other code needs to call
-<TT
-CLASS="FUNCTION"
->cyg_counter_tick</TT
-> whenever a suitable event
-occurs, which will cause the counter to be incremented and may cause
-alarms to trigger. The current value associated with the counter can
-be retrieved using <TT
-CLASS="FUNCTION"
->cyg_counter_current_value</TT
-> and
-modified with <TT
-CLASS="FUNCTION"
->cyg_counter_set_value</TT
->. Typically
-the latter function is only used during initialization, for example to
-set a clock to wallclock time, but it can be used to reset a counter
-if necessary. However <TT
-CLASS="FUNCTION"
->cyg_counter_set_value</TT
-> will
-never trigger any alarms. A newly initialized counter has a starting
-value of 0.
-      </P
-><P
->The kernel provides two different implementations of counters. The
-default is <TT
-CLASS="VARNAME"
->CYGIMP_KERNEL_COUNTERS_SINGLE_LIST</TT
-> which
-stores all alarms attached to the counter on a single list. This is
-simple and usually efficient. However when a tick occurs the kernel
-code has to traverse this list, typically at DSR level, so if there
-are a significant number of alarms attached to a single counter this
-will affect the system's dispatch latency. The alternative
-implementation, <TT
-CLASS="VARNAME"
->CYGIMP_KERNEL_COUNTERS_MULTI_LIST</TT
->,
-stores each alarm in one of an array of lists such that at most one of
-the lists needs to be searched per clock tick. This involves extra
-code and data, but can improve real-time responsiveness in some
-circumstances. Another configuration option that is relevant here
-is <TT
-CLASS="VARNAME"
->CYGIMP_KERNEL_COUNTERS_SORT_LIST</TT
->, which is
-disabled by default. This provides a trade off between doing work
-whenever a new alarm is added to a counter and doing work whenever a
-tick occurs. It is application-dependent which of these is more
-appropriate.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-COUNTERS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_counter_create</TT
-> is typically called during
-system initialization but may also be called in thread context.
-Similarly <TT
-CLASS="FUNCTION"
->cyg_counter_delete</TT
-> may be called during
-initialization or in thread context.
-<TT
-CLASS="FUNCTION"
->cyg_counter_current_value</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_counter_set_value</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_counter_tick</TT
-> may be called during
-initialization or from thread or DSR context. In fact,
-<TT
-CLASS="FUNCTION"
->cyg_counter_tick</TT
-> is usually called from inside a
-DSR in response to an external event of some sort.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-exceptions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-clocks.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Exception handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Clocks</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-exceptions.html b/doc/html/ref/kernel-exceptions.html
deleted file mode 100644 (file)
index 75e5f9f..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Exception handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread destructors"
-HREF="kernel-thread-destructors.html"><LINK
-REL="NEXT"
-TITLE="Counters"
-HREF="kernel-counters.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-destructors.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-counters.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-EXCEPTIONS">Exception handling</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN782"
-></A
-><H2
->Name</H2
->cyg_exception_set_handler, cyg_exception_clear_handler, cyg_exception_call_handler&nbsp;--&nbsp;Handle processor exceptions</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN787"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN788"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_exception_set_handler</CODE
->(cyg_code_t exception_number, cyg_exception_handler_t* new_handler, cyg_addrword_t new_data, cyg_exception_handler_t** old_handler, cyg_addrword_t* old_data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_exception_clear_handler</CODE
->(cyg_code_t exception_number);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_exception_call_handler</CODE
->(cyg_handle_t thread, cyg_code_t exception_number, cyg_addrword_t exception_info);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN817"
-></A
-><H2
->Description</H2
-><P
->Sometimes code attempts operations that are not legal on the current
-hardware, for example dividing by zero, or accessing data through a
-pointer that is not properly aligned. When this happens the hardware
-will raise an exception. This is very similar to an interrupt, but
-happens synchronously with code execution rather than asynchronously
-and hence can be tied to the thread that is currently running.
-      </P
-><P
->The exceptions that can be raised depend very much on the hardware,
-especially the processor. The corresponding documentation should be
-consulted for more details. Alternatively the architectural HAL header
-file <TT
-CLASS="FILENAME"
->hal_intr.h</TT
->, or one of the
-variant or platform header files it includes, will contain appropriate
-definitions. The details of how to handle exceptions, including
-whether or not it is possible to recover from them, also depend on the
-hardware. 
-      </P
-><P
->Exception handling is optional, and can be disabled through the
-configuration option <TT
-CLASS="VARNAME"
->CYGPKG_KERNEL_EXCEPTIONS</TT
->. If
-an application has been exhaustively tested and is trusted never to
-raise a hardware exception then this option can be disabled and code
-and data sizes will be reduced somewhat. If exceptions are left
-enabled then the system will provide default handlers for the various
-exceptions, but these do nothing. Even the specific type of exception
-is ignored, so there is no point in attempting to decode this and
-distinguish between say a divide-by-zero and an unaligned access.
-If the application installs its own handlers and wants details of the
-specific exception being raised then the configuration option
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_EXCEPTIONS_DECODE</TT
-> has to be enabled.
-      </P
-><P
->An alternative handler can be installed using
-<TT
-CLASS="FUNCTION"
->cyg_exception_set_handler</TT
->. This requires a code
-for the exception, a function pointer for the new exception handler,
-and a parameter to be passed to this handler. Details of the
-previously installed exception handler will be returned via the
-remaining two arguments, allowing that handler to be reinstated, or
-null pointers can be used if this information is of no interest. An
-exception handling function should take the following form:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void
-my_exception_handler(cyg_addrword_t data, cyg_code_t exception, cyg_addrword_t info)
-{
-    &#8230;
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->The data argument corresponds to the <TT
-CLASS="PARAMETER"
-><I
->new_data</I
-></TT
-> 
-parameter supplied to <TT
-CLASS="FUNCTION"
->cyg_exception_set_handler</TT
->.
-The exception code is provided as well, in case a single handler is
-expected to support multiple exceptions. The <TT
-CLASS="PARAMETER"
-><I
->info</I
-></TT
-> 
-argument will depend on the hardware and on the specific exception.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_exception_clear_handler</TT
-> can be used to
-restore the default handler, if desired. It is also possible for
-software to raise an exception and cause the current handler to be
-invoked, but generally this is useful only for testing.
-      </P
-><P
->By default the system maintains a single set of global exception
-handlers. However, since exceptions occur synchronously it is
-sometimes useful to handle them on a per-thread basis, and have a
-different set of handlers for each thread. This behaviour can be
-obtained by disabling the configuration option
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_EXCEPTIONS_GLOBAL</TT
->. If per-thread
-exception handlers are being used then
-<TT
-CLASS="FUNCTION"
->cyg_exception_set_handler</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_exception_clear_handler</TT
-> apply to the current
-thread. Otherwise they apply to the global set of handlers.
-      </P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->In the current implementation
-<TT
-CLASS="FUNCTION"
->cyg_exception_call_handler</TT
-> can only be used on
-the current thread. There is no support for delivering an exception to
-another thread.
-      </P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Exceptions at the eCos kernel level refer specifically to
-hardware-related events such as unaligned accesses to memory or
-division by zero. There is no relation with other concepts that are
-also known as exceptions, for example the <TT
-CLASS="LITERAL"
->throw</TT
-> and
-<TT
-CLASS="LITERAL"
->catch</TT
-> facilities associated with C++.
-      </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-EXCEPTIONS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
->If the system is configured with a single set of global exception
-handlers then
-<TT
-CLASS="FUNCTION"
->cyg_exception_set_handler</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_exception_clear_handler</TT
-> may be called during
-initialization or from thread context. If instead per-thread exception
-handlers are being used then it is not possible to install new
-handlers during initialization because the functions operate
-implicitly on the current thread, so they can only be called from
-thread context. <TT
-CLASS="FUNCTION"
->cyg_exception_call_handler</TT
-> should
-only be called from thread context.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-destructors.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-counters.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread destructors</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Counters</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-flags.html b/doc/html/ref/kernel-flags.html
deleted file mode 100644 (file)
index 1b8dab7..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Event Flags</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Mail boxes"
-HREF="kernel-mail-boxes.html"><LINK
-REL="NEXT"
-TITLE="Spinlocks"
-HREF="kernel-spinlocks.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-mail-boxes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-spinlocks.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-FLAGS">Event Flags</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1555"
-></A
-><H2
->Name</H2
->cyg_flag_init, cyg_flag_destroy, cyg_flag_setbits, cyg_flag_maskbits, cyg_flag_wait, cyg_flag_timed_wait, cyg_flag_poll, cyg_flag_peek, cyg_flag_waiting&nbsp;--&nbsp;Synchronization primitive</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1566"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1567"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_flag_init</CODE
->(cyg_flag_t* flag);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_flag_destroy</CODE
->(cyg_flag_t* flag);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_flag_setbits</CODE
->(cyg_flag_t* flag, cyg_flag_value_t value);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_flag_maskbits</CODE
->(cyg_flag_t* flag, cyg_flag_value_t value);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_flag_value_t cyg_flag_wait</CODE
->(cyg_flag_t* flag, cyg_flag_value_t pattern, cyg_flag_mode_t mode);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_flag_value_t cyg_flag_timed_wait</CODE
->(cyg_flag_t* flag, cyg_flag_value_t pattern, cyg_flag_mode_t mode, cyg_tick_count_t abstime);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_flag_value_t cyg_flag_poll</CODE
->(cyg_flag_t* flag, cyg_flag_value_t pattern, cyg_flag_mode_t mode);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_flag_value_t cyg_flag_peek</CODE
->(cyg_flag_t* flag);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_flag_waiting</CODE
->(cyg_flag_t* flag);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-FLAGS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Event flags allow a consumer thread to wait for one of several
-different types of event to occur. Alternatively it is possible to
-wait for some combination of events. The implementation is relatively
-straightforward. Each event flag contains a 32-bit integer.
-Application code associates these bits with specific events, so for
-example bit 0 could indicate that an I/O operation has completed and
-data is available, while bit 1 could indicate that the user has
-pressed a start button. A producer thread or a DSR can cause one or
-more of the bits to be set, and a consumer thread currently waiting
-for these bits will be woken up.
-      </P
-><P
->Unlike semaphores no attempt is made to keep track of event counts. It
-does not matter whether a given event occurs once or multiple times
-before being consumed, the corresponding bit in the event flag will
-change only once. However semaphores cannot easily be used to handle
-multiple event sources. Event flags can often be used as an
-alternative to condition variables, although they cannot be used for
-completely arbitrary conditions and they only support the equivalent
-of condition variable broadcasts, not signals.
-      </P
-><P
->Before an event flag can be used it must be initialized by a call to
-<TT
-CLASS="FUNCTION"
->cyg_flag_init</TT
->. This takes a pointer to a
-<SPAN
-CLASS="STRUCTNAME"
->cyg_flag_t</SPAN
-> data structure, which can be part of a
-larger structure. All 32 bits in the event flag will be set to 0,
-indicating that no events have yet occurred. If an event flag is no
-longer required it can be cleaned up with a call to
-<TT
-CLASS="FUNCTION"
->cyg_flag_destroy</TT
->, allowing the memory for the
-<TT
-CLASS="STRUCTFIELD"
-><I
->cyg_flag_t</I
-></TT
-> structure to be re-used.
-      </P
-><P
->A consumer thread can wait for one or more events by calling
-<TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
->. This takes three arguments. The
-first identifies a particular event flag. The second is some
-combination of bits, indicating which events are of interest. The
-final argument should be one of the following:
-      </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->CYG_FLAG_WAITMODE_AND</TT
-></DT
-><DD
-><P
->The call to <TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
-> will block until all
-the specified event bits are set. The event flag is not cleared when
-the wait succeeds, in other words all the bits remain set.
-          </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_FLAG_WAITMODE_OR</TT
-></DT
-><DD
-><P
->The call will block until at least one of the specified event bits is
-set. The event flag is not cleared on return.
-          </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_FLAG_WAITMODE_AND | CYG_FLAG_WAITMODE_CLR</TT
-></DT
-><DD
-><P
->The call will block until all the specified event bits are set, and
-the entire event flag is cleared when the call succeeds. Note that
-if this mode of operation is used then a single event flag cannot be
-used to store disjoint sets of events, even though enough bits might
-be available. Instead each disjoint set of events requires its own
-event flag.
-          </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->CYG_FLAG_WAITMODE_OR | CYG_FLAG_WAITMODE_CLR</TT
-></DT
-><DD
-><P
->The call will block until at least one of the specified event bits is
-set, and the entire flag is cleared when the call succeeds.
-          </P
-></DD
-></DL
-></DIV
-><P
->A call to <TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
-> normally blocks until the
-required condition is satisfied. It will return the value of the event
-flag at the point that the operation succeeded, which may be a
-superset of the requested events. If
-<TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
-> is used to unblock a thread
-that is currently in a wait operation, the
-<TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
-> call will instead return 0.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_flag_timed_wait</TT
-> is a variant of
-<TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
-> which adds a timeout: the wait
-operation must succeed within the specified number of ticks, or it
-will fail with a return value of 0. <TT
-CLASS="FUNCTION"
->cyg_flag_poll</TT
->
-is a non-blocking variant: if the wait operation can succeed
-immediately it acts like <TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
->, otherwise
-it returns immediately with a value of 0.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_flag_setbits</TT
-> is called by a producer thread
-or from inside a DSR when an event occurs. The specified bits are or'd
-into the current event flag value. This may cause a waiting thread to
-be woken up, if its condition is now satisfied.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_flag_maskbits</TT
-> can be used to clear one or
-more bits in the event flag. This can be called from a producer when a
-particular condition is no longer satisfied, for example when the user
-is no longer pressing a particular button. It can also be used by a
-consumer thread if <TT
-CLASS="LITERAL"
->CYG_FLAG_WAITMODE_CLR</TT
-> was not
-used as part of the wait operation, to indicate that some but not all
-of the active events have been consumed. If there are multiple
-consumer threads performing wait operations without using
-<TT
-CLASS="FUNCTION"
->CYG_FLAG_WAITMODE_CLR</TT
-> then typically some
-additional synchronization such as a mutex is needed to prevent
-multiple threads consuming the same event.
-      </P
-><P
->Two additional functions are provided to query the current state of an
-event flag. <TT
-CLASS="FUNCTION"
->cyg_flag_peek</TT
-> returns the current
-value of the event flag, and <TT
-CLASS="FUNCTION"
->cyg_flag_waiting</TT
-> can
-be used to find out whether or not there are any threads currently
-blocked on the event flag. Both of these functions must be used with
-care because other threads may be operating on the event flag.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-FLAGS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_flag_init</TT
-> is typically called during system
-initialization but may also be called in thread context. The same
-applies to <TT
-CLASS="FUNCTION"
->cyg_flag_destroy</TT
->.
-<TT
-CLASS="FUNCTION"
->cyg_flag_wait</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_flag_timed_wait</TT
-> may only be called from
-thread context. The remaining functions may be called from thread or
-DSR context.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-mail-boxes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-spinlocks.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Mail boxes</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Spinlocks</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-interrupts.html b/doc/html/ref/kernel-interrupts.html
deleted file mode 100644 (file)
index 64dfe2f..0000000
+++ /dev/null
@@ -1,845 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Interrupt Handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Scheduler Control"
-HREF="kernel-schedcontrol.html"><LINK
-REL="NEXT"
-TITLE="Kernel Real-time Characterization"
-HREF="kernel-characterization.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-schedcontrol.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-characterization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-INTERRUPTS">Interrupt Handling</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1834"
-></A
-><H2
->Name</H2
->cyg_interrupt_create, cyg_interrupt_delete, cyg_interrupt_attach, cyg_interrupt_detach, cyg_interrupt_configure, cyg_interrupt_acknowledge, cyg_interrupt_enable, cyg_interrupt_disable, cyg_interrupt_mask, cyg_interrupt_mask_intunsafe, cyg_interrupt_unmask, cyg_interrupt_unmask_intunsafe, cyg_interrupt_set_cpu, cyg_interrupt_get_cpu, cyg_interrupt_get_vsr, cyg_interrupt_set_vsr&nbsp;--&nbsp;Manage interrupt handlers</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1852"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1853"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_create</CODE
->(cyg_vector_t vector, cyg_priority_t priority, cyg_addrword_t data, cyg_ISR_t* isr, cyg_DSR_t* dsr, cyg_handle_t* handle, cyg_interrupt* intr);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_delete</CODE
->(cyg_handle_t interrupt);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_attach</CODE
->(cyg_handle_t interrupt);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_detach</CODE
->(cyg_handle_t interrupt);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_configure</CODE
->(cyg_vector_t vector, cyg_bool_t level, cyg_bool_t up);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_acknowledge</CODE
->(cyg_vector_t vector);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_disable</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_enable</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_mask</CODE
->(cyg_vector_t vector);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_mask_intunsafe</CODE
->(cyg_vector_t vector);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_unmask</CODE
->(cyg_vector_t vector);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_unmask_intunsafe</CODE
->(cyg_vector_t vector);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_set_cpu</CODE
->(cyg_vector_t vector, cyg_cpu_t cpu);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_cpu_t cyg_interrupt_get_cpu</CODE
->(cyg_vector_t vector);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_get_vsr</CODE
->(cyg_vector_t vector, cyg_VSR_t** vsr);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_interrupt_set_vsr</CODE
->(cyg_vector_t vector, cyg_VSR_t* vsr);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-INTERRUPTS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The kernel provides an interface for installing interrupt handlers and
-controlling when interrupts occur. This functionality is used
-primarily by eCos device drivers and by any application code that
-interacts directly with hardware. However in most cases it is better
-to avoid using this kernel functionality directly, and instead the
-device driver API provided by the common HAL package should be used.
-Use of the kernel package is optional, and some applications such as
-RedBoot work with no need for multiple threads or synchronization
-primitives. Any code which calls the kernel directly rather than the
-device driver API will not function in such a configuration. When the
-kernel package is present the device driver API is implemented as
-<TT
-CLASS="LITERAL"
->#define</TT
->'s to the equivalent kernel calls, otherwise
-it is implemented inside the common HAL package. The latter
-implementation can be simpler than the kernel one because there is no
-need to consider thread preemption and similar issues.
-      </P
-><P
->The exact details of interrupt handling vary widely between
-architectures. The functionality provided by the kernel abstracts away
-from many of the details of the underlying hardware, thus simplifying
-application development. However this is not always successful. For
-example, if some hardware does not provide any support at all for
-masking specific interrupts then calling
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_mask</TT
-> may not behave as intended:
-instead of masking just the one interrupt source it might disable all
-interrupts, because that is as close to the desired behaviour as is
-possible given the hardware restrictions. Another possibility is that
-masking a given interrupt source also affects all lower-priority
-interrupts, but still allows higher-priority ones. The documentation
-for the appropriate HAL packages should be consulted for more
-information about exactly how interrupts are handled on any given
-hardware. The HAL header files will also contain useful information. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-INTERRUPTS-HANDLERS"
-></A
-><H2
->Interrupt Handlers</H2
-><P
->Interrupt handlers are created by a call to
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_create</TT
->. This takes the following
-arguments: 
-      </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->cyg_vector_t <TT
-CLASS="PARAMETER"
-><I
->vector</I
-></TT
-></DT
-><DD
-><P
->The interrupt vector, a small integer, identifies the specific
-interrupt source. The appropriate hardware documentation or HAL header
-files should be consulted for details of which vector corresponds to
-which device.
-          </P
-></DD
-><DT
->cyg_priority_t <TT
-CLASS="PARAMETER"
-><I
->priority</I
-></TT
-></DT
-><DD
-><P
->Some hardware may support interrupt priorities, where a low priority
-interrupt handler can in turn be interrupted by a higher priority one.
-Again hardware-specific documentation should be consulted for details
-about what the valid interrupt priority levels are.
-          </P
-></DD
-><DT
->cyg_addrword_t <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-></DT
-><DD
-><P
->When an interrupt occurs eCos will first call the associated
-interrupt service routine or ISR, then optionally a deferred service
-routine or DSR. The <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> argument to
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_create</TT
-> will be passed to both these
-functions. Typically it will be a pointer to some data structure.
-          </P
-></DD
-><DT
->cyg_ISR_t <TT
-CLASS="PARAMETER"
-><I
->isr</I
-></TT
-></DT
-><DD
-><P
->When an interrupt occurs the hardware will transfer control to the
-appropriate vector service routine or VSR, which is usually provided
-by eCos. This performs any appropriate processing, for example to work
-out exactly which interrupt occurred, and then as quickly as possible
-transfers control the installed ISR. An ISR is a C function which
-takes the following form:
-          </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_uint32
-isr_function(cyg_vector_t vector, cyg_addrword_t data)
-{
-    cyg_bool_t dsr_required = 0;
-
-    &#8230;
-
-    return dsr_required ? CYG_ISR_CALL_DSR : CYG_ISR_HANDLED;
-}
-          </PRE
-></TD
-></TR
-></TABLE
-><P
->The first argument identifies the particular interrupt source,
-especially useful if there multiple instances of a given device and a
-single ISR can be used for several different interrupt vectors. The
-second argument is the <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> field passed to
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_create</TT
->, usually a pointer to some
-data structure. The exact conditions under which an ISR runs will
-depend partly on the hardware and partly on configuration options.
-Interrupts may currently be disabled globally, especially if the
-hardware does not support interrupt priorities. Alternatively
-interrupts may be enabled such that higher priority interrupts are
-allowed through. The ISR may be running on a separate interrupt stack,
-or on the stack of whichever thread was running at the time the
-interrupt happened.
-          </P
-><P
->A typical ISR will do as little work as possible, just enough to meet
-the needs of the hardware and then acknowledge the interrupt by
-calling <TT
-CLASS="FUNCTION"
->cyg_interrupt_acknowledge</TT
->. This ensures
-that interrupts will be quickly reenabled, so higher priority devices
-can be serviced. For some applications there may be one device which
-is especially important and whose ISR can take much longer than
-normal. However eCos device drivers usually will not assume that they
-are especially important, so their ISRs will be as short as possible.
-          </P
-><P
->The return value of an ISR is normally one of
-<TT
-CLASS="LITERAL"
->CYG_ISR_CALL_DSR</TT
-> or
-<TT
-CLASS="LITERAL"
->CYG_ISR_HANDLED</TT
->. The former indicates that further
-processing is required at DSR level, and the interrupt handler's DSR
-will be run as soon as possible. The latter indicates that the
-interrupt has been fully handled and no further effort is required.
-          </P
-><P
->An ISR is allowed to make very few kernel calls. It can manipulate the
-interrupt mask, and on SMP systems it can use spinlocks. However an
-ISR must not make higher-level kernel calls such as posting to a
-semaphore, instead any such calls must be made from the DSR. This
-avoids having to disable interrupts throughout the kernel and thus
-improves interrupt latency.
-          </P
-></DD
-><DT
->cyg_DSR_t <TT
-CLASS="PARAMETER"
-><I
->dsr</I
-></TT
-></DT
-><DD
-><P
->If an interrupt has occurred and the ISR has returned a value
-<TT
-CLASS="LITERAL"
->CYG_ISR_CALL_DSR</TT
->, the system will call the
-deferred service routine or DSR associated with this interrupt
-handler. If the scheduler is not currently locked then the DSR will
-run immediately. However if the interrupted thread was in the middle
-of a kernel call and had locked the scheduler, then the DSR will be
-deferred until the scheduler is again unlocked. This allows the
-DSR to make certain kernel calls safely, for example posting to a
-semaphore or signalling a condition variable. A DSR is a C function
-which takes the following form:
-          </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void
-dsr_function(cyg_vector_t vector,
-             cyg_ucount32 count,
-             cyg_addrword_t data)
-{
-}
-          </PRE
-></TD
-></TR
-></TABLE
-><P
->The first argument identifies the specific interrupt that has caused
-the DSR to run. The second argument indicates the number of these
-interrupts that have occurred and for which the ISR requested a DSR.
-Usually this will be <TT
-CLASS="LITERAL"
->1</TT
->, unless the system is
-suffering from a very heavy load. The third argument is the
-<TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> field passed to
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_create</TT
->. 
-          </P
-></DD
-><DT
->cyg_handle_t* <TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
-></DT
-><DD
-><P
->The kernel will return a handle to the newly created interrupt handler
-via this argument. Subsequent operations on the interrupt handler such
-as attaching it to the interrupt source will use this handle.
-          </P
-></DD
-><DT
->cyg_interrupt* <TT
-CLASS="PARAMETER"
-><I
->intr</I
-></TT
-></DT
-><DD
-><P
->This provides the kernel with an area of memory for holding this
-interrupt handler and associated data.
-          </P
-></DD
-></DL
-></DIV
-><P
->The call to <TT
-CLASS="FUNCTION"
->cyg_interrupt_create</TT
-> simply fills in
-a kernel data structure. A typical next step is to call
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_attach</TT
-> using the handle returned by
-the create operation. This makes it possible to have several different
-interrupt handlers for a given vector, attaching whichever one is
-currently appropriate. Replacing an interrupt handler requires a call
-to <TT
-CLASS="FUNCTION"
->cyg_interrupt_detach</TT
->, followed by another call
-to <TT
-CLASS="FUNCTION"
->cyg_interrupt_attach</TT
-> for the replacement
-handler. <TT
-CLASS="FUNCTION"
->cyg_interrupt_delete</TT
-> can be used if an
-interrupt handler is no longer required.
-      </P
-><P
->Some hardware may allow for further control over specific interrupts,
-for example whether an interrupt is level or edge triggered. Any such
-hardware functionality can be accessed using
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_configure</TT
->: the
-<TT
-CLASS="PARAMETER"
-><I
->level</I
-></TT
-> argument selects between level versus
-edge triggered; the <TT
-CLASS="PARAMETER"
-><I
->up</I
-></TT
-> argument selects between
-high and low level, or between rising and falling edges.
-      </P
-><P
->Usually interrupt handlers are created, attached and configured during
-system initialization, while global interrupts are still disabled. On
-most hardware it will also be necessary to call
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_unmask</TT
->, since the sensible default
-for interrupt masking is to ignore any interrupts for which no handler
-is installed.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-INTERRUPTS-ENABLE"
-></A
-><H2
->Controlling Interrupts</H2
-><P
->eCos provides two ways of controlling whether or not interrupts
-happen. It is possible to disable and reenable all interrupts
-globally, using <TT
-CLASS="FUNCTION"
->cyg_interrupt_disable</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_enable</TT
->. Typically this works by
-manipulating state inside the cpu itself, for example setting a flag
-in a status register or executing special instructions. Alternatively
-it may be possible to mask a specific interrupt source by writing to
-one or to several interrupt mask registers. Hardware-specific
-documentation should be consulted for the exact details of how
-interrupt masking works, because a full implementation is not possible
-on all hardware.
-      </P
-><P
->The primary use for these functions is to allow data to be shared
-between ISRs and other code such as DSRs or threads. If both a thread
-and an ISR need to manipulate either a data structure or the hardware
-itself, there is a possible conflict if an interrupt happens just when
-the thread is doing such manipulation. Problems can be avoided by the
-thread either disabling or masking interrupts during the critical
-region. If this critical region requires only a few instructions then
-usually it is more efficient to disable interrupts. For larger
-critical regions it may be more appropriate to use interrupt masking,
-allowing other interrupts to occur. There are other uses for interrupt
-masking. For example if a device is not currently being used by the
-application then it may be desirable to mask all interrupts generated
-by that device.
-      </P
-><P
->There are two functions for masking a specific interrupt source,
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_mask</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_mask_intunsafe</TT
->. On typical hardware
-masking an interrupt is not an atomic operation, so if two threads
-were to perform interrupt masking operations at the same time there
-could be problems. <TT
-CLASS="FUNCTION"
->cyg_interrupt_mask</TT
-> disables
-all interrupts while it manipulates the interrupt mask. In situations
-where interrupts are already know to be disabled,
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_mask_intunsafe</TT
-> can be used
-instead. There are matching functions
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_unmask</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_unmask_intsafe</TT
->.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-INTERRUPTS-SMP"
-></A
-><H2
->SMP Support</H2
-><P
->On SMP systems the kernel provides an additional two functions related
-to interrupt handling. <TT
-CLASS="FUNCTION"
->cyg_interrupt_set_cpu</TT
->
-specifies that a particular hardware interrupt should always be
-handled on one specific processor in the system. In other words when
-the interrupt triggers it is only that processor which detects it, and
-it is only on that processor that the VSR and ISR will run. If a DSR
-is requested then it will also run on the same CPU. The
-function <TT
-CLASS="FUNCTION"
->cyg_interrupt_get_cpu</TT
-> can be used to
-find out which interrupts are handled on which processor. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-INTERRUPTS-VSR"
-></A
-><H2
->VSR Support</H2
-><P
->When an interrupt occurs the hardware will transfer control to a piece
-of code known as the VSR, or Vector Service Routine. By default this
-code is provided by eCos. Usually it is written in assembler, but on
-some architectures it may be possible to implement VSRs in C by
-specifying an interrupt attribute. Compiler documentation should be
-consulted for more information on this. The default eCos VSR will work
-out which ISR function should process the interrupt, and set up a C
-environment suitable for this ISR.
-      </P
-><P
->For some applications it may be desirable to replace the default eCos
-VSR and handle some interrupts directly. This minimizes interrupt
-latency, but it requires application developers to program at a lower
-level. Usually the best way to write a custom VSR is to copy the
-existing one supplied by eCos and then make appropriate modifications.
-The function <TT
-CLASS="FUNCTION"
->cyg_interrupt_get_vsr</TT
-> can be used to
-get hold of the current VSR for a given interrupt vector, allowing it
-to be restored if the custom VSR is no longer required.
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_set_vsr</TT
-> can be used to install a
-replacement VSR. Usually the <TT
-CLASS="PARAMETER"
-><I
->vsr</I
-></TT
-> argument will
-correspond to an exported label in an assembler source file.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-INTERRUPTS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
->In a typical configuration interrupt handlers are created and attached
-during system initialization, and never detached or deleted. However
-it is possible to perform these operations at thread level, if
-desired. Similarly <TT
-CLASS="FUNCTION"
->cyg_interrupt_configure</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_set_vsr</TT
->, and
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_set_cpu</TT
-> are usually called only
-during system initialization, but on typical hardware may be called at
-any time. <TT
-CLASS="FUNCTION"
->cyg_interrupt_get_vsr</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_get_cpu</TT
-> may be called at any time.
-      </P
-><P
->The functions for enabling, disabling, masking and unmasking
-interrupts can be called in any context, when appropriate. It is the
-responsibility of application developers to determine when the use of
-these functions is appropriate.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-schedcontrol.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-characterization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Scheduler Control</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Kernel Real-time Characterization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-mail-boxes.html b/doc/html/ref/kernel-mail-boxes.html
deleted file mode 100644 (file)
index 042c2c0..0000000
+++ /dev/null
@@ -1,462 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Mail boxes</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Semaphores"
-HREF="kernel-semaphores.html"><LINK
-REL="NEXT"
-TITLE="Event Flags"
-HREF="kernel-flags.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-semaphores.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-flags.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-MAIL-BOXES">Mail boxes</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1425"
-></A
-><H2
->Name</H2
->cyg_mbox_create, cyg_mbox_delete, cyg_mbox_get, cyg_mbox_timed_get, cyg_mbox_tryget, cyg_mbox_peek_item, cyg_mbox_put, cyg_mbox_timed_put, cyg_mbox_tryput, cyg_mbox_peek, cyg_mbox_waiting_to_get, cyg_mbox_waiting_to_put&nbsp;--&nbsp;Synchronization primitive</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1439"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1440"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mbox_create</CODE
->(cyg_handle_t* handle, cyg_mbox* mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mbox_delete</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void* cyg_mbox_get</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void* cyg_mbox_timed_get</CODE
->(cyg_handle_t mbox, cyg_tick_count_t abstime);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void* cyg_mbox_tryget</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_count32 cyg_mbox_peek</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void* cyg_mbox_peek_item</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mbox_put</CODE
->(cyg_handle_t mbox, void* item);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mbox_timed_put</CODE
->(cyg_handle_t mbox, void* item, cyg_tick_count_t abstime);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mbox_tryput</CODE
->(cyg_handle_t mbox, void* item);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mbox_waiting_to_get</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mbox_waiting_to_put</CODE
->(cyg_handle_t mbox);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MAIL-BOXES-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Mail boxes are a synchronization primitive. Like semaphores they
-can be used by a consumer thread to wait until a certain event has
-occurred, but the producer also has the ability to transmit some data
-along with each event. This data, the message, is normally a pointer
-to some data structure. It is stored in the mail box itself, so the
-producer thread that generates the event and provides the data usually
-does not have to block until some consumer thread is ready to receive
-the event. However a mail box will only have a finite capacity,
-typically ten slots. Even if the system is balanced and events are
-typically consumed at least as fast as they are generated, a burst of
-events can cause the mail box to fill up and the generating thread
-will block until space is available again. This behaviour is very
-different from semaphores, where it is only necessary to maintain a
-counter and hence an overflow is unlikely.
-      </P
-><P
->Before a mail box can be used it must be created with a call to
-<TT
-CLASS="FUNCTION"
->cyg_mbox_create</TT
->. Each mail box has a unique
-handle which will be returned via the first argument and which should
-be used for subsequent operations.
-<TT
-CLASS="FUNCTION"
->cyg_mbox_create</TT
-> also requires an area of memory
-for the kernel structure, which is provided by the
-<SPAN
-CLASS="STRUCTNAME"
->cyg_mbox</SPAN
-> second argument. If a mail box is
-no longer required then <TT
-CLASS="FUNCTION"
->cyg_mbox_delete</TT
-> can be
-used. This will simply discard any messages that remain posted.
-      </P
-><P
->The main function for waiting on a mail box is
-<TT
-CLASS="FUNCTION"
->cyg_mbox_get</TT
->. If there is a pending message
-because of a call to <TT
-CLASS="FUNCTION"
->cyg_mbox_put</TT
-> then
-<TT
-CLASS="FUNCTION"
->cyg_mbox_get</TT
-> will return immediately with the
-message that was put into the mail box. Otherwise this function
-will block until there is a put operation. Exceptionally the thread
-can instead be unblocked by a call to
-<TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
->, in which case
-<TT
-CLASS="FUNCTION"
->cyg_mbox_get</TT
-> will return a null pointer. It is
-assumed that there will never be a call to
-<TT
-CLASS="FUNCTION"
->cyg_mbox_put</TT
-> with a null pointer, because it
-would not be possible to distinguish between that and a release
-operation. Messages are always retrieved in the order in which they
-were put into the mail box, and there is no support for messages
-with different priorities.
-      </P
-><P
->There are two variants of <TT
-CLASS="FUNCTION"
->cyg_mbox_get</TT
->. The
-first, <TT
-CLASS="FUNCTION"
->cyg_mbox_timed_get</TT
-> will wait until either
-a message is available or until a number of clock ticks have occurred.
-If no message is posted within the timeout then a null pointer will be
-returned. <TT
-CLASS="FUNCTION"
->cyg_mbox_tryget</TT
-> is a non-blocking
-operation which will either return a message if one is available or a
-null pointer.
-      </P
-><P
->New messages are placed in the mail box by calling
-<TT
-CLASS="FUNCTION"
->cyg_mbox_put</TT
-> or one of its variants. The main put
-function takes two arguments, a handle to the mail box and a
-pointer for the message itself. If there is a spare slot in the
-mail box then the new message can be placed there immediately, and
-if there is a waiting thread it will be woken up so that it can
-receive the message. If the mail box is currently full then
-<TT
-CLASS="FUNCTION"
->cyg_mbox_put</TT
-> will block until there has been a
-get operation and a slot is available. The
-<TT
-CLASS="FUNCTION"
->cyg_mbox_timed_put</TT
-> variant imposes a time limit
-on the put operation, returning false if the operation cannot be
-completed within the specified number of clock ticks. The
-<TT
-CLASS="FUNCTION"
->cyg_mbox_tryput</TT
-> variant is non-blocking,
-returning false if there are no free slots available and the message
-cannot be posted without blocking.
-      </P
-><P
->There are a further four functions available for examining the current
-state of a mailbox. The results of these functions must be used with
-care because usually the state can change at any time as a result of
-activity within other threads, but they may prove occasionally useful
-during debugging or in special situations.
-<TT
-CLASS="FUNCTION"
->cyg_mbox_peek</TT
-> returns a count of the number of
-messages currently stored in the mail box.
-<TT
-CLASS="FUNCTION"
->cyg_mbox_peek_item</TT
-> retrieves the first message,
-but it remains in the mail box until a get operation is performed.
-<TT
-CLASS="FUNCTION"
->cyg_mbox_waiting_to_get</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_mbox_waiting_to_put</TT
-> indicate whether or not
-there are currently threads blocked in a get or a put operation on a
-given mail box.
-      </P
-><P
->The number of slots in each mail box is controlled by a
-configuration option
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_SYNCH_MBOX_QUEUE_SIZE</TT
->, with a default
-value of 10. All mail boxes are the same size.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MAIL-BOXES-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_mbox_create</TT
-> is typically called during
-system initialization but may also be called in thread context.
-The remaining functions are normally called only during thread
-context. Of special note is <TT
-CLASS="FUNCTION"
->cyg_mbox_put</TT
-> which
-can be a blocking operation when the mail box is full, and which
-therefore must never be called from DSR context. It is permitted to
-call <TT
-CLASS="FUNCTION"
->cyg_mbox_tryput</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_mbox_tryget</TT
->, and the information functions
-from DSR context but this is rarely useful.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-semaphores.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-flags.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Semaphores</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Event Flags</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-mutexes.html b/doc/html/ref/kernel-mutexes.html
deleted file mode 100644 (file)
index c5f3318..0000000
+++ /dev/null
@@ -1,748 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Mutexes</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Alarms"
-HREF="kernel-alarms.html"><LINK
-REL="NEXT"
-TITLE="Condition Variables"
-HREF="kernel-condition-variables.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-alarms.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-condition-variables.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-MUTEXES">Mutexes</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1098"
-></A
-><H2
->Name</H2
->cyg_mutex_init, cyg_mutex_destroy, cyg_mutex_lock, cyg_mutex_trylock, cyg_mutex_unlock, cyg_mutex_release, cyg_mutex_set_ceiling, cyg_mutex_set_protocol&nbsp;--&nbsp;Synchronization primitive</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1108"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1109"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mutex_init</CODE
->(cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mutex_destroy</CODE
->(cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mutex_lock</CODE
->(cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_mutex_trylock</CODE
->(cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mutex_unlock</CODE
->(cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mutex_release</CODE
->(cyg_mutex_t* mutex);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mutex_set_ceiling</CODE
->(cyg_mutex_t* mutex, cyg_priority_t priority);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_mutex_set_protocol</CODE
->(cyg_mutex_t* mutex, enum cyg_mutex_protocol protocol/);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MUTEXES-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The purpose of mutexes is to let threads share resources safely. If
-two or more threads attempt to manipulate a data structure with no
-locking between them then the system may run for quite some time
-without apparent problems, but sooner or later the data structure will
-become inconsistent and the application will start behaving strangely
-and is quite likely to crash. The same can apply even when
-manipulating a single variable or some other resource. For example,
-consider:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static volatile int counter = 0;
-
-void
-process_event(void)
-{
-    &#8230;
-
-    counter++;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Assume that after a certain period of time <TT
-CLASS="VARNAME"
->counter</TT
->
-has a value of 42, and two threads A and B running at the same
-priority call <TT
-CLASS="FUNCTION"
->process_event</TT
->. Typically thread A
-will read the value of <TT
-CLASS="VARNAME"
->counter</TT
-> into a register,
-increment this register to 43, and write this updated value back to
-memory. Thread B will do the same, so usually
-<TT
-CLASS="VARNAME"
->counter</TT
-> will end up with a value of 44. However if
-thread A is timesliced after reading the old value 42 but before
-writing back 43, thread B will still read back the old value and will
-also write back 43. The net result is that the counter only gets
-incremented once, not twice, which depending on the application may
-prove disastrous.
-      </P
-><P
->Sections of code like the above which involve manipulating shared data
-are generally known as critical regions. Code should claim a lock
-before entering a critical region and release the lock when leaving.
-Mutexes provide an appropriate synchronization primitive for this.
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static volatile int counter = 0;
-static cyg_mutex_t  lock;
-
-void
-process_event(void)
-{
-    &#8230;
-
-    cyg_mutex_lock(&amp;lock);
-    counter++;
-    cyg_mutex_unlock(&amp;lock);
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->A mutex must be initialized before it can be used, by calling
-<TT
-CLASS="FUNCTION"
->cyg_mutex_init</TT
->. This takes a pointer to a
-<SPAN
-CLASS="STRUCTNAME"
->cyg_mutex_t</SPAN
-> data structure which is typically
-statically allocated, and may be part of a larger data structure. If a
-mutex is no longer required and there are no threads waiting on it
-then <TT
-CLASS="FUNCTION"
->cyg_mutex_destroy</TT
-> can be used.
-      </P
-><P
->The main functions for using a mutex are
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_mutex_unlock</TT
->. In normal operation
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> will return success after claiming
-the mutex lock, blocking if another thread currently owns the mutex.
-However the lock operation may fail if other code calls
-<TT
-CLASS="FUNCTION"
->cyg_mutex_release</TT
-> or
-<TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
->, so if these functions may get
-used then it is important to check the return value. The current owner
-of a mutex should call <TT
-CLASS="FUNCTION"
->cyg_mutex_unlock</TT
-> when a
-lock is no longer required. This operation must be performed by the
-owner, not by another thread.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_mutex_trylock</TT
-> is a variant of
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> that will always return
-immediately, returning success or failure as appropriate. This
-function is rarely useful. Typical code locks a mutex just before
-entering a critical region, so if the lock cannot be claimed then
-there may be nothing else for the current thread to do. Use of this
-function may also cause a form of priority inversion if the owner
-owner runs at a lower priority, because the priority inheritance code
-will not be triggered. Instead the current thread continues running,
-preventing the owner from getting any cpu time, completing the
-critical region, and releasing the mutex.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_mutex_release</TT
-> can be used to wake up all
-threads that are currently blocked inside a call to
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> for a specific mutex. These lock
-calls will return failure. The current mutex owner is not affected.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MUTEXES-PRIORITY-INVERSION"
-></A
-><H2
->Priority Inversion</H2
-><P
->The use of mutexes gives rise to a problem known as priority
-inversion. In a typical scenario this requires three threads A, B, and
-C, running at high, medium and low priority respectively. Thread A and
-thread B are temporarily blocked waiting for some event, so thread C
-gets a chance to run, needs to enter a critical region, and locks
-a mutex. At this point threads A and B are woken up - the exact order
-does not matter. Thread A needs to claim the same mutex but has to
-wait until C has left the critical region and can release the mutex.
-Meanwhile thread B works on something completely different and can
-continue running without problems. Because thread C is running a lower
-priority than B it will not get a chance to run until B blocks for
-some reason, and hence thread A cannot run either. The overall effect
-is that a high-priority thread A cannot proceed because of a lower
-priority thread B, and priority inversion has occurred.
-      </P
-><P
->In simple applications it may be possible to arrange the code such
-that priority inversion cannot occur, for example by ensuring that a
-given mutex is never shared by threads running at different priority
-levels. However this may not always be possible even at the
-application level. In addition mutexes may be used internally by
-underlying code, for example the memory allocation package, so careful
-analysis of the whole system would be needed to be sure that priority
-inversion cannot occur. Instead it is common practice to use one of
-two techniques: priority ceilings and priority inheritance.
-      </P
-><P
->Priority ceilings involve associating a priority with each mutex.
-Usually this will match the highest priority thread that will ever
-lock the mutex. When a thread running at a lower priority makes a
-successful call to <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> or
-<TT
-CLASS="FUNCTION"
->cyg_mutex_trylock</TT
-> its priority will be boosted to
-that of the mutex. For example, given the previous example the
-priority associated with the mutex would be that of thread A, so for
-as long as it owns the mutex thread C will run in preference to thread
-B. When C releases the mutex its priority drops to the normal value
-again, allowing A to run and claim the mutex. Setting the
-priority for a mutex involves a call to
-<TT
-CLASS="FUNCTION"
->cyg_mutex_set_ceiling</TT
->, which is typically called
-during initialization. It is possible to change the ceiling
-dynamically but this will only affect subsequent lock operations, not
-the current owner of the mutex.
-      </P
-><P
->Priority ceilings are very suitable for simple applications, where for
-every thread in the system it is possible to work out which mutexes
-will be accessed. For more complicated applications this may prove
-difficult, especially if thread priorities change at run-time. An
-additional problem occurs for any mutexes outside the application, for
-example used internally within eCos packages. A typical eCos package
-will be unaware of the details of the various threads in the system,
-so it will have no way of setting suitable ceilings for its internal
-mutexes. If those mutexes are not exported to application code then 
-using priority ceilings may not be viable. The kernel does provide a
-configuration option
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT_PRIORITY</TT
->
-that can be used to set the default priority ceiling for all mutexes,
-which may prove sufficient.
-      </P
-><P
->The alternative approach is to use priority inheritance: if a thread
-calls <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> for a mutex that it
-currently owned by a lower-priority thread, then the owner will have
-its priority raised to that of the current thread. Often this is more
-efficient than priority ceilings because priority boosting only
-happens when necessary, not for every lock operation, and the required
-priority is determined at run-time rather than by static analysis.
-However there are complications when multiple threads running at
-different priorities try to lock a single mutex, or when the current
-owner of a mutex then tries to lock additional mutexes, and this makes
-the implementation significantly more complicated than priority
-ceilings. 
-      </P
-><P
->There are a number of configuration options associated with priority
-inversion. First, if after careful analysis it is known that priority
-inversion cannot arise then the component
-<TT
-CLASS="FUNCTION"
->CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL</TT
->
-can be disabled. More commonly this component will be enabled, and one
-of either
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_INHERIT</TT
->
-or
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_CEILING</TT
->
-will be selected, so that one of the two protocols is available for
-all mutexes. It is possible to select multiple protocols, so that some
-mutexes can have priority ceilings while others use priority
-inheritance or no priority inversion protection at all. Obviously this
-flexibility will add to the code size and to the cost of mutex
-operations. The default for all mutexes will be controlled by
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SYNCH_MUTEX_PRIORITY_INVERSION_PROTOCOL_DEFAULT</TT
->,
-and can be changed at run-time using
-<TT
-CLASS="FUNCTION"
->cyg_mutex_set_protocol</TT
->. 
-      </P
-><P
->Priority inversion problems can also occur with other synchronization
-primitives such as semaphores. For example there could be a situation
-where a high-priority thread A is waiting on a semaphore, a
-low-priority thread C needs to do just a little bit more work before
-posting the semaphore, but a medium priority thread B is running and
-preventing C from making progress. However a semaphore does not have
-the concept of an owner, so there is no way for the system to know
-that it is thread C which would next post to the semaphore. Hence
-there is no way for the system to boost the priority of C
-automatically and prevent the priority inversion. Instead situations
-like this have to be detected by application developers and
-appropriate precautions have to be taken, for example making sure that
-all the threads run at suitable priorities at all times.
-      </P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->The current implementation of priority inheritance within the eCos
-kernel does not handle certain exceptional circumstances completely
-correctly. Problems will only arise if a thread owns one mutex,
-then attempts to claim another mutex, and there are other threads
-attempting to lock these same mutexes. Although the system will
-continue running, the current owners of the various mutexes involved
-may not run at the priority they should. This situation never arises
-in typical code because a mutex will only be locked for a small
-critical region, and there is no need to manipulate other shared resources
-inside this region. A more complicated implementation of priority
-inheritance is possible but would add significant overhead and certain
-operations would no longer be deterministic.
-      </P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->Support for priority ceilings and priority inheritance is not
-implemented for all schedulers. In particular neither priority
-ceilings nor priority inheritance are currently available for the
-bitmap scheduler.
-      </P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MUTEXES-ALTERNATIVES"
-></A
-><H2
->Alternatives</H2
-><P
->In nearly all circumstances, if two or more threads need to share some
-data then protecting this data with a mutex is the correct thing to
-do. Mutexes are the only primitive that combine a locking mechanism
-and protection against priority inversion problems. However this
-functionality is achieved at a cost, and in exceptional circumstances
-such as an application's most critical inner loop it may be desirable
-to use some other means of locking.
-      </P
-><P
->When a critical region is very very small it is possible to lock the
-scheduler, thus ensuring that no other thread can run until the
-scheduler is unlocked again. This is achieved with calls to <A
-HREF="kernel-schedcontrol.html"
-><TT
-CLASS="FUNCTION"
->cyg_scheduler_lock</TT
-></A
->
-and <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock</TT
->. If the critical region
-is sufficiently small then this can actually improve both performance
-and dispatch latency because <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> also
-locks the scheduler for a brief period of time. This approach will not
-work on SMP systems because another thread may already be running on a
-different processor and accessing the critical region.
-      </P
-><P
->Another way of avoiding the use of mutexes is to make sure that all
-threads that access a particular critical region run at the same
-priority and configure the system with timeslicing disabled
-(<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_TIMESLICE</TT
->). Without
-timeslicing a thread can only be preempted by a higher-priority one,
-or if it performs some operation that can block. This approach
-requires that none of the operations in the critical region can block,
-so for example it is not legal to call
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
->. It is also vulnerable to
-any changes in the configuration or to the various thread priorities:
-any such changes may now have unexpected side effects. It will not
-work on SMP systems.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MUTEXES-RECURSIVE"
-></A
-><H2
->Recursive Mutexes</H2
-><P
->The implementation of mutexes within the eCos kernel does not support
-recursive locks. If a thread has locked a mutex and then attempts to
-lock the mutex again, typically as a result of some recursive call in
-a complicated call graph, then either an assertion failure will be
-reported or the thread will deadlock. This behaviour is deliberate.
-When a thread has just locked a mutex associated with some data
-structure, it can assume that that data structure is in a consistent
-state. Before unlocking the mutex again it must ensure that the data
-structure is again in a consistent state. Recursive mutexes allow a
-thread to make arbitrary changes to a data structure, then in a
-recursive call lock the mutex again while the data structure is still
-inconsistent. The net result is that code can no longer make any
-assumptions about data structure consistency, which defeats the
-purpose of using mutexes.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-MUTEXES-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_mutex_init</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_mutex_set_ceiling</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_mutex_set_protocol</TT
-> are normally called during
-initialization but may also be called from thread context. The
-remaining functions should only be called from thread context. Mutexes
-serve as a mutual exclusion mechanism between threads, and cannot be
-used to synchronize between threads and the interrupt handling
-subsystem. If a critical region is shared between a thread and a DSR
-then it must be protected using <A
-HREF="kernel-schedcontrol.html"
-><TT
-CLASS="FUNCTION"
->cyg_scheduler_lock</TT
-></A
->
-and <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock</TT
->. If a critical region is
-shared between a thread and an ISR, it must be protected by disabling
-or masking interrupts. Obviously these operations must be used with
-care because they can affect dispatch and interrupt latencies.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-alarms.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-condition-variables.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Alarms</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Condition Variables</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-overview.html b/doc/html/ref/kernel-overview.html
deleted file mode 100644 (file)
index 576d847..0000000
+++ /dev/null
@@ -1,1066 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Kernel Overview</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="NEXT"
-TITLE="SMP Support"
-HREF="kernel-smp.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-smp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-OVERVIEW">Kernel Overview</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN56"
-></A
-><H2
->Name</H2
->Kernel&nbsp;--&nbsp;Overview of the eCos Kernel</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-OVERVIEW-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The kernel is one of the key packages in all of eCos. It provides the
-core functionality needed for developing multi-threaded applications:
-      </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The ability to create new threads in the system, either during startup
-or when the system is already running.
-        </P
-></LI
-><LI
-><P
->Control over the various threads in the system, for example
-manipulating their priorities.
-        </P
-></LI
-><LI
-><P
->A choice of schedulers, determining which thread should currently be
-running. 
-        </P
-></LI
-><LI
-><P
->A range of synchronization primitives, allowing threads to interact
-and share data safely.
-        </P
-></LI
-><LI
-><P
->Integration with the system's support for interrupts and exceptions.
-        </P
-></LI
-></OL
-><P
->In some other operating systems the kernel provides additional
-functionality. For example the kernel may also provide memory
-allocation functionality, and device drivers may be part of the kernel
-as well. This is not the case for eCos. Memory allocation is handled
-by a separate package. Similary each device driver will typically be a
-separate package. Various packages are combined and configured using
-the eCos configuration technology to meet the requirements of the
-application.
-      </P
-><P
->The eCos kernel package is optional. It is possible to write
-single-threaded applications which do not use any kernel
-functionality, for example RedBoot. Typically such applications are
-based around a central polling loop, continually checking all devices
-and taking appropriate action when I/O occurs. A small amount of
-calculation is possible every iteration, at the cost of an increased
-delay between an I/O event occurring and the polling loop detecting
-the event. When the requirements are straightforward it may well be
-easier to develop the application using a polling loop, avoiding the
-complexities of multiple threads and synchronization between threads.
-As requirements get more complicated a multi-threaded solution becomes
-more appropriate, requiring the use of the kernel. In fact some of the
-more advanced packages in eCos, for example the TCP/IP stack, use
-multi-threading internally. Therefore if the application uses any of
-those packages then the kernel becomes a required package, not an
-optional one.
-      </P
-><P
->The kernel functionality can be used in one of two ways. The kernel
-provides its own C API, with functions like
-<TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
->. These can be called directly from
-application code or from other packages. Alternatively there are a
-number of packages which provide compatibility with existing API's,
-for example POSIX threads or &micro;ITRON. These allow application
-code to call standard functions such as
-<TT
-CLASS="FUNCTION"
->pthread_create</TT
->, and those functions are
-implemented using the basic functionality provided by the eCos kernel.
-Using compatibility packages in an eCos application can make it much
-easier to reuse code developed in other environments, and to share
-code.
-      </P
-><P
->Although the different compatibility packages have similar
-requirements on the underlying kernel, for example the ability to
-create a new thread, there are differences in the exact semantics. For
-example, strict &micro;ITRON compliance requires that kernel
-timeslicing is disabled. This is achieved largely through the
-configuration technology. The kernel provides a number of
-configuration options that control the exact semantics that are
-provided, and the various compatibility packages require particular
-settings for those options. This has two important consequences.
-First, it is not usually possible to have two different compatibility
-packages in one eCos configuration because they will have conflicting
-requirements on the underlying kernel. Second, the semantics of the
-kernel's own API are only loosely defined because of the many
-configuration options. For example <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
->
-will always attempt to lock a mutex, but various configuration options
-determine the behaviour when the mutex is already locked and there is
-a possibility of priority inversion.
-      </P
-><P
->The optional nature of the kernel package presents some complications
-for other code, especially device drivers. Wherever possible a device
-driver should work whether or not the kernel is present. However there
-are some parts of the system, especially those related to interrupt
-handling, which should be implemented differently in multi-threaded
-environments containing the eCos kernel and in single-threaded
-environments without the kernel. To cope with both scenarios the
-common HAL package provides a driver API, with functions such as
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_attach</TT
->. When the kernel package
-is present these driver API functions map directly on to the
-equivalent kernel functions such as
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_attach</TT
->, using macros to avoid any
-overheads. When the kernel is absent the common HAL package implements
-the driver API directly, but this implementation is simpler than the
-one in the kernel because it can assume a single-threaded environment. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-OVERVIEW-SCHEDULERS"
-></A
-><H2
->Schedulers</H2
-><P
->When a system involves multiple threads, a scheduler is needed to
-determine which thread should currently be running. The eCos kernel
-can be configured with one of two schedulers, the bitmap scheduler and
-the multi-level queue (MLQ) scheduler. The bitmap scheduler is
-somewhat more efficient, but has a number of limitations. Most systems
-will instead use the MLQ scheduler. Other schedulers may be added in
-the future, either as extensions to the kernel package or in separate
-packages.
-      </P
-><P
->Both the bitmap and the MLQ scheduler use a simple numerical priority
-to determine which thread should be running. The number of priority
-levels is configurable via the option
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_SCHED_PRIORITIES</TT
->, but a typical
-system will have up to 32 priority levels. Therefore thread priorities
-will be in the range 0 to 31, with 0 being the highest priority and 31
-the lowest. Usually only the system's idle thread will run at the
-lowest priority. Thread priorities are absolute, so the kernel will
-only run a lower-priority thread if all higher-priority threads are
-currently blocked.
-      </P
-><P
->The bitmap scheduler only allows one thread per priority level, so if
-the system is configured with 32 priority levels then it is limited to
-only 32 threads &#8212; still enough for many applications. A simple
-bitmap can be used to keep track of which threads are currently
-runnable. Bitmaps can also be used to keep track of threads waiting on
-a mutex or other synchronization primitive. Identifying the
-highest-priority runnable or waiting thread involves a simple
-operation on the bitmap, and an array index operation can then be used
-to get hold of the thread data structure itself. This makes the
-bitmap scheduler fast and totally deterministic.
-      </P
-><P
->The MLQ scheduler allows multiple threads to run at the same priority.
-This means that there is no limit on the number of threads in the
-system, other than the amount of memory available. However operations
-such as finding the highest priority runnable thread are a little bit
-more expensive than for the bitmap scheduler.
-      </P
-><P
->Optionally the MLQ scheduler supports timeslicing, where the scheduler
-automatically switches from one runnable thread to another when some
-number of clock ticks have occurred. Timeslicing only comes into play
-when there are two runnable threads at the same priority and no higher
-priority runnable threads. If timeslicing is disabled then a thread
-will not be preempted by another thread of the same priority, and will
-continue running until either it explicitly yields the processor or
-until it blocks by, for example, waiting on a synchronization
-primitive. The configuration options
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_TIMESLICE</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS</TT
-> control
-timeslicing. The bitmap scheduler does not provide timeslicing
-support. It only allows one thread per priority level, so it is not
-possible to preempt the current thread in favour of another one with
-the same priority.
-      </P
-><P
->Another important configuration option that affects the MLQ scheduler
-is <TT
-CLASS="VARNAME"
->CYGIMP_KERNEL_SCHED_SORTED_QUEUES</TT
->. This
-determines what happens when a thread blocks, for example by waiting
-on a semaphore which has no pending events. The default behaviour of
-the system is last-in-first-out queuing. For example if several
-threads are waiting on a semaphore and an event is posted, the thread
-that gets woken up is the last one that called
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
->. This allows for a simple and
-fast implementation of both the queue and dequeue operations. However
-if there are several queued threads with different priorities, it may
-not be the highest priority one that gets woken up. In practice this
-is rarely a problem: usually there will be at most one thread waiting
-on a queue, or when there are several threads they will be of the same
-priority. However if the application does require strict priority
-queueing then the option
-<TT
-CLASS="VARNAME"
->CYGIMP_KERNEL_SCHED_SORTED_QUEUES</TT
-> should be
-enabled. There are disadvantages: more work is needed whenever a
-thread is queued, and the scheduler needs to be locked for this
-operation so the system's dispatch latency is worse. If the bitmap
-scheduler is used then priority queueing is automatic and does not
-involve any penalties.
-      </P
-><P
->Some kernel functionality is currently only supported with the MLQ
-scheduler, not the bitmap scheduler. This includes support for SMP
-systems, and protection against priority inversion using either mutex
-priority ceilings or priority inheritance.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-OVERVIEW-SYNCH-PRIMITIVES"
-></A
-><H2
->Synchronization Primitives</H2
-><P
->The eCos kernel provides a number of different synchronization
-primitives: <A
-HREF="kernel-mutexes.html"
->mutexes</A
->,
-<A
-HREF="kernel-condition-variables.html"
->condition variables</A
->,
-<A
-HREF="kernel-semaphores.html"
->counting semaphores</A
->,
-<A
-HREF="kernel-mail-boxes.html"
->mail boxes</A
-> and
-<A
-HREF="kernel-flags.html"
->event flags</A
->.
-      </P
-><P
->Mutexes serve a very different purpose from the other primitives. A
-mutex allows multiple threads to share a resource safely: a thread
-locks a mutex, manipulates the shared resource, and then unlocks the
-mutex again. The other primitives are used to communicate information
-between threads, or alternatively from a DSR associated with an
-interrupt handler to a thread.
-      </P
-><P
->When a thread that has locked a mutex needs to wait for some condition
-to become true, it should use a condition variable. A condition
-variable is essentially just a place for a thread to wait, and which
-another thread, or DSR, can use to wake it up. When a thread waits on
-a condition variable it releases the mutex before waiting, and when it
-wakes up it reacquires it before proceeding. These operations are
-atomic so that synchronization race conditions cannot be introduced.
-      </P
-><P
->A counting semaphore is used to indicate that a particular event has
-occurred. A consumer thread can wait for this event to occur, and a
-producer thread or a DSR can post the event. There is a count
-associated with the semaphore so if the event occurs multiple times in
-quick succession this information is not lost, and the appropriate
-number of semaphore wait operations will succeed.
-      </P
-><P
->Mail boxes are also used to indicate that a particular event has
-occurred, and allows for one item of data to be exchanged per event.
-Typically this item of data would be a pointer to some data structure.
-Because of the need to store this extra data, mail boxes have a
-finite capacity. If a producer thread generates mail box events
-faster than they can be consumed then, to avoid overflow, it will be
-blocked until space is again available in the mail box. This means
-that mail boxes usually cannot be used by a DSR to wake up a
-thread. Instead mail boxes are typically only used between threads.
-      </P
-><P
->Event flags can be used to wait on some number of different events,
-and to signal that one or several of these events have occurred. This
-is achieved by associating bits in a bit mask with the different
-events. Unlike a counting semaphore no attempt is made to keep track
-of the number of events that have occurred, only the fact that an
-event has occurred at least once. Unlike a mail box it is not
-possible to send additional data with the event, but this does mean
-that there is no possibility of an overflow and hence event flags can
-be used between a DSR and a thread as well as between threads.
-      </P
-><P
->The eCos common HAL package provides its own device driver API which
-contains some of the above synchronization primitives. These allow
-the DSR for an interrupt handler to signal events to higher-level
-code. If the configuration includes the eCos kernel package then
-the driver API routines map directly on to the equivalent kernel
-routines, allowing interrupt handlers to interact with threads. If the
-kernel package is not included and the application consists of just a
-single thread running in polled mode then the driver API is
-implemented entirely within the common HAL, and with no need to worry
-about multiple threads the implementation can obviously be rather
-simpler. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-OVERVIEW-THREADS-INTERRUPTS"
-></A
-><H2
->Threads and Interrupt Handling</H2
-><P
->During normal operation the processor will be running one of the
-threads in the system. This may be an application thread, a system
-thread running inside say the TCP/IP stack, or the idle thread. From
-time to time a hardware interrupt will occur, causing control to be
-transferred briefly to an interrupt handler. When the interrupt has
-been completed the system's scheduler will decide whether to return
-control to the interrupted thread or to some other runnable thread.
-      </P
-><P
->Threads and interrupt handlers must be able to interact. If a thread
-is waiting for some I/O operation to complete, the interrupt handler
-associated with that I/O must be able to inform the thread that the
-operation has completed. This can be achieved in a number of ways. One
-very simple approach is for the interrupt handler to set a volatile
-variable. A thread can then poll continuously until this flag is set,
-possibly sleeping for a clock tick in between. Polling continuously
-means that the cpu time is not available for other activities, which
-may be acceptable for some but not all applications. Polling once
-every clock tick imposes much less overhead, but means that the thread
-may not detect that the I/O event has occurred until an entire clock
-tick has elapsed. In typical systems this could be as long as 10
-milliseconds. Such a delay might be acceptable for some applications,
-but not all.
-      </P
-><P
->A better solution would be to use one of the synchronization
-primitives. The interrupt handler could signal a condition variable,
-post to a semaphore, or use one of the other primitives. The thread
-would perform a wait operation on the same primitive. It would not
-consume any cpu cycles until the I/O event had occurred, and when the
-event does occur the thread can start running again immediately
-(subject to any higher priority threads that might also be runnable).
-      </P
-><P
->Synchronization primitives constitute shared data, so care must be
-taken to avoid problems with concurrent access. If the thread that was
-interrupted was just performing some calculations then the interrupt
-handler could manipulate the synchronization primitive quite safely.
-However if the interrupted thread happened to be inside some kernel
-call then there is a real possibility that some kernel data structure
-will be corrupted. 
-      </P
-><P
->One way of avoiding such problems would be for the kernel functions to
-disable interrupts when executing any critical region. On most
-architectures this would be simple to implement and very fast, but it
-would mean that interrupts would be disabled often and for quite a
-long time. For some applications that might not matter, but many
-embedded applications require that the interrupt handler run as soon
-as possible after the hardware interrupt has occurred. If the kernel
-relied on disabling interrupts then it would not be able to support
-such applications.
-      </P
-><P
->Instead the kernel uses a two-level approach to interrupt handling.
-Associated with every interrupt vector is an Interrupt Service Routine
-or ISR, which will run as quickly as possible so that it can service
-the hardware. However an ISR can make only a small number of kernel
-calls, mostly related to the interrupt subsystem, and it cannot make
-any call that would cause a thread to wake up. If an ISR detects that
-an I/O operation has completed and hence that a thread should be woken
-up, it can cause the associated Deferred Service Routine or DSR to
-run. A DSR is allowed to make more kernel calls, for example it can
-signal a condition variable or post to a semaphore.
-      </P
-><P
->Disabling interrupts prevents ISRs from running, but very few parts of
-the system disable interrupts and then only for short periods of time.
-The main reason for a thread to disable interrupts is to manipulate
-some state that is shared with an ISR. For example if a thread needs
-to add another buffer to a linked list of free buffers and the ISR may
-remove a buffer from this list at any time, the thread would need to
-disable interrupts for the few instructions needed to manipulate the
-list. If the hardware raises an interrupt at this time, it remains
-pending until interrupts are reenabled.
-      </P
-><P
->Analogous to interrupts being disabled or enabled, the kernel has a
-scheduler lock. The various kernel functions such as
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> will claim the scheduler lock,
-manipulate the kernel data structures, and then release the scheduler
-lock. If an interrupt results in a DSR being requested and the
-scheduler is currently locked, the DSR remains pending. When the
-scheduler lock is released any pending DSRs will run. These may post
-events to synchronization primitives, causing other higher priority
-threads to be woken up.
-      </P
-><P
->For an example, consider the following scenario. The system has a high
-priority thread A, responsible for processing some data coming from an
-external device. This device will raise an interrupt when data is
-available. There are two other threads B and C which spend their time
-performing calculations and occasionally writing results to a display
-of some sort. This display is a shared resource so a mutex is used to
-control access.
-      </P
-><P
->At a particular moment in time thread A is likely to be blocked,
-waiting on a semaphore or another synchronization primitive until data
-is available. Thread B might be running performing some calculations,
-and thread C is runnable waiting for its next timeslice. Interrupts
-are enabled, and the scheduler is unlocked because none of the threads
-are in the middle of a kernel operation. At this point the device
-raises an interrupt. The hardware transfers control to a low-level
-interrupt handler provided by eCos which works out exactly which
-interrupt occurs, and then the corresponding ISR is run. This ISR
-manipulates the hardware as appropriate, determines that there is now
-data available, and wants to wake up thread A by posting to the
-semaphore. However ISR's are not allowed to call
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> directly, so instead the ISR
-requests that its associated DSR be run and returns. There are no more
-interrupts to be processed, so the kernel next checks for DSR's. One
-DSR is pending and the scheduler is currently unlocked, so the DSR can
-run immediately and post the semaphore. This will have the effect of
-making thread A runnable again, so the scheduler's data structures are
-adjusted accordingly. When the DSR returns thread B is no longer the
-highest priority runnable thread so it will be suspended, and instead
-thread A gains control over the cpu.
-      </P
-><P
->In the above example no kernel data structures were being manipulated
-at the exact moment that the interrupt happened. However that cannot
-be assumed. Suppose that thread B had finished its current set of
-calculations and wanted to write the results to the display. It would
-claim the appropriate mutex and manipulate the display. Now suppose
-that thread B was timesliced in favour of thread C, and that thread C
-also finished its calculations and wanted to write the results to the
-display. It would call <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
->. This
-kernel call locks the scheduler, examines the current state of the
-mutex, discovers that the mutex is already owned by another thread,
-suspends the current thread, and switches control to another runnable
-thread. Another interrupt happens in the middle of this
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> call, causing the ISR to run
-immediately. The ISR decides that thread A should be woken up so it
-requests that its DSR be run and returns back to the kernel. At this
-point there is a pending DSR, but the scheduler is still locked by the
-call to <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> so the DSR cannot run
-immediately. Instead the call to <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
->
-is allowed to continue, which at some point involves unlocking the
-scheduler. The pending DSR can now run, safely post the semaphore, and
-thus wake up thread A.
-      </P
-><P
->If the ISR had called <TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> directly
-rather than leaving it to a DSR, it is likely that there would have
-been some sort of corruption of a kernel data structure. For example
-the kernel might have completely lost track of one of the threads, and
-that thread would never have run again. The two-level approach to
-interrupt handling, ISR's and DSR's, prevents such problems with no
-need to disable interrupts.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-OVERVIEW-CONTEXTS"
-></A
-><H2
->Calling Contexts</H2
-><P
->eCos defines a number of contexts. Only certain calls are allowed from
-inside each context, for example most operations on threads or
-synchronization primitives are not allowed from ISR context. The
-different contexts are initialization, thread, ISR and DSR.
-      </P
-><P
->When eCos starts up it goes through a number of phases, including
-setting up the hardware and invoking C++ static constructors. During
-this time interrupts are disabled and the scheduler is locked. When a
-configuration includes the kernel package the final operation is a
-call to <A
-HREF="kernel-schedcontrol.html"
-><TT
-CLASS="FUNCTION"
->cyg_scheduler_start</TT
-></A
->.
-At this point interrupts are enabled, the scheduler is unlocked, and
-control is transferred to the highest priority runnable thread. If the
-configuration also includes the C library package then usually the C
-library startup package will have created a thread which will call the
-application's <TT
-CLASS="FUNCTION"
->main</TT
-> entry point.
-      </P
-><P
->Some application code can also run before the scheduler is started,
-and this code runs in initialization context. If the application is
-written partly or completely in C++ then the constructors for any
-static objects will be run. Alternatively application code can define
-a function <TT
-CLASS="FUNCTION"
->cyg_user_start</TT
-> which gets called after
-any C++ static constructors. This allows applications to be written
-entirely in C.
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void
-cyg_user_start(void)
-{
-    /* Perform application-specific initialization here */
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->It is not necessary for applications to provide a
-<TT
-CLASS="FUNCTION"
->cyg_user_start</TT
-> function since the system will
-provide a default implementation which does nothing.
-      </P
-><P
->Typical operations that are performed from inside static constructors
-or <TT
-CLASS="FUNCTION"
->cyg_user_start</TT
-> include creating threads,
-synchronization primitives, setting up alarms, and registering
-application-specific interrupt handlers. In fact for many applications
-all such creation operations happen at this time, using statically
-allocated data, avoiding any need for dynamic memory allocation or
-other overheads.
-      </P
-><P
->Code running in initialization context runs with interrupts disabled
-and the scheduler locked. It is not permitted to reenable interrupts
-or unlock the scheduler because the system is not guaranteed to be in
-a totally consistent state at this point. A consequence is that
-initialization code cannot use synchronization primitives such as
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> to wait for an external event.
-It is permitted to lock and unlock a mutex: there are no other threads
-running so it is guaranteed that the mutex is not yet locked, and
-therefore the lock operation will never block; this is useful when
-making library calls that may use a mutex internally.
-      </P
-><P
->At the end of the startup sequence the system will call
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_start</TT
-> and the various threads will
-start running. In thread context nearly all of the kernel functions
-are available. There may be some restrictions on interrupt-related
-operations, depending on the target hardware. For example the hardware
-may require that interrupts be acknowledged in the ISR or DSR before
-control returns to thread context, in which case
-<TT
-CLASS="FILENAME"
->cyg_interrupt_acknowledge</TT
-> should not be called
-by a thread.
-      </P
-><P
->At any time the processor may receive an external interrupt, causing
-control to be transferred from the current thread. Typically a VSR
-provided by eCos will run and determine exactly which interrupt
-occurred. Then the VSR will switch to the appropriate ISR, which can
-be provided by a HAL package, a device driver, or by the application.
-During this time the system is running at ISR context, and most of the
-kernel function calls are disallowed. This includes the various
-synchronization primitives, so for example an ISR is not allowed to
-post to a semaphore to indicate that an event has happened. Usually
-the only operations that should be performed from inside an ISR are
-ones related to the interrupt subsystem itself, for example masking an
-interrupt or acknowledging that an interrupt has been processed. On
-SMP systems it is also possible to use spinlocks from ISR context.
-      </P
-><P
->When an ISR returns it can request that the corresponding DSR be run
-as soon as it is safe to do so, and that will run in DSR context. This
-context is also used for running alarm functions, and threads can
-switch temporarily to DSR context by locking the scheduler. Only
-certain kernel functions can be called from DSR context, although more
-than in ISR context. In particular it is possible to use any
-synchronization primitives which cannot block.  These include
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
->,
-<TT
-CLASS="FILENAME"
->cyg_cond_signal</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_cond_broadcast</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_flag_setbits</TT
->, and
-<TT
-CLASS="FUNCTION"
->cyg_mbox_tryput</TT
->. It is not possible to use any
-primitives that may block such as
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
->, or
-<TT
-CLASS="FUNCTION"
->cyg_mbox_put</TT
->. Calling such functions from inside
-a DSR may cause the system to hang.
-      </P
-><P
->The specific documentation for the various kernel functions gives more
-details about valid contexts.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-OVERVIEW-ERRORS"
-></A
-><H2
->Error Handling and Assertions</H2
-><P
->In many APIs each function is expected to perform some validation of
-its parameters and possibly of the current state of the system. This
-is supposed to ensure that each function is used correctly, and that
-application code is not attempting to perform a semaphore operation on
-a mutex or anything like that. If an error is detected then a suitable
-error code is returned, for example the POSIX function
-<TT
-CLASS="FUNCTION"
->pthread_mutex_lock</TT
-> can return various error codes
-including <TT
-CLASS="LITERAL"
->EINVAL</TT
-> and <TT
-CLASS="LITERAL"
->EDEADLK</TT
->.
-There are a number of problems with this approach, especially in the
-context of deeply embedded systems:
-      </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Performing these checks inside the mutex lock and all the other
-functions requires extra cpu cycles and adds significantly to the code
-size. Even if the application is written correctly and only makes
-system function calls with sensible arguments and under the right
-conditions, these overheads still exist.
-        </P
-></LI
-><LI
-><P
->Returning an error code is only useful if the calling code detects
-these error codes and takes appropriate action. In practice the
-calling code will often ignore any errors because the programmer
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&#8220;knows&#8221;</I
-></SPAN
-> that the function is being
-used correctly. If the programmer is mistaken then an error condition
-may be detected and reported, but the application continues running
-anyway and is likely to fail some time later in mysterious ways.
-        </P
-></LI
-><LI
-><P
->If the calling code does always check for error codes, that adds yet
-more cpu cycles and code size overhead. 
-        </P
-></LI
-><LI
-><P
->Usually there will be no way to recover from certain errors, so if the
-application code detected an error such as <TT
-CLASS="LITERAL"
->EINVAL</TT
->
-then all it could do is abort the application somehow.
-        </P
-></LI
-></OL
-><P
->The approach taken within the eCos kernel is different. Functions such
-as <TT
-CLASS="FUNCTION"
->cyg_mutex_lock</TT
-> will not return an error code.
-Instead they contain various assertions, which can be enabled or
-disabled. During the development process assertions are normally left
-enabled, and the various kernel functions will perform parameter
-checks and other system consistency checks. If a problem is detected
-then an assertion failure will be reported and the application will be
-terminated. In a typical debug session a suitable breakpoint will have
-been installed and the developer can now examine the state of the
-system and work out exactly what is going on. Towards the end of the
-development cycle assertions will be disabled by manipulating
-configuration options within the eCos infrastructure package, and all
-assertions will be eliminated at compile-time. The assumption is that
-by this time the application code has been mostly debugged: the
-initial version of the code might have tried to perform a semaphore
-operation on a mutex, but any problems like that will have been fixed
-some time ago. This approach has a number of advantages:
-      </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->In the final application there will be no overheads for checking
-parameters and other conditions. All that code will have been
-eliminated at compile-time.
-        </P
-></LI
-><LI
-><P
->Because the final application will not suffer any overheads, it is
-reasonable for the system to do more work during the development
-process. In particular the various assertions can test for more error
-conditions and more complicated errors. When an error is detected
-it is possible to give a text message describing the error rather than
-just return an error code.
-        </P
-></LI
-><LI
-><P
->There is no need for application programmers to handle error codes
-returned by various kernel function calls. This simplifies the
-application code.
-        </P
-></LI
-><LI
-><P
->If an error is detected then an assertion failure will be reported
-immediately and the application will be halted. There is no
-possibility of an error condition being ignored because application
-code did not check for an error code.
-        </P
-></LI
-></OL
-><P
->Although none of the kernel functions return an error code, many of
-them do return a status condition. For example the function
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_timed_wait</TT
-> waits until either an
-event has been posted to a semaphore, or until a certain number of
-clock ticks have occurred. Usually the calling code will need to know
-whether the wait operation succeeded or whether a timeout occurred.
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_timed_wait</TT
-> returns a boolean: a
-return value of zero or false indicates a timeout, a non-zero return
-value indicates that the wait succeeded.
-      </P
-><P
->In conventional APIs one common error conditions is lack of memory.
-For example the POSIX function <TT
-CLASS="FUNCTION"
->pthread_create</TT
->
-usually has to allocate some memory dynamically for the thread stack
-and other per-thread data. If the target hardware does not have enough
-memory to meet all demands, or more commonly if the application
-contains a memory leak, then there may not be enough memory available
-and the function call would fail. The eCos kernel avoids such problems
-by never performing any dynamic memory allocation. Instead it is the
-responsibility of the application code to provide all the memory
-required for kernel data structures and other needs. In the case of
-<TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> this means a
-<SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> data structure to hold the thread
-details, and a <SPAN
-CLASS="TYPE"
->char</SPAN
-> array for the thread stack.
-      </P
-><P
->In many applications this approach results in all data structures
-being allocated statically rather than dynamically. This has several
-advantages. If the application is in fact too large for the target
-hardware's memory then there will be an error at link-time rather than
-at run-time, making the problem much easier to diagnose. Static
-allocation does not involve any of the usual overheads associated with
-dynamic allocation, for example there is no need to keep track of the
-various free blocks in the system, and it may be possible to eliminate
-<TT
-CLASS="FUNCTION"
->malloc</TT
-> from the system completely. Problems such
-as fragmentation and memory leaks cannot occur if all data is
-allocated statically. However, some applications are sufficiently
-complicated that dynamic memory allocation is required, and the
-various kernel functions do not distinguish between statically and
-dynamically allocated memory. It still remains the responsibility of
-the calling code to ensure that sufficient memory is available, and
-passing null pointers to the kernel will result in assertions or
-system failure.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-smp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The eCos Kernel</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SMP Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-schedcontrol.html b/doc/html/ref/kernel-schedcontrol.html
deleted file mode 100644 (file)
index 07f8b20..0000000
+++ /dev/null
@@ -1,339 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Scheduler Control</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Spinlocks"
-HREF="kernel-spinlocks.html"><LINK
-REL="NEXT"
-TITLE="Interrupt Handling"
-HREF="kernel-interrupts.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-spinlocks.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-interrupts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-SCHEDCONTROL">Scheduler Control</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1784"
-></A
-><H2
->Name</H2
->cyg_scheduler_start, cyg_scheduler_lock, cyg_scheduler_unlock, cyg_scheduler_safe_lock, cyg_scheduler_read_lock&nbsp;--&nbsp;Control the state of the scheduler</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1791"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1792"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_scheduler_start</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_scheduler_lock</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_scheduler_unlock</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_ucount32 cyg_scheduler_read_lock</CODE
->(void);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SCHEDCONTROL-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_scheduler_start</TT
-> should only be called once,
-to mark the end of system initialization. In typical configurations it
-is called automatically by the system startup, but some applications
-may bypass the standard startup in which case
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_start</TT
-> will have to be called
-explicitly. The call will enable system interrupts, allowing I/O
-operations to commence. Then the scheduler will be invoked and control
-will be transferred to the highest priority runnable thread. The call
-will never return.
-      </P
-><P
->The various data structures inside the eCos kernel must be protected
-against concurrent updates. Consider a call to
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> which causes a thread to be
-woken up: the semaphore data structure must be updated to remove the
-thread from its queue; the scheduler data structure must also be
-updated to mark the thread as runnable; it is possible that the newly
-runnable thread has a higher priority than the current one, in which
-case preemption is required. If in the middle of the semaphore post
-call an interrupt occurred and the interrupt handler tried to
-manipulate the same data structures, for example by making another
-thread runnable, then it is likely that the structures will be left in
-an inconsistent state and the system will fail.
-      </P
-><P
->To prevent such problems the kernel contains a special lock known as
-the scheduler lock. A typical kernel function such as
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> will claim the scheduler lock,
-do all its manipulation of kernel data structures, and then release
-the scheduler lock. The current thread cannot be preempted while it
-holds the scheduler lock. If an interrupt occurs and a DSR is supposed
-to run to signal that some event has occurred, that DSR is postponed
-until the scheduler unlock operation. This prevents concurrent updates
-of kernel data structures.
-      </P
-><P
->The kernel exports three routines for manipulating the scheduler lock.
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_lock</TT
-> can be called to claim the
-lock. On return it is guaranteed that the current thread will not be
-preempted, and that no other code is manipulating any kernel data
-structures. <TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock</TT
-> can be used to
-release the lock, which may cause the current thread to be preempted.
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_read_lock</TT
-> can be used to query the
-current state of the scheduler lock. This function should never be
-needed because well-written code should always know whether or not the
-scheduler is currently locked, but may prove useful during debugging.
-      </P
-><P
->The implementation of the scheduler lock involves a simple counter.
-Code can call <TT
-CLASS="FUNCTION"
->cyg_scheduler_lock</TT
-> multiple times,
-causing the counter to be incremented each time, as long as
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock</TT
-> is called the same number of
-times. This behaviour is different from mutexes where an attempt by a
-thread to lock a mutex multiple times will result in deadlock or an
-assertion failure.
-      </P
-><P
->Typical application code should not use the scheduler lock. Instead
-other synchronization primitives such as mutexes and semaphores should
-be used. While the scheduler is locked the current thread cannot be
-preempted, so any higher priority threads will not be able to run.
-Also no DSRs can run, so device drivers may not be able to service
-I/O requests. However there is one situation where locking the
-scheduler is appropriate: if some data structure needs to be shared
-between an application thread and a DSR associated with some interrupt
-source, the thread can use the scheduler lock to prevent concurrent
-invocations of the DSR and then safely manipulate the structure. It is
-desirable that the scheduler lock is held for only a short period of
-time, typically some tens of instructions. In exceptional cases there
-may also be some performance-critical code where it is more
-appropriate to use the scheduler lock rather than a mutex, because the
-former is more efficient.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SCHEDCONTROL-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_scheduler_start</TT
-> can only be called during
-system initialization, since it marks the end of that phase. The
-remaining functions may be called from thread or DSR context. Locking
-the scheduler from inside the DSR has no practical effect because the
-lock is claimed automatically by the interrupt subsystem before
-running DSRs, but allows functions to be shared between normal thread
-code and DSRs.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-spinlocks.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-interrupts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Spinlocks</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Interrupt Handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-semaphores.html b/doc/html/ref/kernel-semaphores.html
deleted file mode 100644 (file)
index da77f8d..0000000
+++ /dev/null
@@ -1,428 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Semaphores</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Condition Variables"
-HREF="kernel-condition-variables.html"><LINK
-REL="NEXT"
-TITLE="Mail boxes"
-HREF="kernel-mail-boxes.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-condition-variables.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-mail-boxes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-SEMAPHORES">Semaphores</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1330"
-></A
-><H2
->Name</H2
->cyg_semaphore_init, cyg_semaphore_destroy, cyg_semaphore_wait, cyg_semaphore_timed_wait, cyg_semaphore_post, cyg_semaphore_peek&nbsp;--&nbsp;Synchronization primitive</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1338"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1339"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_semaphore_init</CODE
->(cyg_sem_t* sem, cyg_count32 val);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_semaphore_destroy</CODE
->(cyg_sem_t* sem);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_semaphore_wait</CODE
->(cyg_sem_t* sem);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_semaphore_timed_wait</CODE
->(cyg_sem_t* sem, cyg_tick_count_t abstime);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_semaphore_trywait</CODE
->(cyg_sem_t* sem);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_semaphore_post</CODE
->(cyg_sem_t* sem);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_semaphore_peek</CODE
->(cyg_sem_t* sem, cyg_count32* val);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SEMAPHORES-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Counting semaphores are a <A
-HREF="kernel-overview.html#KERNEL-OVERVIEW-SYNCH-PRIMITIVES"
->synchronization
-primitive</A
-> that allow threads to wait until an event has
-occurred. The event may be generated by a producer thread, or by a DSR
-in response to a hardware interrupt. Associated with each semaphore is
-an integer counter that keeps track of the number of events that have
-not yet been processed. If this counter is zero, an attempt by a
-consumer thread to wait on the semaphore will block until some other
-thread or a DSR posts a new event to the semaphore. If the counter is
-greater than zero then an attempt to wait on the semaphore will
-consume one event, in other words decrement the counter, and return
-immediately. Posting to a semaphore will wake up the first thread that
-is currently waiting, which will then resume inside the semaphore wait
-operation and decrement the counter again.
-      </P
-><P
->Another use of semaphores is for certain forms of resource management.
-The counter would correspond to how many of a certain type of resource
-are currently available, with threads waiting on the semaphore to
-claim a resource and posting to release the resource again. In
-practice <A
-HREF="kernel-condition-variables.html"
->condition
-variables</A
-> are usually much better suited for operations like
-this.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_init</TT
-> is used to initialize a
-semaphore. It takes two arguments, a pointer to a
-<SPAN
-CLASS="STRUCTNAME"
->cyg_sem_t</SPAN
-> structure and an initial value for
-the counter. Note that semaphore operations, unlike some other parts
-of the kernel API, use pointers to data structures rather than
-handles. This makes it easier to embed semaphores in a larger data
-structure. The initial counter value can be any number, zero, positive
-or negative, but typically a value of zero is used to indicate that no
-events have occurred yet.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> is used by a consumer thread
-to wait for an event. If the current counter is greater than 0, in
-other words if the event has already occurred in the past, then the
-counter will be decremented and the call will return immediately.
-Otherwise the current thread will be blocked until there is a
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> call.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> is called when an event has
-occurs. This increments the counter and wakes up the first thread
-waiting on the semaphore (if any). Usually that thread will then
-continue running inside <TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> and
-decrement the counter again. However other scenarioes are possible.
-For example the thread calling <TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
->
-may be running at high priority, some other thread running at medium
-priority may be about to call <TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
->
-when it next gets a chance to run, and a low priority thread may be
-waiting on the semaphore. What will happen is that the current high
-priority thread continues running until it is descheduled for some
-reason, then the medium priority thread runs and its call to
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> succeeds immediately, and
-later on the low priority thread runs again, discovers a counter value
-of 0, and blocks until another event is posted. If there are multiple
-threads blocked on a semaphore then the configuration option
-<TT
-CLASS="VARNAME"
->CYGIMP_KERNEL_SCHED_SORTED_QUEUES</TT
-> determines which
-one will be woken up by a post operation.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> returns a boolean. Normally it
-will block until it has successfully decremented the counter, retrying
-as necessary, and return success. However the wait operation may be
-aborted by a call to <A
-HREF="kernel-thread-control.html"
-><TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
-></A
->,
-and <TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> will then return false.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_timed_wait</TT
-> is a variant of
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
->. It can be used to wait until
-either an event has occurred or a number of clock ticks have happened.
-The function returns success if the semaphore wait operation
-succeeded, or false if the operation timed out or was aborted by
-<TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
->. If support for the real-time
-clock has been removed from the current configuration then this
-function will not be available.
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_trywait</TT
-> is another variant which
-will always return immediately rather than block, again returning
-success or failure.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_peek</TT
-> can be used to get hold of the
-current counter value. This function is rarely useful except for
-debugging purposes since the counter value may change at any time if
-some other thread or a DSR performs a semaphore operation.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SEMAPHORES-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_semaphore_init</TT
-> is normally called during
-initialization but may also be called from thread context.
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_wait</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_timed_wait</TT
-> may only be called from
-thread context because these operations may block.
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_trywait</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_post</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_semaphore_peek</TT
-> may be called from thread or
-DSR context.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-condition-variables.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-mail-boxes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Condition Variables</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Mail boxes</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-smp.html b/doc/html/ref/kernel-smp.html
deleted file mode 100644 (file)
index 43d4423..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SMP Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Kernel Overview"
-HREF="kernel-overview.html"><LINK
-REL="NEXT"
-TITLE="Thread creation"
-HREF="kernel-thread-create.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-create.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-SMP">SMP Support</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN206"
-></A
-><H2
->Name</H2
->SMP&nbsp;--&nbsp;Support Symmetric Multiprocessing Systems</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SMP-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->eCos contains support for limited Symmetric Multi-Processing (SMP).
-This is only available on selected architectures and platforms.
-The implementation has a number of restrictions on the kind of
-hardware supported. These are described in <A
-HREF="hal-smp-support.html"
->the Section called <I
->SMP Support</I
-> in Chapter 9</A
->.
-    </P
-><P
->The following sections describe the changes that have been made to the
-eCos kernel to support SMP operation.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SMP-STARTUP"
-></A
-><H2
->System Startup</H2
-><P
->The system startup sequence needs to be somewhat different on an SMP
-system, although this is largely transparent to application code. The
-main startup takes place on only one CPU, called the primary CPU. All
-other CPUs, the secondary CPUs, are either placed in suspended state
-at reset, or are captured by the HAL and put into a spin as they start
-up. The primary CPU is responsible for copying the DATA segment and
-zeroing the BSS (if required), calling HAL variant and platform
-initialization routines and invoking constructors. It then calls
-<TT
-CLASS="FUNCTION"
->cyg_start</TT
-> to enter the application. The
-application may then create extra threads and other objects.
-      </P
-><P
->It is only when the application calls
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_start</TT
-> that the secondary CPUs are
-initialized. This routine scans the list of available secondary CPUs
-and invokes <TT
-CLASS="FUNCTION"
->HAL_SMP_CPU_START</TT
-> to start each
-CPU. Finally it calls an internal function
-<TT
-CLASS="FUNCTION"
->Cyg_Scheduler::start_cpu</TT
-> to enter the scheduler
-for the primary CPU.
-      </P
-><P
->Each secondary CPU starts in the HAL, where it completes any per-CPU
-initialization before calling into the kernel at
-<TT
-CLASS="FUNCTION"
->cyg_kernel_cpu_startup</TT
->. Here it claims the
-scheduler lock and calls
-<TT
-CLASS="FUNCTION"
->Cyg_Scheduler::start_cpu</TT
->.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->Cyg_Scheduler::start_cpu</TT
-> is common to both the
-primary and secondary CPUs. The first thing this code does is to
-install an interrupt object for this CPU's inter-CPU interrupt. From
-this point on the code is the same as for the single CPU case: an
-initial thread is chosen and entered.
-      </P
-><P
->From this point on the CPUs are all equal, eCos makes no further
-distinction between the primary and secondary CPUs. However, the
-hardware may still distinguish between them as far as interrupt
-delivery is concerned.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SMP-SCHEDULING"
-></A
-><H2
->Scheduling</H2
-><P
->To function correctly an operating system kernel must protect its
-vital data structures, such as the run queues, from concurrent
-access. In a single CPU system the only concurrent activities to worry
-about are asynchronous interrupts. The kernel can easily guard its
-data structures against these by disabling interrupts. However, in a
-multi-CPU system, this is inadequate since it does not block access by
-other CPUs.
-      </P
-><P
->The eCos kernel protects its vital data structures using the scheduler
-lock. In single CPU systems this is a simple counter that is
-atomically incremented to acquire the lock and decremented to release
-it. If the lock is decremented to zero then the scheduler may be
-invoked to choose a different thread to run. Because interrupts may
-continue to be serviced while the scheduler lock is claimed, ISRs are
-not allowed to access kernel data structures, or call kernel routines
-that can. Instead all such operations are deferred to an associated
-DSR routine that is run during the lock release operation, when the
-data structures are in a consistent state.
-      </P
-><P
->By choosing a kernel locking mechanism that does not rely on interrupt
-manipulation to protect data structures, it is easier to convert eCos
-to SMP than would otherwise be the case. The principal change needed to
-make eCos SMP-safe is to convert the scheduler lock into a nestable
-spin lock. This is done by adding a spinlock and a CPU id to the
-original counter.
-      </P
-><P
->The algorithm for acquiring the scheduler lock is very simple. If the
-scheduler lock's CPU id matches the current CPU then it can just increment
-the counter and continue. If it does not match, the CPU must spin on
-the spinlock, after which it may increment the counter and store its
-own identity in the CPU id.
-      </P
-><P
->To release the lock, the counter is decremented. If it goes to zero
-the CPU id value must be set to NONE and the spinlock cleared.
-      </P
-><P
->To protect these sequences against interrupts, they must be performed
-with interrupts disabled. However, since these are very short code
-sequences, they will not have an adverse effect on the interrupt
-latency.
-      </P
-><P
->Beyond converting the scheduler lock, further preparing the kernel for
-SMP is a relatively minor matter. The main changes are to convert
-various scalar housekeeping variables into arrays indexed by CPU
-id. These include the current thread pointer, the need_reschedule
-flag and the timeslice counter.
-      </P
-><P
->At present only the Multi-Level Queue (MLQ) scheduler is capable of
-supporting SMP configurations. The main change made to this scheduler
-is to cope with having several threads in execution at the same
-time. Running threads are marked with the CPU that they are executing on.
-When scheduling a thread, the scheduler skips past any running threads
-until it finds a thread that is pending. While not a constant-time
-algorithm, as in the single CPU case, this is still deterministic,
-since the worst case time is bounded by the number of CPUs in the
-system.
-      </P
-><P
->A second change to the scheduler is in the code used to decide when
-the scheduler should be called to choose a new thread. The scheduler
-attempts to keep the <SPAN
-CLASS="PROPERTY"
->n</SPAN
-> CPUs running the
-<SPAN
-CLASS="PROPERTY"
->n</SPAN
-> highest priority threads. Since an event or
-interrupt on one CPU may require a reschedule on another CPU, there
-must be a mechanism for deciding this. The algorithm currently
-implemented is very simple. Given a thread that has just been awakened
-(or had its priority changed), the scheduler scans the CPUs, starting
-with the one it is currently running on, for a current thread that is
-of lower priority than the new one. If one is found then a reschedule
-interrupt is sent to that CPU and the scan continues, but now using
-the current thread of the rescheduled CPU as the candidate thread. In
-this way the new thread gets to run as quickly as possible, hopefully
-on the current CPU, and the remaining CPUs will pick up the remaining
-highest priority threads as a consequence of processing the reschedule
-interrupt.
-      </P
-><P
->The final change to the scheduler is in the handling of
-timeslicing. Only one CPU receives timer interrupts, although all CPUs
-must handle timeslicing. To make this work, the CPU that receives the
-timer interrupt decrements the timeslice counter for all CPUs, not
-just its own. If the counter for a CPU reaches zero, then it sends a
-timeslice interrupt to that CPU. On receiving the interrupt the
-destination CPU enters the scheduler and looks for another thread at
-the same priority to run. This is somewhat more efficient than
-distributing clock ticks to all CPUs, since the interrupt is only
-needed when a timeslice occurs.
-      </P
-><P
->All existing synchronization mechanisms work as before in an SMP
-system. Additional synchronization mechanisms have been added to
-provide explicit synchronization for SMP, in the form of
-<A
-HREF="kernel-spinlocks.html"
->spinlocks</A
->.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SMP-INTERRUPTS"
-></A
-><H2
->SMP Interrupt Handling</H2
-><P
->The main area where the SMP nature of a system requires special
-attention is in device drivers and especially interrupt handling. It
-is quite possible for the ISR, DSR and thread components of a device
-driver to execute on different CPUs. For this reason it is much more
-important that SMP-capable device drivers use the interrupt-related
-functions correctly. Typically a device driver would use the driver
-API rather than call the kernel directly, but it is unlikely that
-anybody would attempt to use a multiprocessor system without the
-kernel package.
-      </P
-><P
->Two new functions have been added to the Kernel API
-to do <A
-HREF="kernel-interrupts.html#KERNEL-INTERRUPTS-SMP"
->interrupt
-routing</A
->: <TT
-CLASS="FUNCTION"
->cyg_interrupt_set_cpu</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_interrupt_get_cpu</TT
->. Although not currently
-supported, special values for the cpu argument may be used in future
-to indicate that the interrupt is being routed dynamically or is
-CPU-local. Once a vector has been routed to a new CPU, all other
-interrupt masking and configuration operations are relative to that
-CPU, where relevant.
-      </P
-><P
->There are more details of how interrupts should be handled in SMP
-systems in <A
-HREF="devapi-smp-support.html"
->the Section called <I
->SMP Support</I
-> in Chapter 18</A
->.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-create.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Kernel Overview</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread creation</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-spinlocks.html b/doc/html/ref/kernel-spinlocks.html
deleted file mode 100644 (file)
index af7ce31..0000000
+++ /dev/null
@@ -1,405 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Spinlocks</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Event Flags"
-HREF="kernel-flags.html"><LINK
-REL="NEXT"
-TITLE="Scheduler Control"
-HREF="kernel-schedcontrol.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-flags.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-schedcontrol.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-SPINLOCKS">Spinlocks</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN1693"
-></A
-><H2
->Name</H2
->cyg_spinlock_create, cyg_spinlock_destroy, cyg_spinlock_spin, cyg_spinlock_clear, cyg_spinlock_test, cyg_spinlock_spin_intsave, cyg_spinlock_clear_intsave&nbsp;--&nbsp;Low-level Synchronization Primitive</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN1702"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN1703"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_spinlock_init</CODE
->(cyg_spinlock_t* lock, cyg_bool_t locked);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_spinlock_destroy</CODE
->(cyg_spinlock_t* lock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_spinlock_spin</CODE
->(cyg_spinlock_t* lock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_spinlock_clear</CODE
->(cyg_spinlock_t* lock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_spinlock_try</CODE
->(cyg_spinlock_t* lock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_spinlock_test</CODE
->(cyg_spinlock_t* lock);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_spinlock_spin_intsave</CODE
->(cyg_spinlock_t* lock, cyg_addrword_t* istate);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_spinlock_clear_intsave</CODE
->(cyg_spinlock_t* lock, cyg_addrword_t istate);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SPINLOCKS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Spinlocks provide an additional synchronization primitive for
-applications running on SMP systems. They operate at a lower level
-than the other primitives such as mutexes, and for most purposes the
-higher-level primitives should be preferred. However there are some
-circumstances where a spinlock is appropriate, especially when
-interrupt handlers and threads need to share access to hardware, and
-on SMP systems the kernel implementation itself depends on spinlocks.
-      </P
-><P
->Essentially a spinlock is just a simple flag. When code tries to claim
-a spinlock it checks whether or not the flag is already set. If not
-then the flag is set and the operation succeeds immediately. The exact
-implementation of this is hardware-specific, for example it may use a
-test-and-set instruction to guarantee the desired behaviour even if
-several processors try to access the spinlock at the exact same time.
-If it is not possible to claim a spinlock then the current thead spins
-in a tight loop, repeatedly checking the flag until it is clear. This
-behaviour is very different from other synchronization primitives such
-as mutexes, where contention would cause a thread to be suspended. The
-assumption is that a spinlock will only be held for a very short time.
-If claiming a spinlock could cause the current thread to be suspended
-then spinlocks could not be used inside interrupt handlers, which is
-not acceptable.
-      </P
-><P
->This does impose a constraint on any code which uses spinlocks.
-Specifically it is important that spinlocks are held only for a short
-period of time, typically just some dozens of instructions. Otherwise
-another processor could be blocked on the spinlock for a long time,
-unable to do any useful work. It is also important that a thread which
-owns a spinlock does not get preempted because that might cause
-another processor to spin for a whole timeslice period, or longer. One
-way of achieving this is to disable interrupts on the current
-processor, and the function
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_spin_intsave</TT
-> is provided to
-facilitate this.
-      </P
-><P
->Spinlocks should not be used on single-processor systems. Consider a
-high priority thread which attempts to claim a spinlock already held
-by a lower priority thread: it will just loop forever and the lower
-priority thread will never get another chance to run and release the
-spinlock. Even if the two threads were running at the same priority,
-the one attempting to claim the spinlock would spin until it was
-timesliced and a lot of cpu time would be wasted. If an interrupt
-handler tried to claim a spinlock owned by a thread, the interrupt
-handler would loop forever. Therefore spinlocks are only appropriate
-for SMP systems where the current owner of a spinlock can continue
-running on a different processor.
-      </P
-><P
->Before a spinlock can be used it must be initialized by a call to
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_init</TT
->. This takes two arguments, a
-pointer to a <TT
-CLASS="FUNCTION"
->cyg_spinlock_t</TT
-> data structure, and
-a flag to specify whether the spinlock starts off locked or unlocked.
-If a spinlock is no longer required then it can be destroyed by a call
-to <TT
-CLASS="FUNCTION"
->cyg_spinlock_destroy</TT
->.
-      </P
-><P
->There are two routines for claiming a spinlock:
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_spin</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_spin_intsave</TT
->. The former can be used
-when it is known the current code will not be preempted, for example
-because it is running in an interrupt handler or because interrupts
-are disabled. The latter will disable interrupts in addition to
-claiming the spinlock, so is safe to use in all circumstances. The
-previous interrupt state is returned via the second argument, and
-should be used in a subsequent call to
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_clear_intsave</TT
->. 
-      </P
-><P
->Similarly there are two routines for releasing a spinlock:
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_clear</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_clear_intsave</TT
->. Typically
-the former will be used if the spinlock was claimed by a call to
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_spin</TT
->, and the latter when
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_intsave</TT
-> was used.
-      </P
-><P
->There are two additional routines.
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_try</TT
-> is a non-blocking version of
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_spin</TT
->: if possible the lock will be
-claimed and the function will return <TT
-CLASS="LITERAL"
->true</TT
->; otherwise the function
-will return immediately with failure.
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_test</TT
-> can be used to find out whether
-or not the spinlock is currently locked. This function must be used
-with care because, especially on a multiprocessor system, the state of
-the spinlock can change at any time.
-      </P
-><P
->Spinlocks should only be held for a short period of time, and
-attempting to claim a spinlock will never cause a thread to be
-suspended. This means that there is no need to worry about priority
-inversion problems, and concepts such as priority ceilings and
-inheritance do not apply.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-SPINLOCKS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
->All of the spinlock functions can be called from any context,
-including ISR and DSR context. Typically
-<TT
-CLASS="FUNCTION"
->cyg_spinlock_init</TT
-> is only called during system
-initialization. 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-flags.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-schedcontrol.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Event Flags</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Scheduler Control</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-control.html b/doc/html/ref/kernel-thread-control.html
deleted file mode 100644 (file)
index 60760d5..0000000
+++ /dev/null
@@ -1,422 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread control</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread information"
-HREF="kernel-thread-info.html"><LINK
-REL="NEXT"
-TITLE="Thread termination"
-HREF="kernel-thread-termination.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-info.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-termination.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-CONTROL">Thread control</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN482"
-></A
-><H2
->Name</H2
->cyg_thread_yield, cyg_thread_delay, cyg_thread_suspend, cyg_thread_resume, cyg_thread_release&nbsp;--&nbsp;Control whether or not a thread is running</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN489"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN490"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_yield</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_delay</CODE
->(cyg_tick_count_t delay);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_suspend</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_resume</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_release</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN516"
-></A
-><H2
->Description</H2
-><P
->These functions provide some control over whether or not a particular
-thread can run. Apart from the required use of
-<TT
-CLASS="FUNCTION"
->cyg_thread_resume</TT
-> to start a newly-created
-thread, application code should normally use proper synchronization
-primitives such as condition variables or mail boxes.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN520"
-></A
-><H2
->Yield</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_yield</TT
-> allows a thread to relinquish
-control of the processor to some other runnable thread which has the
-same priority. This can have no effect on any higher-priority thread
-since, if such a thread were runnable, the current thread would have
-been preempted in its favour. Similarly it can have no effect on any
-lower-priority thread because the current thread will always be run in
-preference to those. As a consequence this function is only useful
-in configurations with a scheduler that allows multiple threads to run
-at the same priority, for example the mlqueue scheduler. If instead
-the bitmap scheduler was being used then
-<TT
-CLASS="FUNCTION"
->cyg_thread_yield()</TT
-> would serve no purpose.
-      </P
-><P
->Even if a suitable scheduler such as the mlqueue scheduler has been
-configured, <TT
-CLASS="FUNCTION"
->cyg_thread_yield</TT
-> will still rarely
-prove useful: instead timeslicing will be used to ensure that all
-threads of a given priority get a fair slice of the available
-processor time. However it is possible to disable timeslicing via the
-configuration option <TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_SCHED_TIMESLICE</TT
->,
-in which case <TT
-CLASS="FUNCTION"
->cyg_thread_yield</TT
-> can be used to
-implement a form of cooperative multitasking.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN529"
-></A
-><H2
->Delay</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_delay</TT
-> allows a thread to suspend until
-the specified number of clock ticks have occurred. For example, if a
-value of 1 is used and the system clock runs at a frequency of 100Hz
-then the thread will sleep for up to 10 milliseconds. This
-functionality depends on the presence of a real-time system clock, as
-controlled by the configuration option
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_COUNTERS_CLOCK</TT
->.
-      </P
-><P
->If the application requires delays measured in milliseconds or similar
-units rather than in clock ticks, some calculations are needed to
-convert between these units as described in <A
-HREF="kernel-clocks.html"
->Clocks</A
->. Usually these calculations can be done by
-the application developer, or at compile-time. Performing such
-calculations prior to every call to
-<TT
-CLASS="FUNCTION"
->cyg_thread_delay</TT
-> adds unnecessary overhead to the
-system. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN537"
-></A
-><H2
->Suspend and Resume</H2
-><P
->Associated with each thread is a suspend counter. When a thread is
-first created this counter is initialized to 1.
-<TT
-CLASS="FUNCTION"
->cyg_thread_suspend</TT
-> can be used to increment the
-suspend counter, and <TT
-CLASS="FUNCTION"
->cyg_thread_resume</TT
-> decrements
-it. The scheduler will never run a thread with a non-zero suspend
-counter. Therefore a newly created thread will not run until it has
-been resumed.
-      </P
-><P
->An occasional problem with the use of suspend and resume functionality
-is that a thread gets suspended more times than it is resumed and
-hence never becomes runnable again. This can lead to very confusing
-behaviour. To help with debugging such problems the kernel provides a
-configuration option
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_MAX_SUSPEND_COUNT_ASSERT</TT
-> which
-imposes an upper bound on the number of suspend calls without matching
-resumes, with a reasonable default value. This functionality depends
-on infrastructure assertions being enabled.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN544"
-></A
-><H2
->Releasing a Blocked Thread</H2
-><P
->When a thread is blocked on a synchronization primitive such as a
-semaphore or a mutex, or when it is waiting for an alarm to trigger,
-it can be forcibly woken up using
-<TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
->. Typically this will call the
-affected synchronization primitive to return false, indicating that
-the operation was not completed successfully. This function has to be
-used with great care, and in particular it should only be used on
-threads that have been designed appropriately and check all return
-codes. If instead it were to be used on, say, an arbitrary thread that
-is attempting to claim a mutex then that thread might not bother to
-check the result of the mutex lock operation - usually there would be
-no reason to do so. Therefore the thread will now continue running in
-the false belief that it has successfully claimed a mutex lock, and
-the resulting behaviour is undefined. If the system has been built
-with assertions enabled then it is possible that an assertion will
-trigger when the thread tries to release the mutex it does not
-actually own.
-      </P
-><P
->The main use of <TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
-> is in the
-POSIX compatibility layer, where it is used in the implementation of
-per-thread signals and cancellation handlers.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CONTROL-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_yield</TT
-> can only be called from thread
-context, A DSR must always run to completion and cannot yield the
-processor to some thread. <TT
-CLASS="FUNCTION"
->cyg_thread_suspend</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_thread_resume</TT
->, and
-<TT
-CLASS="FUNCTION"
->cyg_thread_release</TT
-> may be called from thread or
-DSR context. 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-info.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-termination.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread information</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread termination</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-create.html b/doc/html/ref/kernel-thread-create.html
deleted file mode 100644 (file)
index 2724425..0000000
+++ /dev/null
@@ -1,641 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread creation</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="SMP Support"
-HREF="kernel-smp.html"><LINK
-REL="NEXT"
-TITLE="Thread information"
-HREF="kernel-thread-info.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-smp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-info.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-CREATE">Thread creation</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN256"
-></A
-><H2
->Name</H2
->cyg_thread_create&nbsp;--&nbsp;Create a new thread</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN259"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN260"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;    
-       </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_create</CODE
->(cyg_addrword_t sched_info, cyg_thread_entry_t* entry, cyg_addrword_t entry_data, char* name, void* stack_base, cyg_ucount32 stack_size, cyg_handle_t* handle, cyg_thread* thread);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The <TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> function allows application
-code and eCos packages to create new threads. In many applications
-this only happens during system initialization and all required data
-is allocated statically.  However additional threads can be created at
-any time, if necessary. A newly created thread is always in suspended
-state and will not start running until it has been resumed via a call
-to <TT
-CLASS="FUNCTION"
->cyg_thread_resume</TT
->. Also, if threads are
-created during system initialization then they will not start running
-until the eCos scheduler has been started.
-      </P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
-> argument is used
-primarily for debugging purposes, making it easier to keep track of
-which <SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> structure is associated with
-which application-level thread. The kernel configuration option
-<TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_NAME</TT
-> controls whether or not
-this name is actually used.
-      </P
-><P
->On creation each thread is assigned a unique handle, and this will be
-stored in the location pointed at by the <TT
-CLASS="PARAMETER"
-><I
->handle</I
-></TT
-> argument. Subsequent operations on
-this thread including the required
-<TT
-CLASS="FUNCTION"
->cyg_thread_resume</TT
-> should use this handle to
-identify the thread.
-      </P
-><P
->The kernel requires a small amount of space for each thread, in the
-form of a <SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> data structure, to hold
-information such as the current state of that thread. To avoid any
-need for dynamic memory allocation within the kernel this space has to
-be provided by higher-level code, typically in the form of a static
-variable. The <TT
-CLASS="PARAMETER"
-><I
->thread</I
-></TT
-> argument
-provides this space.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-ENTRY"
-></A
-><H2
->Thread Entry Point</H2
-><P
->The entry point for a thread takes the form:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void
-thread_entry_function(cyg_addrword_t data)
-{
-    &#8230;
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->The second argument to <TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> is a
-pointer to such a function. The third argument <TT
-CLASS="PARAMETER"
-><I
->entry_data</I
-></TT
-> is used to pass additional
-data to the function. Typically this takes the form of a pointer to
-some static data, or a small integer, or <TT
-CLASS="LITERAL"
->0</TT
-> if the
-thread does not require any additional data.
-      </P
-><P
->If the thread entry function ever returns then this is equivalent to
-the thread calling <TT
-CLASS="FUNCTION"
->cyg_thread_exit</TT
->. Even though
-the thread will no longer run again, it remains registered with the
-scheduler. If the application needs to re-use the
-<SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> data structure then a call to
-<TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
-> is required first.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-PRIORITIES"
-></A
-><H2
->Thread Priorities</H2
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->sched_info</I
-></TT
-> argument
-provides additional information to the scheduler. The exact details
-depend on the scheduler being used. For the bitmap and mlqueue
-schedulers it is a small integer, typically in the range 0 to 31, with
-0 being the highest priority. The lowest priority is normally used
-only by the system's idle thread. The exact number of priorities is
-controlled by the kernel configuration option
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_SCHED_PRIORITIES</TT
->. 
-      </P
-><P
->It is the responsibility of the application developer to be aware of
-the various threads in the system, including those created by eCos
-packages, and to ensure that all threads run at suitable priorities.
-For threads created by other packages the documentation provided by
-those packages should indicate any requirements.
-      </P
-><P
->The functions <TT
-CLASS="FUNCTION"
->cyg_thread_set_priority</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_priority</TT
->, and
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_current_priority</TT
-> can be used to
-manipulate a thread's priority.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-STACK"
-></A
-><H2
->Stacks and Stack Sizes</H2
-><P
->Each thread needs its own stack for local variables and to keep track
-of function calls and returns. Again it is expected that this stack is
-provided by the calling code, usually in the form of static data, so
-that the kernel does not need any dynamic memory allocation
-facilities. <TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> takes two arguments
-related to the stack, a pointer to the base of the stack and the total
-size of this stack. On many processors stacks actually descend from the
-top down, so the kernel will add the stack size to the base address to
-determine the starting location.
-      </P
-><P
->The exact stack size requirements for any given thread depend on a
-number of factors. The most important is of course the code that will
-be executed in the context of this code: if this involves significant
-nesting of function calls, recursion, or large local arrays, then the
-stack size needs to be set to a suitably high value. There are some
-architectural issues, for example the number of cpu registers and the
-calling conventions will have some effect on stack usage. Also,
-depending on the configuration, it is possible that some other code
-such as interrupt handlers will occasionally run on the current
-thread's stack. This depends in part on configuration options such as
-<TT
-CLASS="VARNAME"
->CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK</TT
->
-and <TT
-CLASS="VARNAME"
->CYGSEM_HAL_COMMON_INTERRUPTS_ALLOW_NESTING</TT
->.
-      </P
-><P
->Determining an application's actual stack size requirements is the
-responsibility of the application developer, since the kernel cannot
-know in advance what code a given thread will run. However, the system
-does provide some hints about reasonable stack sizes in the form of
-two constants: <TT
-CLASS="VARNAME"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGNUM_HAL_STACK_SIZE_TYPICAL</TT
->. These are defined by
-the appropriate HAL package. The <TT
-CLASS="VARNAME"
->MINIMUM</TT
-> value is
-appropriate for a thread that just runs a single function and makes
-very simple system calls. Trying to create a thread with a smaller
-stack than this is illegal. The <TT
-CLASS="VARNAME"
->TYPICAL</TT
-> value is
-appropriate for applications where application calls are nested no
-more than half a dozen or so levels, and there are no large arrays on
-the stack.
-      </P
-><P
->If the stack sizes are not estimated correctly and a stack overflow
-occurs, the probably result is some form of memory corruption. This
-can be very hard to track down. The kernel does contain some code to
-help detect stack overflows, controlled by the configuration option
-<TT
-CLASS="VARNAME"
->CYGFUN_KERNEL_THREADS_STACK_CHECKING</TT
->: a small
-amount of space is reserved at the stack limit and filled with a
-special signature: every time a thread context switch occurs this
-signature is checked, and if invalid that is a good indication (but
-not absolute proof) that a stack overflow has occurred. This form of
-stack checking is enabled by default when the system is built with
-debugging enabled. A related configuration option is
-<TT
-CLASS="VARNAME"
->CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT</TT
->: enabling
-this option means that a thread can call the function
-<TT
-CLASS="FUNCTION"
->cyg_thread_measure_stack_usage</TT
-> to find out the
-maximum stack usage to date. Note that this is not necessarily the
-true maximum because, for example, it is possible that in the current
-run no interrupt occurred at the worst possible moment.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> may be called during
-initialization and from within thread context. It may not be called
-from inside a DSR.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-EXAMPLE"
-></A
-><H2
->Example</H2
-><P
->A simple example of thread creation is shown below. This involves
-creating five threads, one producer and four consumers or workers. The
-threads are created in the system's
-<TT
-CLASS="FUNCTION"
->cyg_user_start</TT
->: depending on the configuration it
-might be more appropriate to do this elsewhere, for example inside
-<TT
-CLASS="FUNCTION"
->main</TT
->.
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;cyg/hal/hal_arch.h&gt;
-#include &lt;cyg/kernel/kapi.h&gt;
-
-// These numbers depend entirely on your application
-#define NUMBER_OF_WORKERS    4
-#define PRODUCER_PRIORITY   10
-#define WORKER_PRIORITY     11
-#define PRODUCER_STACKSIZE  CYGNUM_HAL_STACK_SIZE_TYPICAL
-#define WORKER_STACKSIZE    (CYGNUM_HAL_STACK_SIZE_MINIMUM + 1024)
-
-static unsigned char producer_stack[PRODUCER_STACKSIZE];
-static unsigned char worker_stacks[NUMBER_OF_WORKERS][WORKER_STACKSIZE];
-static cyg_handle_t producer_handle, worker_handles[NUMBER_OF_WORKERS];
-static cyg_thread_t producer_thread, worker_threads[NUMBER_OF_WORKERS];
-
-static void
-producer(cyg_addrword_t data)
-{
-    &#8230;
-}
-
-static void
-worker(cyg_addrword_t data)
-{
-    &#8230;
-}
-
-void
-cyg_user_start(void)
-{
-    int i;
-
-    cyg_thread_create(PRODUCER_PRIORITY, &amp;producer, 0, "producer",
-                      producer_stack, PRODUCER_STACKSIZE,
-                      &amp;producer_handle, &amp;producer_thread);
-    cyg_thread_resume(producer_handle);
-    for (i = 0; i &#60; NUMBER_OF_WORKERS; i++) {
-        cyg_thread_create(WORKER_PRIORITY, &amp;worker, i, "worker",
-                          worker_stacks[i], WORKER_STACKSIZE,
-                          &amp;(worker_handles[i]), &amp;(worker_threads[i]));
-        cyg_thread_resume(worker_handles[i]);
-    }
-}
-      </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-CREATE-CXX"
-></A
-><H2
->Thread Entry Points and C++</H2
-><P
->For code written in C++ the thread entry function must be either a
-static member function of a class or an ordinary function outside any
-class. It cannot be a normal member function of a class because such
-member functions take an implicit additional argument
-<TT
-CLASS="VARNAME"
->this</TT
->, and the kernel has no way of knowing what
-value to use for this argument. One way around this problem is to make
-use of a special static member function, for example:
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->class fred {
-  public:
-    void thread_function();
-    static void static_thread_aux(cyg_addrword_t);
-};
-
-void
-fred::static_thread_aux(cyg_addrword_t objptr)
-{
-    fred* object = static_cast&lt;fred*&gt;(objptr);
-    object-&gt;thread_function();
-}
-
-static fred instance;
-
-extern "C" void
-cyg_start( void )
-{
-    &#8230;
-    cyg_thread_create( &#8230;,
-                      &amp;fred::static_thread_aux,
-                      static_cast&lt;cyg_addrword_t&gt;(&amp;instance),
-                      &#8230;);
-    &#8230;
-}
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->Effectively this uses the <TT
-CLASS="PARAMETER"
-><I
->entry_data</I
-></TT
-> argument to
-<TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> to hold the
-<TT
-CLASS="VARNAME"
->this</TT
-> pointer. Unfortunately this approach does
-require the use of some C++ casts, so some of the type safety that can
-be achieved when programming in C++ is lost.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-smp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-info.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SMP Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread information</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-data.html b/doc/html/ref/kernel-thread-data.html
deleted file mode 100644 (file)
index aca3222..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Per-thread data</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread priorities"
-HREF="kernel-thread-priorities.html"><LINK
-REL="NEXT"
-TITLE="Thread destructors"
-HREF="kernel-thread-destructors.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-priorities.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-destructors.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-DATA">Per-thread data</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN660"
-></A
-><H2
->Name</H2
->cyg_thread_new_data_index, cyg_thread_free_data_index, cyg_thread_get_data, cyg_thread_get_data_ptr, cyg_thread_set_data&nbsp;--&nbsp;Manipulate per-thread data</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN667"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN668"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_ucount32 cyg_thread_new_data_index</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_free_data_index</CODE
->(cyg_ucount32 index);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_addrword_t cyg_thread_get_data</CODE
->(cyg_ucount32 index);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_addrword_t* cyg_thread_get_data_ptr</CODE
->(cyg_ucount32 index);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_set_data</CODE
->(cyg_ucount32 index, cyg_addrword_t data);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN696"
-></A
-><H2
->Description</H2
-><P
->In some applications and libraries it is useful to have some data that
-is specific to each thread. For example, many of the functions in the
-POSIX compatibility package return -1 to indicate an error and store
-additional information in what appears to be a global variable
-<TT
-CLASS="VARNAME"
->errno</TT
->. However, if multiple threads make concurrent
-calls into the POSIX library and if <TT
-CLASS="VARNAME"
->errno</TT
-> were
-really a global variable then a thread would have no way of knowing
-whether the current <TT
-CLASS="VARNAME"
->errno</TT
-> value really corresponded
-to the last POSIX call it made, or whether some other thread had run
-in the meantime and made a different POSIX call which updated the
-variable. To avoid such confusion <TT
-CLASS="VARNAME"
->errno</TT
-> is instead
-implemented as a per-thread variable, and each thread has its own
-instance.
-      </P
-><P
->The support for per-thread data can be disabled via the configuration
-option <TT
-CLASS="VARNAME"
->CYGVAR_KERNEL_THREADS_DATA</TT
->. If enabled, each
-<SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> data structure holds a small array
-of words. The size of this array is determined by the configuration
-option <TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_THREADS_DATA_MAX</TT
->. When a
-thread is created the array is filled with zeroes.
-      </P
-><P
->If an application needs to use per-thread data then it needs an index
-into this array which has not yet been allocated to other code. This
-index can be obtained by calling
-<TT
-CLASS="FUNCTION"
->cyg_thread_new_data_index</TT
->, and then used in
-subsequent calls to <TT
-CLASS="FUNCTION"
->cyg_thread_get_data</TT
->.
-Typically indices are allocated during system initialization and
-stored in static variables. If for some reason a slot in the array is
-no longer required and can be re-used then it can be released by calling
-<TT
-CLASS="FUNCTION"
->cyg_thread_free_data_index</TT
->, 
-      </P
-><P
->The current per-thread data in a given slot can be obtained using
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_data</TT
->. This implicitly operates on
-the current thread, and its single argument should be an index as
-returned by <TT
-CLASS="FUNCTION"
->cyg_thread_new_data_index</TT
->. The
-per-thread data can be updated using
-<TT
-CLASS="FUNCTION"
->cyg_thread_set_data</TT
->. If a particular item of
-per-thread data is needed repeatedly then
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_data_ptr</TT
-> can be used to obtain the
-address of the data, and indirecting through this pointer allows the
-data to be examined and updated efficiently.
-      </P
-><P
->Some packages, for example the error and POSIX packages, have
-pre-allocated slots in the array of per-thread data. These slots
-should not normally be used by application code, and instead slots
-should be allocated during initialization by a call to
-<TT
-CLASS="FUNCTION"
->cyg_thread_new_data_index</TT
->. If it is known that,
-for example, the configuration will never include the POSIX
-compatibility package then application code may instead decide to
-re-use the slot allocated to that package,
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_THREADS_DATA_POSIX</TT
->, but obviously
-this does involve a risk of strange and subtle bugs if the
-application's requirements ever change.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-DATA-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
->Typically <TT
-CLASS="FUNCTION"
->cyg_thread_new_data_index</TT
-> is only
-called during initialization, but may also be called at any time in
-thread context. <TT
-CLASS="FUNCTION"
->cyg_thread_free_data_index</TT
->, if
-used at all, can also be called during initialization or from thread
-context. <TT
-CLASS="FUNCTION"
->cyg_thread_get_data</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_data_ptr</TT
->, and
-<TT
-CLASS="FUNCTION"
->cyg_thread_set_data</TT
-> may only be called from
-thread context because they implicitly operate on the current thread.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-priorities.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-destructors.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread priorities</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread destructors</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-destructors.html b/doc/html/ref/kernel-thread-destructors.html
deleted file mode 100644 (file)
index 86f4224..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread destructors</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Per-thread data"
-HREF="kernel-thread-data.html"><LINK
-REL="NEXT"
-TITLE="Exception handling"
-HREF="kernel-exceptions.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-exceptions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-DESTRUCTORS">Thread destructors</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN730"
-></A
-><H2
->Name</H2
->cyg_thread_add_destructor, cyg_thread_rem_destructor&nbsp;--&nbsp;Call functions on thread termination</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN734"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN735"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-typedef void (*<SPAN
-CLASS="TYPE"
->cyg_thread_destructor_fn</SPAN
->)(<SPAN
-CLASS="TYPE"
->cyg_addrword_t</SPAN
->);
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_thread_add_destructor</CODE
->(cyg_thread_destructor_fn fn, cyg_addrword_t data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool_t cyg_thread_rem_destructor</CODE
->(cyg_thread_destructor_fn fn, cyg_addrword_t data);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN753"
-></A
-><H2
->Description</H2
-><P
->These functions are provided for cases when an application requires a
-function to be automatically called when a thread exits. This is often
-useful when, for example, freeing up resources allocated by the thread.
-      </P
-><P
->This support must be enabled with the configuration option
-<TT
-CLASS="VARNAME"
->CYGPKG_KERNEL_THREADS_DESTRUCTORS</TT
->. When enabled,
-you may register a function of type
-<SPAN
-CLASS="TYPE"
->cyg_thread_destructor_fn</SPAN
-> to be called on thread
-termination using <TT
-CLASS="FUNCTION"
->cyg_thread_add_destructor</TT
->. You
-may also provide it with a piece of arbitrary information in the
-<TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
-> argument which will be passed to the
-destructor function <TT
-CLASS="PARAMETER"
-><I
->fn</I
-></TT
-> when the thread
-terminates. If you no longer wish to call a function previous
-registered with <TT
-CLASS="FUNCTION"
->cyg_thread_add_destructor</TT
->, you
-may call <TT
-CLASS="FUNCTION"
->cyg_thread_rem_destructor</TT
-> with the same
-parameters used to register the destructor function. Both these
-functions return <TT
-CLASS="LITERAL"
->true</TT
-> on success and
-<TT
-CLASS="LITERAL"
->false</TT
-> on failure.
-      </P
-><P
->By default, thread destructors are per-thread, which means that registering
-a destructor function only registers that function for the current thread.
-In other words, each thread has its own list of destructors.
-Alternatively you may disable the configuration option
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD</TT
-> in which
-case any registered destructors will be run when <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->any</I
-></SPAN
->
-threads exit. In other words, the thread destructor list is global and all
-threads have the same destructors.
-      </P
-><P
->There is a limit to the number of destructors which may be registered,
-which can be controlled with the
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_THREADS_DESTRUCTORS</TT
-> configuration
-option. Increasing this value will very slightly increase the amount
-of memory in use, and when
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD</TT
-> is
-enabled, the amount of memory used per thread will increase. When the
-limit has been reached, <TT
-CLASS="FUNCTION"
->cyg_thread_add_destructor</TT
->
-will return <TT
-CLASS="LITERAL"
->false</TT
->.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-DESTRUCTORS-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
->When <TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD</TT
->
-is enabled, these functions must only be called from a thread context
-as they implicitly operate on the current thread. When
-<TT
-CLASS="VARNAME"
->CYGSEM_KERNEL_THREADS_DESTRUCTORS_PER_THREAD</TT
-> is
-disabled, these functions may be called from thread or DSR context,
-or at initialization time.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-exceptions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Per-thread data</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Exception handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-info.html b/doc/html/ref/kernel-thread-info.html
deleted file mode 100644 (file)
index 82db9f0..0000000
+++ /dev/null
@@ -1,570 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread information</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread creation"
-HREF="kernel-thread-create.html"><LINK
-REL="NEXT"
-TITLE="Thread control"
-HREF="kernel-thread-control.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-create.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-INFO">Thread information</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN356"
-></A
-><H2
->Name</H2
->cyg_thread_self, cyg_thread_idle_thread, cyg_thread_get_stack_base, cyg_thread_get_stack_size, cyg_thread_measure_stack_usage, cyg_thread_get_next, cyg_thread_get_info, cyg_thread_find&nbsp;--&nbsp;Get basic thread information</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN366"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN367"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;    
-       </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_handle_t cyg_thread_self</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_handle_t cyg_thread_idle_thread</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_addrword_t cyg_thread_get_stack_base</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_uint32 cyg_thread_get_stack_size</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_uint32 cyg_thread_measure_stack_usage</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool cyg_thread_get_next</CODE
->(cyg_handle_t *thread, cyg_uint16 *id);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool cyg_thread_get_info</CODE
->(cyg_handle_t thread, cyg_uint16 id, cyg_thread_info *info);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_handle_t cyg_thread_find</CODE
->(cyg_uint16 id);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-INFO-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->These functions can be used to obtain some basic information about
-various threads in the system. Typically they serve little or no
-purpose in real applications, but they can be useful during debugging.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_self</TT
-> returns a handle corresponding
-to the current thread. It will be the same as the value filled in by
-<TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> when the current thread was
-created. This handle can then be passed to other functions such as
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_priority</TT
->.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_idle_thread</TT
-> returns the handle
-corresponding to the idle thread. This thread is created automatically
-by the kernel, so application-code has no other way of getting hold of
-this information.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_get_stack_base</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_stack_size</TT
-> return information
-about a specific thread's stack. The values returned will match the
-values passed to <TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> when this
-thread was created.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_measure_stack_usage</TT
-> is only available
-if the configuration option
-<TT
-CLASS="VARNAME"
->CYGFUN_KERNEL_THREADS_STACK_MEASUREMENT</TT
-> is enabled.
-The return value is the maximum number of bytes of stack space used so
-far by the specified thread. Note that this should not be considered a
-true upper bound, for example it is possible that in the current test
-run the specified thread has not yet been interrupted at the deepest
-point in the function call graph. Never the less the value returned
-can give some useful indication of the thread's stack requirements.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_get_next</TT
-> is used to enumerate all the
-current threads in the system. It should be called initially with the
-locations pointed to by <TT
-CLASS="PARAMETER"
-><I
->thread</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->id</I
-></TT
-> set to zero. On return these will be set to
-the handle and ID of the first thread. On subsequent calls, these
-parameters should be left set to the values returned by the previous
-call.  The handle and ID of the next thread in the system will be
-installed each time, until a <TT
-CLASS="LITERAL"
->false</TT
-> return value
-indicates the end of the list.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_get_info</TT
-> fills in the
-<SPAN
-CLASS="TYPE"
->cyg_thread_info</SPAN
-> structure with information about the
-thread described by the <TT
-CLASS="PARAMETER"
-><I
->thread</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->id</I
-></TT
-> arguments. The information returned includes
-the thread's handle and id, its state and name, priorities and stack
-parameters. If the thread does not exist the function returns
-<TT
-CLASS="LITERAL"
->false</TT
->.
-    </P
-><P
->The <SPAN
-CLASS="TYPE"
->cyg_thread_info</SPAN
-> structure is defined as follows by
-&lt;<TT
-CLASS="FILENAME"
->cyg/kernel/kapi.h</TT
->&gt;, but may
-be extended in future with additional members, and so its size should
-not be relied upon:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct
-{
-    <SPAN
-CLASS="TYPE"
->cyg_handle_t</SPAN
->        <TT
-CLASS="STRUCTFIELD"
-><I
->handle</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_uint16</SPAN
->          <TT
-CLASS="STRUCTFIELD"
-><I
->id</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_uint32</SPAN
->          <TT
-CLASS="STRUCTFIELD"
-><I
->state</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->char</SPAN
->                <TT
-CLASS="STRUCTFIELD"
-><I
->*name</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_priority_t</SPAN
->      <TT
-CLASS="STRUCTFIELD"
-><I
->set_pri</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_priority_t</SPAN
->      <TT
-CLASS="STRUCTFIELD"
-><I
->cur_pri</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_addrword_t</SPAN
->      <TT
-CLASS="STRUCTFIELD"
-><I
->stack_base</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_uint32</SPAN
->          <TT
-CLASS="STRUCTFIELD"
-><I
->stack_size</I
-></TT
->;
-    <SPAN
-CLASS="TYPE"
->cyg_uint32</SPAN
->          <TT
-CLASS="STRUCTFIELD"
-><I
->stack_used</I
-></TT
->;
-} cyg_thread_info;</PRE
-></TD
-></TR
-></TABLE
->
-    </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_find</TT
-> returns a handle for the thread
-whose ID is <TT
-CLASS="PARAMETER"
-><I
->id</I
-></TT
->. If no such thread exists, a
-zero handle is returned.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-INFO-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_self</TT
-> may only be called from thread
-context. <TT
-CLASS="FUNCTION"
->cyg_thread_idle_thread</TT
-> may be called
-from thread or DSR context, but only after the system has been
-initialized. <TT
-CLASS="FUNCTION"
->cyg_thread_get_stack_base</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_stack_size</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_thread_measure_stack_usage</TT
-> may be called
-any time after the specified thread has been created, but measuring
-stack usage involves looping over at least part of the thread's stack
-so this should normally only be done from thread context.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-INFO-EXAMPLES"
-></A
-><H2
->Examples</H2
-><P
->A simple example of the use of the
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_next</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_info</TT
-> follows:      
-      </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;#include &lt;cyg/kernel/kapi.h&gt;
-#include &lt;stdio.h&gt;
-
-void show_threads(void)
-{
-    cyg_handle_t thread = 0;
-    cyg_uint16 id = 0;
-
-    while( cyg_thread_get_next( &amp;thread, &amp;id ) )
-    {
-        cyg_thread_info info;
-
-        if( !cyg_thread_get_info( thread, id, &amp;info ) )
-            break;
-
-        printf("ID: %04x name: %10s pri: %d\n",
-                info.id, info.name?info.name:"----", info.set_pri );
-    }
-}
-
-      </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-create.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread creation</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread control</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-priorities.html b/doc/html/ref/kernel-thread-priorities.html
deleted file mode 100644 (file)
index b55abfa..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread priorities</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread termination"
-HREF="kernel-thread-termination.html"><LINK
-REL="NEXT"
-TITLE="Per-thread data"
-HREF="kernel-thread-data.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-termination.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-PRIORITIES">Thread priorities</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN616"
-></A
-><H2
->Name</H2
->cyg_thread_get_priority, cyg_thread_get_current_priority, cyg_thread_set_priority&nbsp;--&nbsp;Examine and manipulate thread priorities</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN621"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN622"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_priority_t cyg_thread_get_priority</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_priority_t cyg_thread_get_current_priority</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_set_priority</CODE
->(cyg_handle_t thread, cyg_priority_t priority);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN641"
-></A
-><H2
->Description</H2
-><P
->Typical schedulers use the concept of a thread priority to determine
-which thread should run next. Exactly what this priority consists of
-will depend on the scheduler, but a typical implementation would be a
-small integer in the range 0 to 31, with 0 being the highest priority.
-Usually only the idle thread will run at the lowest priority. The
-exact number of priority levels available depends on the
-configuration, typically the option
-<TT
-CLASS="VARNAME"
->CYGNUM_KERNEL_SCHED_PRIORITIES</TT
->.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_get_priority</TT
-> can be used to determine
-the priority of a thread, or more correctly the value last used in a
-<TT
-CLASS="FUNCTION"
->cyg_thread_set_priority</TT
-> call or when the thread
-was first created. In some circumstances it is possible that the
-thread is actually running at a higher priority. For example, if it
-owns a mutex and priority ceilings or inheritance is being used to
-prevent priority inversion problems, then the thread's priority may
-have been boosted temporarily.
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_current_priority</TT
-> returns the real
-current priority.
-      </P
-><P
->In many applications appropriate thread priorities can be determined
-and allocated statically. However, if it is necessary for a thread's
-priority to change at run-time then the
-<TT
-CLASS="FUNCTION"
->cyg_thread_set_priority</TT
-> function provides this
-functionality. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-PRIORITIES-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_get_priority</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_thread_get_current_priority</TT
-> can be called
-from thread or DSR context, although the latter is rarely useful.
-<TT
-CLASS="FUNCTION"
->cyg_thread_set_priority</TT
-> should also only be
-called from thread context.
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-termination.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread termination</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Per-thread data</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel-thread-termination.html b/doc/html/ref/kernel-thread-termination.html
deleted file mode 100644 (file)
index 7571683..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread termination</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos Kernel"
-HREF="kernel.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread control"
-HREF="kernel-thread-control.html"><LINK
-REL="NEXT"
-TITLE="Thread priorities"
-HREF="kernel-thread-priorities.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-thread-priorities.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="KERNEL-THREAD-TERMINATION">Thread termination</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN560"
-></A
-><H2
->Name</H2
->cyg_thread_exit, cyg_thread_kill, cyg_thread_delete&nbsp;--&nbsp;Allow threads to terminate</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN565"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN566"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/kernel/kapi.h&gt;
-        </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_exit</CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_kill</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void cyg_thread_delete</CODE
->(cyg_handle_t thread);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN582"
-></A
-><H2
->Description</H2
-><P
->In many embedded systems the various threads are allocated statically,
-created during initialization, and never need to terminate. This
-avoids any need for dynamic memory allocation or other resource
-management facilities. However if a given application does have a
-requirement that some threads be created dynamically, must terminate,
-and their resources such as the stack be reclaimed, then the kernel
-provides the functions <TT
-CLASS="FUNCTION"
->cyg_thread_exit</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_thread_kill</TT
->, and
-<TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
->.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_exit</TT
-> allows a thread to terminate
-itself, thus ensuring that it will not be run again by the scheduler.
-However the <SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> data structure passed
-to <TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> remains in use, and the
-handle returned by <TT
-CLASS="FUNCTION"
->cyg_thread_create</TT
-> remains
-valid. This allows other threads to perform certain operations on the
-terminated thread, for example to determine its stack usage via
-<TT
-CLASS="FUNCTION"
->cyg_thread_measure_stack_usage</TT
->. When the handle
-and <SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> structure are no longer
-required, <TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
-> should be called to
-release these resources. If the stack was dynamically allocated then
-this should not be freed until after the call to
-<TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
->.
-      </P
-><P
->Alternatively, one thread may use <TT
-CLASS="FUNCTION"
->cyg_thread_kill</TT
->
-on another This has much the same effect as the affected thread
-calling <TT
-CLASS="FUNCTION"
->cyg_thread_exit</TT
->. However killing a thread
-is generally rather dangerous because no attempt is made to unlock any
-synchronization primitives currently owned by that thread or release
-any other resources that thread may have claimed. Therefore use of
-this function should be avoided, and
-<TT
-CLASS="FUNCTION"
->cyg_thread_exit</TT
-> is preferred.
-<TT
-CLASS="FUNCTION"
->cyg_thread_kill</TT
-> cannot be used by a thread to
-kill itself.
-      </P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
-> should be used on a thread
-after it has exited and is no longer required. After this call the
-thread handle is no longer valid, and both the
-<SPAN
-CLASS="STRUCTNAME"
->cyg_thread</SPAN
-> structure and the thread stack can
-be re-used or freed. If <TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
-> is
-invoked on a thread that is still running then there is an implicit
-call to <TT
-CLASS="FUNCTION"
->cyg_thread_kill</TT
->.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="KERNEL-THREAD-TERMINATION-CONTEXT"
-></A
-><H2
->Valid contexts</H2
-><P
-><TT
-CLASS="FUNCTION"
->cyg_thread_exit</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_thread_kill</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_thread_delete</TT
-> can only be called from thread
-context. 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-thread-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-thread-priorities.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread control</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="kernel.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread priorities</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/kernel.html b/doc/html/ref/kernel.html
deleted file mode 100644 (file)
index e24e738..0000000
+++ /dev/null
@@ -1,266 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The eCos Kernel</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="NEXT"
-TITLE="Kernel Overview"
-HREF="kernel-overview.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="KERNEL"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->I. The eCos Kernel</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="kernel-overview.html"
->Kernel Overview</A
->&nbsp;--&nbsp;Overview of the eCos Kernel</DT
-><DT
-><A
-HREF="kernel-smp.html"
->SMP Support</A
->&nbsp;--&nbsp;Support Symmetric Multiprocessing Systems</DT
-><DT
-><A
-HREF="kernel-thread-create.html"
->Thread creation</A
->&nbsp;--&nbsp;Create a new thread</DT
-><DT
-><A
-HREF="kernel-thread-info.html"
->Thread information</A
->&nbsp;--&nbsp;Get basic thread information</DT
-><DT
-><A
-HREF="kernel-thread-control.html"
->Thread control</A
->&nbsp;--&nbsp;Control whether or not a thread is running</DT
-><DT
-><A
-HREF="kernel-thread-termination.html"
->Thread termination</A
->&nbsp;--&nbsp;Allow threads to terminate</DT
-><DT
-><A
-HREF="kernel-thread-priorities.html"
->Thread priorities</A
->&nbsp;--&nbsp;Examine and manipulate thread priorities</DT
-><DT
-><A
-HREF="kernel-thread-data.html"
->Per-thread data</A
->&nbsp;--&nbsp;Manipulate per-thread data</DT
-><DT
-><A
-HREF="kernel-thread-destructors.html"
->Thread destructors</A
->&nbsp;--&nbsp;Call functions on thread termination</DT
-><DT
-><A
-HREF="kernel-exceptions.html"
->Exception handling</A
->&nbsp;--&nbsp;Handle processor exceptions</DT
-><DT
-><A
-HREF="kernel-counters.html"
->Counters</A
->&nbsp;--&nbsp;Count event occurrences</DT
-><DT
-><A
-HREF="kernel-clocks.html"
->Clocks</A
->&nbsp;--&nbsp;Provide system clocks</DT
-><DT
-><A
-HREF="kernel-alarms.html"
->Alarms</A
->&nbsp;--&nbsp;Run an alarm function when a number of events have occurred</DT
-><DT
-><A
-HREF="kernel-mutexes.html"
->Mutexes</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-condition-variables.html"
->Condition Variables</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-semaphores.html"
->Semaphores</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-mail-boxes.html"
->Mail boxes</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-flags.html"
->Event Flags</A
->&nbsp;--&nbsp;Synchronization primitive</DT
-><DT
-><A
-HREF="kernel-spinlocks.html"
->Spinlocks</A
->&nbsp;--&nbsp;Low-level Synchronization Primitive</DT
-><DT
-><A
-HREF="kernel-schedcontrol.html"
->Scheduler Control</A
->&nbsp;--&nbsp;Control the state of the scheduler</DT
-><DT
-><A
-HREF="kernel-interrupts.html"
->Interrupt Handling</A
->&nbsp;--&nbsp;Manage interrupt handlers</DT
-><DT
-><A
-HREF="kernel-characterization.html"
->Kernel Real-time Characterization</A
->&nbsp;--&nbsp;Measure the performance of the eCos kernel</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos Reference Manual</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Kernel Overview</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/layout.png b/doc/html/ref/layout.png
deleted file mode 100644 (file)
index 257935a..0000000
Binary files a/doc/html/ref/layout.png and /dev/null differ
diff --git a/doc/html/ref/libc-implementation-details.html b/doc/html/ref/libc-implementation-details.html
deleted file mode 100644 (file)
index e8a3872..0000000
+++ /dev/null
@@ -1,465 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Some implementation details</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="C and math library overview"
-HREF="c-and-math-library-overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Math library compatibility modes"
-HREF="math-library-compatibility-modes.html"><LINK
-REL="NEXT"
-TITLE="Thread safety"
-HREF="libc-thread-safety.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="math-library-compatibility-modes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 13. C and math library overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="libc-thread-safety.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LIBC-IMPLEMENTATION-DETAILS">Some implementation details</H1
-><P
->Here are some details about the implementation
-which might be interesting, although they do not affect the ISO-defined
-semantics of the library. </P
-><P
-></P
-><UL
-><LI
-><P
->It is possible to configure 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->
- to have the standard C library without the kernel. You might want
-to do this to use less memory. But if you disable the kernel, you
-will be unable to use memory allocation, thread-safety and certain
-stdio functions such as input. Other C library functionality is
-unaffected.</P
-></LI
-><LI
-><P
->The opaque type returned by 
-<TT
-CLASS="FUNCTION"
->clock()</TT
->
- is called clock_t, and is implemented as a 64 bit integer.
-The value returned by 
-<TT
-CLASS="FUNCTION"
->clock()</TT
->
- is only correct if the kernel is configured with real-time clock
-support, as determined by the CYGVAR_KERNEL_COUNTERS_CLOCK
-configuration option in 
-<TT
-CLASS="FILENAME"
->kernel.h</TT
->
-.</P
-></LI
-><LI
-><P
->The FILE type is not implemented as a structure, but rather
-as a CYG_ADDRESS. </P
-></LI
-><LI
-><P
->The GNU C compiler will place its own <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->built-in</I
-></SPAN
-> implementations
-instead of some C library functions. This can be turned off with
-the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-fno-builtin</I
-></SPAN
-> option. The functions affected
-by this are 
-<TT
-CLASS="FUNCTION"
->abs()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->cos()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->fabs()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->labs()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->memcmp()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->memcpy()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->sin()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->sqrt()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->strcmp()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->strcpy()</TT
->
-, and 
-<TT
-CLASS="FUNCTION"
->strlen()</TT
->
-.</P
-></LI
-><LI
-><P
->For faster execution speed you should avoid this option
-and let the compiler use its built-ins. This can be turned off by
-invoking 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->GCC</I
-></SPAN
->
- with the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->-fno-builtin</I
-></SPAN
-> option. </P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->memcpy()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->memset()</TT
->
- are located in the infrastructure package, not in the C library
-package. This is because the compiler calls these functions, and
-the kernel needs to resolve them even if the C library is not configured. </P
-></LI
-><LI
-><P
->Error codes such as EDOM and ERANGE, as well as 
-<TT
-CLASS="FUNCTION"
->strerror()</TT
->
-, are implemented in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->error</I
-></SPAN
-> package. The
-error package is separate from the rest of the C and math libraries
-so that the rest of 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->
- can use these error handling facilities even if the C library is
-not configured. </P
-></LI
-><LI
-><P
->When 
-<TT
-CLASS="FUNCTION"
->free()</TT
->
- is invoked, heap memory will normally be coalesced. If the CYGSEM_KERNEL_MEMORY_COALESCE
-configuration parameter is not set, memory will not be coalesced,
-which might cause programs to fail. </P
-></LI
-><LI
-><P
->Signals, as implemented by 
-<TT
-CLASS="FILENAME"
->&lt;signal.h&gt;</TT
->, are guaranteed to work
-correctly if raised using the
-<TT
-CLASS="FUNCTION"
->raise()</TT
->
- function from a normal working program context. Using signals from
-within an ISR or DSR context is not expected to work. Also, it is
-not guaranteed that if CYGSEM_LIBC_SIGNALS_HWEXCEPTIONS
-is set, that handling a signal using 
-<TT
-CLASS="FUNCTION"
->signal()</TT
->
- will necessarily catch that form of exception. For example, it
-may be expected that a divide-by-zero error would be caught by handling 
-<TT
-CLASS="VARNAME"
->SIGFPE</TT
->. However it depends on the underlying HAL implementation to implement
-the required hardware exception. And indeed the hardware itself
-may not be capable of detecting these exceptions so it may not be
-possible for the HAL implementer to do this in any case. Despite
-this lack of guarantees in this respect, the signals implementation
-is still ISO C compliant since ISO C does not offer any such guarantees
-either. </P
-></LI
-><LI
-><P
->The 
-<TT
-CLASS="FUNCTION"
->getenv()</TT
->
- function is implemented (unless the CYGPKG_LIBC_ENVIRONMENT configuration
-option is turned off), but there is no shell or 
-<TT
-CLASS="FUNCTION"
->putenv()</TT
->
- function to set the environment dynamically. The environment is
-set in a global variable environ, declared as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->extern char **environ; // Standard environment definition</PRE
-></TD
-></TR
-></TABLE
-><P
->The environment can be statically initialized at startup time
-using the CYGDAT_LIBC_DEFAULT_ENVIRONMENT
-option. If so, remember that the final entry of the array initializer
-must be NULL. </P
-></LI
-></UL
-><P
->Here is a minimal <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> program which
-demonstrates the use of environments (see also the test case in <TT
-CLASS="FILENAME"
->language/c/libc/current/tests/stdlib/getenv.c</TT
->): </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;stdio.h&gt;
-#include &lt;stdlib.h&gt; // Main header for stdlib functions
-
-extern char **environ; // Standard environment definition
-
-int
-main( int argc, char *argv[] )
-{
- char *str;
- char *env[] = { "PATH=/usr/local/bin:/usr/bin",
- "HOME=/home/fred",
- "TEST=1234=5678",
- "home=hatstand",
- NULL };
-
- printf("Display the current PATH environment variable\n");
-
- environ = (char **)&amp;env;
-
- str = getenv("PATH");
-
- if (str==NULL) {
-  printf("The current PATH is unset\n");
- } else {
-  printf("The current PATH is \"%s\"\n", str);
- }
- return 0;
-} </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="math-library-compatibility-modes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="libc-thread-safety.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Math library compatibility modes</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread safety</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/libc-thread-safety.html b/doc/html/ref/libc-thread-safety.html
deleted file mode 100644 (file)
index f704f1e..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread safety</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="C and math library overview"
-HREF="c-and-math-library-overview.html"><LINK
-REL="PREVIOUS"
-TITLE="Some implementation details"
-HREF="libc-implementation-details.html"><LINK
-REL="NEXT"
-TITLE="C library startup"
-HREF="c-library-startup.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="libc-implementation-details.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 13. C and math library overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c-library-startup.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="LIBC-THREAD-SAFETY">Thread safety</H1
-><P
->The ISO C library has configuration options that control thread
-safety, i.e. working behavior if multiple threads call the same
-function at the same time.</P
-><P
->The following functionality has to be configured correctly,
-or used carefully in a multi-threaded environment:</P
-><P
-></P
-><UL
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->mblen()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->mbtowc()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->wctomb()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->printf()</TT
->
- (and all standard I/O functions except for 
-<TT
-CLASS="FUNCTION"
->sprintf()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->sscanf()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->strtok()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->rand()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->srand()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->signal()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->raise()</TT
-></P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->asctime()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->ctime()</TT
->
-, 
-<TT
-CLASS="FUNCTION"
->gmtime()</TT
->
-, and 
-<TT
-CLASS="FUNCTION"
->localtime()</TT
-></P
-></LI
-><LI
-><P
->the 
-<TT
-CLASS="FUNCTION"
->errno</TT
->
- variable</P
-></LI
-><LI
-><P
->the 
-<TT
-CLASS="FUNCTION"
->environ</TT
->
- variable</P
-></LI
-><LI
-><P
->date and time settings</P
-></LI
-></UL
-><P
->In some cases, to make <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> development
-easier, functions are provided (as specified by POSIX 1003.1) that define
-re-entrant alternatives, i.e. <TT
-CLASS="FUNCTION"
->rand_r()</TT
->, <TT
-CLASS="FUNCTION"
->strtok_r()</TT
->, <TT
-CLASS="FUNCTION"
->asctime_r()</TT
->, <TT
-CLASS="FUNCTION"
->ctime_r()</TT
->, <TT
-CLASS="FUNCTION"
->gmtime_r()</TT
->,
-and <TT
-CLASS="FUNCTION"
->localtime_r()</TT
->. In other cases,
-configuration options are provided that control either locking of functions
-or their shared data, such as with standard I/O streams,
-or by using per-thread data, such as with the <TT
-CLASS="FUNCTION"
->errno</TT
-> variable.</P
-><P
->In some other cases, like the setting of date and time, no
-re-entrant or thread-safe alternative or configuration is provided
-as it is simply not a worthwhile addition (date and time should
-rarely need to be set.)</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="libc-implementation-details.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c-library-startup.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Some implementation details</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->C library startup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/libc.html b/doc/html/ref/libc.html
deleted file mode 100644 (file)
index 7942d01..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The ISO Standard C and Math Libraries</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Future developments"
-HREF="hal-future-developments.html"><LINK
-REL="NEXT"
-TITLE="C and math library overview"
-HREF="c-and-math-library-overview.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-future-developments.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="LIBC"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->IV. The ISO Standard C and Math Libraries</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->13. <A
-HREF="c-and-math-library-overview.html"
->C and math library overview</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-future-developments.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Future developments</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->C and math library overview</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/malta.html b/doc/html/ref/malta.html
deleted file mode 100644 (file)
index aede585..0000000
+++ /dev/null
@@ -1,690 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board"
-HREF="atlas.html"><LINK
-REL="NEXT"
-TITLE="MIPS/RM7000 PMC-Sierra Ocelot"
-HREF="ocelot.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="atlas.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ocelot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="MALTA">MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6809">Overview</H2
-><P
->RedBoot supports both front
-facing serial ports and the built in ethernet port for communication and downloads.
-The default serial port settings are 38400,8,N,1. RedBoot runs from and supports
-flash management for the system flash region.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6819"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6838">Initial Installation</H2
-><P
->RedBoot is installed using the code download facility built into the
-Malta board. See the Malta User manual for details, and also the Malta download
-format in <A
-HREF="malta.html#MALTA-DOWNLOAD-FORMAT"
->the Section called <I
->Malta download format</I
-></A
->.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN6842">Quick download instructions</H3
-><P
->Here are quick start instructions for downloading the prebuilt RedBoot
-image. </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Locate the prebuilt files in the bin directory: <TT
-CLASS="FILENAME"
->deleteall.fl</TT
-> and <TT
-CLASS="FILENAME"
->redboot_ROM.fl</TT
->. </P
-></LI
-><LI
-><P
->Make sure switch S5-1 is ON. Reset the board and verify that
-the LED display reads <TT
-CLASS="COMPUTEROUTPUT"
->Flash DL</TT
->. </P
-></LI
-><LI
-><P
->Make sure your parallel port is connected to the 1284 port
-Of the Atlas board. </P
-></LI
-><LI
-><P
->Send the <TT
-CLASS="FILENAME"
->deleteall.fl</TT
-> file to the
-parallel port to erase previous images:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat deleteall.fl &#62;/dev/lp0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-When this is complete, the LED display should read
-<TT
-CLASS="COMPUTEROUTPUT"
->Deleted</TT
->.</P
-></LI
-><LI
-><P
->Send the RedBoot image to the board:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot_ROM.fl &#62;/dev/lp0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-When this is complete, the LED display should show the last address
-programmed. This will be something like:
-<TT
-CLASS="COMPUTEROUTPUT"
->1fc17000</TT
->. </P
-></LI
-><LI
-><P
->Change switch S5-1 to OFF and reset the board. The LED display
-should read <TT
-CLASS="COMPUTEROUTPUT"
->RedBoot</TT
->. </P
-></LI
-><LI
-><P
->Run the RedBoot <B
-CLASS="COMMAND"
->fis init</B
-> and <B
-CLASS="COMMAND"
->fconfig</B
-> commands to initialize the flash. See <A
-HREF="flash-image-system.html"
->the Section called <I
->Flash Image System (FIS)</I
-> in Chapter 2</A
->
-and <A
-HREF="persistent-state-flash.html"
->the Section called <I
->Persistent State Flash-based Configuration and Control</I
-> in Chapter 2</A
-> for details. </P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="MALTA-DOWNLOAD-FORMAT">Malta download format</H3
-><P
->In order to download RedBoot to the Malta board, it must be converted
-to the Malta download format.</P
-><P
->The <I
-CLASS="CITETITLE"
->Atlas/Malta Developer's Kit</I
-> CD contains an <SPAN
-CLASS="APPLICATION"
->srecconv.pl</SPAN
-> utility which requires Perl. This utility is part
-of the <TT
-CLASS="FILENAME"
->yamon/yamon-src-02.00.tar.gz</TT
-> tarball
-on the Dev Kit CD. The path in the expanded tarball is <TT
-CLASS="FILENAME"
->yamon/bin/tools</TT
->.  To use
-<SPAN
-CLASS="APPLICATION"
->srecconv</SPAN
-> to convert the S-record file:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cp redboot_ROM.srec redboot_ROM.rec</B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->srecconv.pl -ES L -A 29 redboot_ROM</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-The resulting file is named <TT
-CLASS="FILENAME"
->redboot_ROM.fl</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6888">Additional commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the
-loading and execution of Linux kernels, is supported for this architecture
- (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The
-<B
-CLASS="COMMAND"
->exec</B
-> parameters used for MIPS boards are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location to store command line and environment passed to kernel</P
-></DD
-><DT
->-w <TT
-CLASS="REPLACEABLE"
-><I
->&lt;time&#62;</I
-></TT
-></DT
-><DD
-><P
->Wait time in seconds before starting kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
-><TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Kernel entry point, defaulting to the entry point of the last image
-loaded</P
-></DD
-></DL
-></DIV
-><P
->Linux kernels on MIPS platforms expect the entry point to be called with arguments
-in the registers equivalent to a C call with prototype:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void Linux(int argc, char **argv, char **envp);</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->RedBoot will place the appropriate data at the offset specified by the
-<TT
-CLASS="PARAMETER"
-><I
->-b</I
-></TT
-> parameter, or by default at address 0x80080000, and will set the
-arguments accordingly when calling into the kernel.</P
-><P
->The default entry point, if no image with explicit entry point has been loaded and
-none is specified, is 0x80000750.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6920">Interrupts</H2
-><P
->RedBoot uses an interrupt vector table which is located at address 0x80000200.
-Entries in this table are pointers to functions with this protoype:      <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int irq_handler( unsigned vector, unsigned data )</PRE
-></TD
-></TR
-></TABLE
->On the malta
-board, the vector argument is one of 22 interrupts defined in <TT
-CLASS="COMPUTEROUTPUT"
->hal/mips/malta/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/include/plf_intr.h</TT
->: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;#define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_INTR   0
-#define CYGNUM_HAL_INTERRUPT_SOUTH_BRIDGE_SMI    1
-#define CYGNUM_HAL_INTERRUPT_CBUS_UART           2
-#define CYGNUM_HAL_INTERRUPT_COREHI              3
-#define CYGNUM_HAL_INTERRUPT_CORELO              4
-#define CYGNUM_HAL_INTERRUPT_COMPARE             5
-#define CYGNUM_HAL_INTERRUPT_TIMER               6
-#define CYGNUM_HAL_INTERRUPT_KEYBOARD            7
-#define CYGNUM_HAL_INTERRUPT_CASCADE             8
-#define CYGNUM_HAL_INTERRUPT_TTY1                9
-#define CYGNUM_HAL_INTERRUPT_TTY0               10
-#define CYGNUM_HAL_INTERRUPT_11                 11
-#define CYGNUM_HAL_INTERRUPT_FLOPPY             12
-#define CYGNUM_HAL_INTERRUPT_PARALLEL           13
-#define CYGNUM_HAL_INTERRUPT_REAL_TIME_CLOCK    14
-#define CYGNUM_HAL_INTERRUPT_I2C                15
-#define CYGNUM_HAL_INTERRUPT_PCI_AB             16
-#define CYGNUM_HAL_INTERRUPT_PCI_CD             17
-#define CYGNUM_HAL_INTERRUPT_MOUSE              18
-#define CYGNUM_HAL_INTERRUPT_19                 19
-#define CYGNUM_HAL_INTERRUPT_IDE_PRIMARY        20
-#define CYGNUM_HAL_INTERRUPT_IDE_SECONDARY      21</PRE
-></TD
-></TR
-></TABLE
->The data
-passed to the ISR is pulled from a data table (<TT
-CLASS="COMPUTEROUTPUT"
->hal_interrupt_data</TT
->) which immediately follows the interrupt vector table. With
-22 interrupts, the data table starts at address 0x80000258.</P
-><P
->An application may create a normal C function with the above prototype
-to be an ISR. Just poke its address into the table at the correct index and
-enable the interrupt at its source. The return value of the ISR is ignored
-by RedBoot. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6929">Memory Maps</H2
-><P
->Memory Maps RedBoot sets up the following memory map on the Malta board.<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  C B  Description
------------------------ - -  -----------
-0x80000000 - 0x81ffffff Y Y  SDRAM
-0x9e000000 - 0x9e3fffff Y N  System flash (cached)
-0x9fc00000 - 0x9fffffff Y N  System flash (mirrored)
-0xa8000000 - 0xb7ffffff N N  PCI Memory Space
-0xb4000000 - 0xb40fffff N N  Galileo System Controller
-0xb8000000 - 0xb80fffff N N  Southbridge / ISA
-0xb8100000 - 0xbbdfffff N N  PCI I/O Space
-0xbe000000 - 0xbe3fffff N N  System flash (noncached)
-0xbf000000 - 0xbfffffff N N  Board logic FPGA</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6936">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=malta_mips32_4kc
-export ARCH_DIR=mips
-export PLATFORM_DIR=malta</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="atlas.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ocelot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MIPS/RM7000 PMC-Sierra Ocelot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/math-library-compatibility-modes.html b/doc/html/ref/math-library-compatibility-modes.html
deleted file mode 100644 (file)
index 21c72c4..0000000
+++ /dev/null
@@ -1,502 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Math library compatibility modes</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="C and math library overview"
-HREF="c-and-math-library-overview.html"><LINK
-REL="PREVIOUS"
-TITLE="C and math library overview"
-HREF="c-and-math-library-overview.html"><LINK
-REL="NEXT"
-TITLE="Some implementation details"
-HREF="libc-implementation-details.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 13. C and math library overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="libc-implementation-details.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="MATH-LIBRARY-COMPATIBILITY-MODES">Math library compatibility modes</H1
-><P
->This math library is capable of being operated in several
-different compatibility modes. These options deal solely with how
-errors are handled. </P
-><P
->There are 4 compatibility modes: ANSI/POSIX 1003.1;
-IEEE-754; X/Open Portability Guide issue 3 (XPG3); and
-System V Interface Definition Edition 3. </P
-><P
->In IEEE mode, the <TT
-CLASS="FUNCTION"
->matherr()</TT
-> function
-(see below) is never called, no warning messages are printed on
-the stderr output stream, and errno is never set. </P
-><P
->In ANSI/POSIX mode, errno is set correctly,
-but <TT
-CLASS="FUNCTION"
->matherr()</TT
-> is never called and no warning messages
-are printed on the stderr output stream. </P
-><P
->In X/Open mode, errno is set correctly,
-<TT
-CLASS="FUNCTION"
->matherr()</TT
-> is called, but no warning messages are printed
-on the stderr output stream. </P
-><P
->In SVID mode, functions which overflow return
-a value HUGE (defined in <TT
-CLASS="FILENAME"
->math.h</TT
->), which is the maximum
-single precision floating point value (as opposed to
-HUGE_VAL which is meant to stand for infinity). errno is
-set correctly and <TT
-CLASS="FUNCTION"
->matherr()</TT
-> is called. If
-<TT
-CLASS="FUNCTION"
->matherr()</TT
-> returns 0, warning messages are printed on
-the stderr output stream for some errors. </P
-><P
->The mode can be compiled-in as IEEE-only, or any one of the
-above methods settable at run-time. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->This math library assumes that the hardware (or software floating
-point emulation) supports IEEE-754 style arithmetic, 32-bit 2's
-complement integer arithmetic, doubles are in 64-bit IEEE-754 format.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN10153">matherr()</H2
-><P
->As mentioned above, in X/Open or SVID modes, the user
-           can supply a function <TT
-CLASS="FUNCTION"
->matherr()</TT
-> of
-           the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int <TT
-CLASS="FUNCTION"
->matherr</TT
->( struct exception *e )</PRE
-></TD
-></TR
-></TABLE
-><P
->where struct exception is defined as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct exception {
- int type;
- char *name;
- double arg1, arg2, retval;
-}; </PRE
-></TD
-></TR
-></TABLE
-><P
->type is the exception type and is one of:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->DOMAIN</DT
-><DD
-><P
->argument domain exception</P
-></DD
-><DT
->SING</DT
-><DD
-><P
->argument singularity</P
-></DD
-><DT
->OVERFLOW</DT
-><DD
-><P
->overflow range exception</P
-></DD
-><DT
->UNDERFLOW</DT
-><DD
-><P
->underflow range exception</P
-></DD
-><DT
->TLOSS</DT
-><DD
-><P
->total loss of significance</P
-></DD
-><DT
->PLOSS</DT
-><DD
-><P
->partial loss of significance</P
-></DD
-></DL
-></DIV
-><P
-><TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
-> is a string containing the name of the
-function</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->arg1</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->arg2</I
-></TT
-> are the
-arguments passed to the function</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->retval</I
-></TT
-> is the default value that will be returned
-by the function, and can be changed by <TT
-CLASS="FUNCTION"
->matherr()</TT
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->matherr must have &#8220;C&#8221; linkage, not &#8220;C&#0043;&#0043;&#8221; linkage.</P
-></BLOCKQUOTE
-></DIV
-><P
->If matherr returns zero, or the user doesn't supply
-their own matherr, then the following <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->usually</I
-></SPAN
-> happens
-in SVID mode:</P
-><DIV
-CLASS="TABLE"
-><A
-NAME="AEN10199"><P
-><B
->Table 13-1. Behavior of math exception handling</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Behavior</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->DOMAIN</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->0.0 returned,
-errno=EDOM, and a message printed on stderr</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->SING</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->HUGE of appropriate
-sign is returned, errno=EDOM, and a message is printed
-on stderr</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->OVERFLOW</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->HUGE of
-appropriate sign is returned, and errno=ERANGE</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->UNDERFLOW</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->0.0 is
-returned and errno=ERANGE</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->TLOSS</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->0.0 is returned,
-errno=ERANGE, and a message is printed on stderr</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->PLOSS</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The current
-implementation doesn't return this type</TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><P
->X/Open mode is similar except that the message is
-not printed on stderr and HUGE_VAL is used in place of
-HUGE</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN10226">Thread-safety and re-entrancy</H2
-><P
->With the appropriate configuration options set below, the
-math library is fully thread-safe if:</P
-><P
-></P
-><UL
-><LI
-><P
->Depending on the compatibility mode, the
-               setting of the errno variable from the C library is
-               thread-safe</P
-></LI
-><LI
-><P
->Depending on the compatibility mode, sending error messages
-to the stderr output stream using the C library 
-<TT
-CLASS="FUNCTION"
->fputs()</TT
->
- function is thread-safe </P
-></LI
-><LI
-><P
->Depending on the compatibility mode, the user-supplied 
-<TT
-CLASS="FUNCTION"
->matherr()</TT
->
- function and anything it depends on are thread-safe </P
-></LI
-></UL
-><P
->In addition, with the exception of the <TT
-CLASS="FUNCTION"
->gamma*()</TT
-> and <TT
-CLASS="FUNCTION"
->lgamma*()</TT
-> functions,
-the math library is reentrant (and thus safe to use from interrupt handlers)
-if the Math library is always in IEEE mode.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="libc-implementation-details.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->C and math library overview</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="c-and-math-library-overview.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Some implementation details</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/mbx.html b/doc/html/ref/mbx.html
deleted file mode 100644 (file)
index c5e118e..0000000
+++ /dev/null
@@ -1,417 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PowerPC/MPC8XX Motorola MBX</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="PowerPC/MPC860T Analogue & Micro PowerPC 860T"
-HREF="viper.html"><LINK
-REL="NEXT"
-TITLE="SuperH/SH3(SH7708) Hitachi EDK7708"
-HREF="edk7708.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="viper.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="edk7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="MBX">PowerPC/MPC8XX Motorola MBX</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7128">Overview</H2
-><P
->RedBoot uses
-the SMC1/COM1 serial port. The default serial port settings are 38400,8,N,1.
-Ethernet is also supported using the 10-base T connector. </P
-><P
->Management of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7139"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7158">Initial Installation Method</H2
-><P
->Device programmer is used to program the XU1 socketed flash part  (AM29F040B)
-with the ROM mode image of RedBoot. Use the on-board EPPC-Bug monitor to update
-RedBoot. </P
-><P
->This assumes that you have EPPC-Bug in the on-board flash. This can
-be determined by setting up the board according to the following instructions
-and powering up the board. </P
-><P
->The EPPC-Bug prompt should appear on the SMC1 connector at 9600 baud,
-8N1. </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Set jumper 3 to 2-3 [allow XU1 flash to be programmed]  </P
-></LI
-><LI
-><P
->Set jumper 4 to 2-3 [boot EPPC-Bug] </P
-></LI
-></OL
-><P
->If it is available, program the flash by following these steps: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Prepare EPPC-Bug for download: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->EPPC-Bug&#62;<TT
-CLASS="USERINPUT"
-><B
->lo 0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->At this point the monitor is ready for input. It will not
-return the prompt until the file has been downloaded.  </P
-></LI
-><LI
-><P
->Use the terminal emulator's ASCII download feature (or a simple
-clipboard copy/paste operation) to download the
-<TT
-CLASS="FILENAME"
->redboot.ppcbug</TT
-> file.</P
-><P
->Note that on Linux, <SPAN
-CLASS="APPLICATION"
->Minicom</SPAN
->'s ASCII
-download feature seems to be broken. A workaround is to load the file
-into <SPAN
-CLASS="APPLICATION"
->emacs</SPAN
-> (or another editor) and copy the
-full contents to the clipboard. Then press the mouse paste-button (usually
-the middle one) over the <SPAN
-CLASS="APPLICATION"
->Minicom</SPAN
-> window.  </P
-></LI
-><LI
-><P
->Program the flash with the downloaded data: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->EPPC-Bug&#62;<TT
-CLASS="USERINPUT"
-><B
->pflash 40000 60000 fc000000</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Switch off the power, and change jumper 4 to 1-2. Turn on
-the power again. The board should now boot using the newly programmed RedBoot.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7187">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7190">Memory Maps</H2
-><P
->Memory Maps RedBoot sets up the following memory map on the MBX board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range Description
------------------------ -----------
-0x00000000 - 0x003fffff DRAM
-0xfa100000 - 0xfa100003 LEDs
-0xfe000000 - 0xfe07ffff flash (AMD29F040B)
-0xff000000 - 0xff0fffff MPC registers</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7194">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=mbx
-export ARCH_DIR=powerpc
-export PLATFORM_DIR=mbx</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="viper.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="edk7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PowerPC/MPC860T Analogue &#38; Micro PowerPC 860T</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SuperH/SH3(SH7708) Hitachi EDK7708</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/mcmp-command.html b/doc/html/ref/mcmp-command.html
deleted file mode 100644 (file)
index f7cfb13..0000000
+++ /dev/null
@@ -1,475 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->mcmp</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="load"
-HREF="download-command.html"><LINK
-REL="NEXT"
-TITLE="mfill"
-HREF="mfill-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="download-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="mfill-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="MCMP-COMMAND">mcmp</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3581"
-></A
-><H2
->Name</H2
->mcmp&nbsp;--&nbsp;Compare two segments of memory</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3584"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->mcmp</B
->  {-s <TT
-CLASS="REPLACEABLE"
-><I
->location1</I
-></TT
->} {-d <TT
-CLASS="REPLACEABLE"
-><I
->location1</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->} [-1 | -2 | -4]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3597"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3599"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-s <TT
-CLASS="REPLACEABLE"
-><I
->location1</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Memory address</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Location for start of data.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-d <TT
-CLASS="REPLACEABLE"
-><I
->location2</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Memory address</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Location for start of data.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of data</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access one byte (8 bits) at a time.  
-Only the least significant 8 bits of the pattern will be used.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-2</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access two bytes (16 bits) at a time.  
-Only the least significant 16 bits of the pattern will be used.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access one word (32 bits) at a time.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3648"
-></A
-><H2
->Description</H2
-><P
->Compares the contents of two ranges of memory (RAM, ROM, FLASH, etc).</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3651"
-></A
-><H2
->Examples</H2
-><P
->Compare two buffers which match (result is <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->quiet</I
-></SPAN
->).
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mfill -b 0x100000 -l 0x20 -p 0xDEADFACE</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mfill -b 0x200000 -l 0x20 -p 0xDEADFACE</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mcmp -s 0x100000 -d 0x200000 -l 0x20</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Compare two buffers which don't match.  
-Only the first non-matching element is displayed.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mcmp -s 0x100000 -d 0x200000 -l 0x30 -2</B
-></TT
->
-Buffers don't match - 0x00100020=0x6000, 0x00200020=0x0000</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="download-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="mfill-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->load</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->mfill</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/menu_edit.png b/doc/html/ref/menu_edit.png
deleted file mode 100644 (file)
index 7923bf7..0000000
Binary files a/doc/html/ref/menu_edit.png and /dev/null differ
diff --git a/doc/html/ref/menu_file.png b/doc/html/ref/menu_file.png
deleted file mode 100644 (file)
index 8002deb..0000000
Binary files a/doc/html/ref/menu_file.png and /dev/null differ
diff --git a/doc/html/ref/menu_help.png b/doc/html/ref/menu_help.png
deleted file mode 100644 (file)
index ef16dfa..0000000
Binary files a/doc/html/ref/menu_help.png and /dev/null differ
diff --git a/doc/html/ref/menu_view.png b/doc/html/ref/menu_view.png
deleted file mode 100644 (file)
index 199a80b..0000000
Binary files a/doc/html/ref/menu_view.png and /dev/null differ
diff --git a/doc/html/ref/mfill-command.html b/doc/html/ref/mfill-command.html
deleted file mode 100644 (file)
index 8c4789f..0000000
+++ /dev/null
@@ -1,473 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->mfill</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="mcmp"
-HREF="mcmp-command.html"><LINK
-REL="NEXT"
-TITLE="ping"
-HREF="ping-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="mcmp-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ping-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="MFILL-COMMAND">mfill</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3663"
-></A
-><H2
->Name</H2
->mfill&nbsp;--&nbsp;Fill RAM with a specified pattern</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3666"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->mfill</B
->  {-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
->} {-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
->} {-p <TT
-CLASS="REPLACEABLE"
-><I
->value</I
-></TT
->} [-1 | -2 | -4]</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3679"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3681"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-b <TT
-CLASS="REPLACEABLE"
-><I
->location</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Memory address</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Location in memory for start of data.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Length of data</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-p <TT
-CLASS="REPLACEABLE"
-><I
->pattern</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Data value to fill with</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->0</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-1</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access one byte (8 bits) at a time.  
-Only the least significant 8 bits of the pattern will be used.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-2</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access two bytes (16 bits) at a time.  
-Only the least significant 16 bits of the pattern will be used.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Access one word (32 bits) at a time.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-4</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3729"
-></A
-><H2
->Description</H2
-><P
->Fills a range of memory with the given pattern.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3732"
-></A
-><H2
->Examples</H2
-><P
->Fill a buffer with zeros.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->x -b 0x100000 -l 0x20</B
-></TT
->
-00100000: 00 3E 00 06 00 06 00 06  00 00 00 00 00 00 00 00  |.&#62;..............|
-00100010: 00 00 00 78 00 70 00 60  00 60 00 60 00 60 00 60  |...x.p.`.`.`.`.`|
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mfill -b 0x100000 -l 0x20</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->x -b 0x100000 -l 0x20</B
-></TT
->
-00100000: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|
-00100010: 00 00 00 00 00 00 00 00  00 00 00 00 00 00 00 00  |................|</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Fill a buffer with a pattern.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->mfill -b 0x100000 -l 0x20 -p 0xDEADFACE</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->x -b 0x100000 -l 0x20</B
-></TT
->
-00100000: CE FA AD DE CE FA AD DE  CE FA AD DE CE FA AD DE  |................|
-00100010: CE FA AD DE CE FA AD DE  CE FA AD DE CE FA AD DE  |................|</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="mcmp-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ping-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->mcmp</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ping</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/nano.html b/doc/html/ref/nano.html
deleted file mode 100644 (file)
index 08e2cf9..0000000
+++ /dev/null
@@ -1,684 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA1110) Intel SA1110 (Assabet) "
-HREF="assabet.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC"
-HREF="ipaq.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="assabet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ipaq.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NANO">ARM/StrongARM(SA11X0) Bright Star Engineering commEngine and nanoEngine</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5802">Overview</H2
-><P
->RedBoot supports a serial port and the built in ethernet port
-for communication and downloads. The default serial port settings are 38400,8,N,1.
-RedBoot runs from and supports flash management for the system flash
-region.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5818"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->POST</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the first free flash block
-             at 0x40000.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5837">Initial Installation</H2
-><P
->Unlike other targets, the nanoEngine comes equipped with boot firmware
-which you cannot modify.  See chapter 5, "nanoEngine Firmware" of the <I
-CLASS="CITETITLE"
->nanoEngine Hardware Reference Manual</I
-> (we refer to "July 17, 2000
-Rev 0.6") from Bright Star Engineering. </P
-><P
->Because of this, eCos, and therefore Redboot, only supports a
-special configuration of the ROM mode, starting at offset 0x40000 in
-the flash.</P
-><P
->Briefly, the POST-configuration RedBoot image lives in flash following the
-BSE firmware. The BSE firmware is configured, using its standard <B
-CLASS="COMMAND"
->bootcmd</B
-> command, to run RedBoot at startup.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5844">Download Instructions</H2
-><P
->You can perform the initial load of the POST-configuration RedBoot image into
-flash using the BSE firmware's <B
-CLASS="COMMAND"
->load</B
-> command.
-This will load a binary file, using TFTP, and program it into flash in one
-operation. Because no memory management is used in the BSE firmware, flash
-is mapped from address zero upwards, so the address for the RedBoot POST image
-is 0x40000.  You must use the binary version of RedBoot for this,
-<TT
-CLASS="FILENAME"
->redboot-post.bin</TT
->.</P
-><P
->This assumes you have set up the other BSE firmware config
-parameters such that it can communicate over your network to your TFTP
-server.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#62;<TT
-CLASS="USERINPUT"
-><B
->load redboot-post.bin 40000</B
-></TT
->
-loading ... erasing blk at 00040000
-erasing blk at 00050000
-94168 bytes loaded cksum 00008579
-done
-&#62;
-&#62; <TT
-CLASS="USERINPUT"
-><B
->set bootcmd "go 40000"</B
-></TT
->
-&#62; <TT
-CLASS="USERINPUT"
-><B
->get</B
-></TT
->
-myip = 10.16.19.198
-netmask = 255.255.255.0
-eth = 0
-gateway = 10.16.19.66
-serverip = 10.16.19.66
-bootcmd = go 40000
-&#62;</PRE
-></TD
-></TR
-></TABLE
->
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->the BSE firmware runs its serial IO at 9600 Baud; RedBoot runs instead
-at 38400 Baud. You must select the right baud rate in your terminal program
-to be able to set up the BSE firmware.</P
-></BLOCKQUOTE
-></DIV
->
-
-After a reset, the BSE firmware will print
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Boot: BSE 2000 Sep 12 2000 14:00:30
-autoboot: "go 40000" [hit ESC to abort]</PRE
-></TD
-></TR
-></TABLE
->
-
-and then RedBoot starts, switching to 38400 Baud.</P
-><P
->Once you have installed a bootable RedBoot in the system in this
-manner, we advise re-installing using the generic method described in
-<A
-HREF="updating-redboot.html"
->Chapter 4</A
-> in order that the Flash Image System
-contains an appropriate description of the flash entries.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5860">Cohabiting with POST in Flash</H2
-><P
->The configuration file named <TT
-CLASS="FILENAME"
->redboot_POST.ecm</TT
->
-configures RedBoot to build for execution at address 0x50040000 (or, during
-bootup, 0x00040000). This is to allow power-on self-test (POST) code or immutable
-firmware to live in the lower addresses of the flash and to run before RedBoot
-gets control. The assumption is that RedBoot will be entered at its base address
-in physical memory, that is 0x00040000.</P
-><P
->Alternatively, for testing, you can call it in an already running system
-by using <TT
-CLASS="USERINPUT"
-><B
->go 0x50040040</B
-></TT
-> at another RedBoot prompt, or
-a branch to that address. The address is where the reset vector
-points. It is reported by RedBoot's <B
-CLASS="COMMAND"
->load</B
-> command
-and listed
-by the <B
-CLASS="COMMAND"
->fis list</B
-> command, amongst other
-places.</P
-><P
->Using the POST configuration enables a normal config option which causes
-linking and initialization against memory layout files called "...post..."
-rather than "...rom..." or "...ram..." in the <TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> directory. Specifically:<P
-CLASS="LITERALLAYOUT"
-><TT
-CLASS="FILENAME"
->include/pkgconf/mlt_arm_sa11x0_nano_post.h</TT
-><br>
-<TT
-CLASS="FILENAME"
->include/pkgconf/mlt_arm_sa11x0_nano_post.ldi</TT
-><br>
-<TT
-CLASS="FILENAME"
->include/pkgconf/mlt_arm_sa11x0_nano_post.mlt</TT
-></P
->
-
-It is these you should edit if you wish to move the execution address
-from 0x50040000 in the POST configuration.  Startup mode naturally
-remains ROM in this configuration.</P
-><P
->Because the nanoEngine contains immutable boot firmware at the start
-of flash, RedBoot for this target is configured to reserve that area in the
-Flash Image System, and to create by default an entry for the POST
-mode RedBoot.      
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis list</B
-></TT
->
-Name              FLASH addr  Mem addr    Length      Entry point
-(reserved)        0x50000000  0x50000000  0x00040000  0x00000000
-RedBoot[post]     0x50040000  0x00100000  0x00020000  0x50040040
-RedBoot config    0x503E0000  0x503E0000  0x00010000  0x00000000
-FIS directory     0x503F0000  0x503F0000  0x00010000  0x00000000
-RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
->    
-The entry "(reserved)" ensures that the FIS cannot attempt
-to overwrite the BSE firmware, thus ensuring that the board remains bootable
-and recoverable even after installing a broken RedBoot image.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5877">Special RedBoot Commands</H2
-><P
->The nanoEngine/commEngine has one or two Intel i82559 Ethernet controllers
-installed, but these have no associated serial EEPROM in which to record their
-Ethernet Station Address (ESA, or MAC address). The BSE firmware records an
-ESA for the device it uses, but this information is not available to RedBoot;
-we cannot share it.</P
-><P
->To keep the ESAs for the two ethernet interfaces, two new items of RedBoot
-configuration data are introduced.  You can list them with the RedBoot command <B
-CLASS="COMMAND"
->fconfig -l</B
-> thus:     
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig -l</B
-></TT
->
-Run script at boot: false
-Use BOOTP for network configuration: false
-Local IP address: 10.16.19.91
-Default server IP address: 10.16.19.66
-Network hardware address [MAC] for eth0: 0x00:0xB5:0xE0:0xB5:0xE0:0x99
-Network hardware address [MAC] for eth1: 0x00:0xB5:0xE0:0xB5:0xE0:0x9A
-GDB connection port: 9000
-Network debug at boot time: false
-RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
->
-
-You should set them before running RedBoot or eCos applications with
-the board connected to a network. The <B
-CLASS="COMMAND"
->fconfig </B
->
-command can be used as for any configuration data item; the entire ESA
-is entered in one line.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5885">Memory Maps</H2
-><P
->The first level page table is located at physical address 0xc0004000.
- No second level tables are used.   <DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x003fffff    4Mb FLASH (nCS0)
-0x18000000 - 0x18ffffff    Internal PCI bus - 2 x i82559 ethernet
-0x40000000 - 0x4fffffff    External IO or PCI bus
-0x80000000 - 0xbfffffff    SA-1110 Internal Registers
-0xc0000000 - 0xc7ffffff    DRAM Bank 0 - 32Mb SDRAM
-0xc8000000 - 0xcfffffff    DRAM Bank 1 - empty
-0xe0000000 - 0xe7ffffff    Cache Clean
-
-Virtual Address Range    C B  Description
------------------------  - -  ----------------------------------
-0x00000000 - 0x001fffff  Y Y  DRAM - 8Mb to 32Mb
-0x18000000 - 0x180fffff  N N  Internal PCI bus - 2 x i82559 ethernet
-0x40000000 - 0x4fffffff  N N  External IO or PCI bus
-0x50000000 - 0x51ffffff  Y Y  Up to 32Mb FLASH (nCS0)
-0x80000000 - 0xbfffffff  N N  SA-1110 Internal Registers
-0xc0000000 - 0xc0ffffff  N Y  DRAM Bank 0: 8 or 16Mb
-0xc8000000 - 0xc8ffffff  N Y  DRAM Bank 1: 8 or 16Mb or absent
-0xe0000000 - 0xe7ffffff  Y Y  Cache Clean</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The ethernet devices use a "PCI window" to communicate with the CPU.
-This is 1Mb of SDRAM which is shared with the ethernet devices that are on
-the PCI bus. It is neither cached nor buffered, to ensure that CPU and PCI
-accesses see correct data in the correct order. By default it is configured
-to be megabyte number 30, at addresses 0x01e00000-0x01efffff. This can be
-modified, and indeed must be, if less than 32Mb of SDRAM is installed, via
-the memory layout tool, or by moving the section <TT
-CLASS="COMPUTEROUTPUT"
->__pci_window</TT
-> referred to by symbols <TT
-CLASS="COMPUTEROUTPUT"
->CYGMEM_SECTION_pci_window*</TT
-> in the linker script.   </P
-><P
->Though the nanoEngine ships with 32Mb of SDRAM all attached to DRAM
-bank 0, the code can cope with any of these combinations also; "2 x " in this
-context means one device in each DRAM Bank.     <P
-CLASS="LITERALLAYOUT"
->1&nbsp;x&nbsp;8Mb&nbsp;=&nbsp;8Mb&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2&nbsp;x&nbsp;8Mb&nbsp;=&nbsp;16Mb<br>
-1&nbsp;x&nbsp;16Mb&nbsp;=&nbsp;16Mb&nbsp;&nbsp;&nbsp;2&nbsp;x&nbsp;16Mb&nbsp;=&nbsp;32Mb</P
->All are programmed the same
-in the memory controller.   </P
-><P
->Startup code detects which is fitted and programs the memory map accordingly.
-If the device(s) is 8Mb, then there are gaps in the physical memory map, because
-a high order address bit is not connected. The gaps are the higher 2Mb out
-of every 4Mb.</P
-><P
-> The SA11x0 OS timer is used as a polled timer to provide timeout
-support within RedBoot.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5899">Nano Platform Port</H2
-><P
->The nano is in the set of SA11X0-based platforms. It uses the arm architectural
-HAL, the sa11x0 variant HAL, plus the nano platform hal. These are components
-        <P
-CLASS="LITERALLAYOUT"
->CYGPKG_HAL_ARM&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hal/arm/arch/<br>
-CYGPKG_HAL_ARM_SA11X0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hal/arm/sa11x0/var<br>
-CYGPKG_HAL_ARM_SA11X0_NANO&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;hal/arm/sa11x0/nano</P
-> respectively.
-  </P
-><P
->The target name is "nano" which includes all these, plus the ethernet
-driver packages, flash driver, and so on.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5904">Ethernet Driver</H2
-><P
->The ethernet driver is in two parts:   </P
-><P
->A generic ether driver for Intel i8255x series devices, specifically
-the i82559, is <TT
-CLASS="COMPUTEROUTPUT"
->devs/eth/intel/i82559</TT
->.  Its
-package name is <TT
-CLASS="COMPUTEROUTPUT"
->CYGPKG_DEVS_ETH_INTEL_I82559</TT
->.
-  </P
-><P
->The platform-specific ether driver is <TT
-CLASS="COMPUTEROUTPUT"
->devs/eth/arm/nano</TT
->.  Its package is <TT
-CLASS="COMPUTEROUTPUT"
->CYGPKG_DEVS_ETH_ARM_NANO</TT
->.  This tells the generic driver the address in IO memory
-of the chip, for example, and other configuration details. This driver picks
-up the ESA from RedBoot's configuration data - unless configured to use a
-static ESA in the usual manner. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5913">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=nano
-export ARCH_DIR=arm
-export PLATFORM_DIR=sa11x0/nano</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="assabet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ipaq.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA11X0) Compaq iPAQ PocketPC</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-building-the-network-tests.html b/doc/html/ref/net-common-building-the-network-tests.html
deleted file mode 100644 (file)
index 39c9018..0000000
+++ /dev/null
@@ -1,327 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building the Network Tests</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"><LINK
-REL="PREVIOUS"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"><LINK
-REL="NEXT"
-TITLE="Standalone Tests"
-HREF="net-common-standalone-tests.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 36. Tests and Demonstrations</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-standalone-tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-BUILDING-THE-NETWORK-TESTS">Building the Network Tests</H1
-><P
->To build further network tests, ensure that the configuration
-option CYGPKG_NET_BUILD_TESTS is set in your build
-and then make the tests in the usual way.  Alternatively
-(with that option set) use
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->make -C net/common/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/ tests </PRE
-></TD
-></TR
-></TABLE
->
-after building the eCos library, if you wish to build
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->only</I
-></SPAN
->
-the network tests.</P
-><P
->This should give test executables in
-<TT
-CLASS="FILENAME"
->install/tests/net/common/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/tests</TT
->
-including
-the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->socket_test</I
-></SPAN
-> - trivial test of socket creation API 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbuf_test</I
-></SPAN
-> - trivial test of mbuf allocation API 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ftp_test</I
-></SPAN
-> - simple FTP test, connects to &#8220;server&#8221; 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ping_test</I
-></SPAN
-> - pings &#8220;server&#8221; and non-existent host to test timeout 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->dhcp_test</I
-></SPAN
-> - ping test, but also relinquishes and
-            reacquires DHCP leases periodically 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flood</I
-></SPAN
-> - a flood ping test; use with care 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tcp_echo</I
-></SPAN
-> - data forwarding program for performance test
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc_test_master </I
-></SPAN
->- network characterization master
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc_test_slave </I
-></SPAN
->- network characterization slave
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->server_test</I
-></SPAN
-> - a very simple server example
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tftp_client_test</I
-></SPAN
-> - performs a tftp get and put from/to &#8220;server&#8221; 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tftp_server_test</I
-></SPAN
-> - runs a tftp server for a short while 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->set_mac_address </I
-></SPAN
->- set MAC address(es) of interfaces in NVRAM
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->bridge</I
-></SPAN
-> - contributed network bridge code
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc6_test_master </I
-></SPAN
->- IPv4/IPv6 network characterization master
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc6_test_slave </I
-></SPAN
->- IPv4/IPv6 network characterization slave
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ga_server_test</I
-></SPAN
-> - a very simple IPv4/IPv6 server example</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-standalone-tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Tests and Demonstrations</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Standalone Tests</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-configuring-ip-addresses.html b/doc/html/ref/net-common-configuring-ip-addresses.html
deleted file mode 100644 (file)
index b58779f..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuring IP Addresses</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="PREVIOUS"
-TITLE="Sample Code"
-HREF="net-common-sample-code.html"><LINK
-REL="NEXT"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-sample-code.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-COMMON-CONFIGURING-IP-ADDRESSES">Chapter 35. Configuring IP Addresses</H1
-><P
->Each interface (&#8220;eth0&#8221; and &#8220;eth1&#8221;)
-has independent configuration of its setup.  Each can be set up
-manually (in which case you must write code to do this), or by using
-<SPAN
-CLASS="ACRONYM"
->BOOTP/DHCP</SPAN
->,
-or explicitly, with configured values. If additional
-interfaces are added, these must be configured manually.</P
-><P
->The configurable values are: </P
-><P
-></P
-><UL
-><LI
-><P
->IP address</P
-></LI
-><LI
-><P
->netmask</P
-></LI
-><LI
-><P
->broadcast address</P
-></LI
-><LI
-><P
->gateway/router</P
-></LI
-><LI
-><P
->server address.</P
-></LI
-></UL
-><P
->Server address is the DHCP server if applicable, but in addition,
-many test cases use it as &#8220;the machine to talk to&#8221; in
-whatever manner the test exercises the protocol stack.</P
-><P
->The initialization is invoked by calling the C routine   
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->init_all_network_interfaces</TT
->(void);</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Additionally, if the system is configured to support IPv6 then each
-interface may have an address assigned which is a composite of a 64 bit
-prefix and the 32 bit IPv4 address for that interface.
-The prefix is controlled by the CDL setting 
-CYGHWR_NET_DRIVER_ETH0_IPV6_PREFIX for &#8220;eth0&#8221;, etc.
-This is a CDL booldata type, allowing this address to be suppressed if
-not desired.</P
-><P
->Refer to the test cases,
-<TT
-CLASS="FILENAME"
->&#8230;/packages/net/common/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/tests/ftp_test.c</TT
->
-for example usage, and the source files in
-<TT
-CLASS="FILENAME"
->&#8230;/packages/net/common/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/src/bootp_support.c</TT
->
-and
-<TT
-CLASS="FILENAME"
->network_support.c</TT
->
-to see what that call does.</P
-><P
->This assumes that the MAC address (also known as 
-<SPAN
-CLASS="ACRONYM"
->ESA</SPAN
-> or Ethernet Station Address)
-is already defined in the
-serial EEPROM or however the particular target implements this;
-support for setting the MAC address is hardware dependent.</P
-><P
->DHCP support is active by default, and there are configuration
-options to control it.  Firstly, in the top level of the
-&#8220;Networking&#8221; configuration
-tree, &#8220;Use full DHCP instead of BOOTP&#8221; enables
-DHCP, and it contains an option to have the system provide a thread
-to renew DHCP leases and manage lease expiry. Secondly, the individual
-interfaces &#8220;eth0&#8221; and &#8220;eth1&#8221; each
-have new options within the &#8220;Use BOOTP/DHCP to
-initialize &#8216;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ethX</I
-></SPAN
->&#8217;&#8221; to
-select whether to use DHCP rather than BOOTP.</P
-><P
->Note that you are completely at liberty to ignore this startup code and its
-configuration in building your application.
-<TT
-CLASS="FUNCTION"
->init_all_network_interfaces()</TT
->
-is provided for three main purposes:
-<P
-></P
-><UL
-><LI
-><P
->For use by Red Hat's own test programs.</P
-></LI
-><LI
-><P
->As an easy &#8220;get you going&#8221; utility for
-newcomers to <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-></LI
-><LI
-><P
->As readable example code from which further development
-might start.</P
-></LI
-></UL
-></P
-><P
->If your application has different requirements for bringing up 
-available network interfaces, setting up routes, determining IP addresses
-and the like from the defaults that the example code provides, you can
-write your own initialization code to use whatever sequence of
-<TT
-CLASS="FUNCTION"
->ioctl()</TT
-> function
-calls carries out the desired setup.  Analogously, in larger systems,
-a sequence of &#8220;ifconfig&#8221; invocations is used; these mostly
-map to <TT
-CLASS="FUNCTION"
->ioctl()</TT
-> calls to manipulate the state of
-the interface in question.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-sample-code.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Sample Code</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Tests and Demonstrations</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-dhcp.html b/doc/html/ref/net-common-dhcp.html
deleted file mode 100644 (file)
index 177b918..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->DHCP</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Support Features"
-HREF="net-common-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Support Features"
-HREF="net-common-support.html"><LINK
-REL="NEXT"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 37. Support Features</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-DHCP">DHCP</H1
-><P
->This API publishes a routine to maintain DHCP state, and a
-semaphore that is signalled when a lease requires attention: this
-is your clue to call the aforementioned routine.</P
-><P
->The intent with this API is that a simple DHCP client thread,
-which maintains the state of the interfaces, can go as follows:
-(after <TT
-CLASS="FUNCTION"
->init_all_network_interfaces()</TT
-> is
-called from elsewhere)</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->while ( 1 ) {
-        while ( 1 ) {
-            cyg_semaphore_wait( &amp;dhcp_needs_attention );
-            if ( ! dhcp_bind() ) // a lease expired
-                break; // If we need to re-bind
-        }
-        dhcp_halt(); // tear everything down
-        init_all_network_interfaces(); // re-initialize
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->and if the application does not want to suffer the overhead
-of a separate thread and its stack for this, this functionality
-can be placed in the app&#8217;s server loop in an obvious fashion.
- That is the goal of breaking out these internal elements.  For example,
-some server might be arranged to poll DHCP from time to time like
-this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->while ( 1 ) {
-    init_all_network_interfaces();
-    open-my-listen-sockets();
-    while ( 1 ) {
-       serve-one-request();
-       // sleeps if no connections, but not forever; 
-       // so this loop is polled a few times a minute...
-       if ( cyg_semaphore_trywait( &amp;dhcp_needs_attention )) {
-             if ( ! dhcp_bind() ) {
-                 close-my-listen-sockets();
-                 dhcp_halt();
-                 break;
-             }
-       }
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If the configuration option CYGOPT_NET_DHCP_DHCP_THREAD
-is defined, then eCos provides a thread as described initially.
-Independent of this option, initialization of the interfaces still
-occurs in <TT
-CLASS="FUNCTION"
->init_all_network_interfaces()</TT
-> and
-your startup code can call that.  It will start the DHCP management
-thread if configured.  If a lease fails to be renewed, the management
-thread will shut down all interfaces and attempt to initialize all
-the interfaces again from scratch.  This may cause chaos in the
-app, which is why managing the DHCP state in an application aware
-thread is actually better, just far less convenient for testing.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Support Features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->TCP/IP Library Reference</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-ethernet-driver-design.html b/doc/html/ref/net-common-ethernet-driver-design.html
deleted file mode 100644 (file)
index 9a96b5b..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Ethernet Driver Design</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="PREVIOUS"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="NEXT"
-TITLE="Sample Code"
-HREF="net-common-sample-code.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-sample-code.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-COMMON-ETHERNET-DRIVER-DESIGN">Chapter 33. Ethernet Driver Design</H1
-><P
->Currently, the networking stack only supports ethernet based
-networking. </P
-><P
->The network drivers use a two-layer design.  One layer is
-hardware independent and contains all the stack specific code. 
-The other layer is platform dependent and communicates with the
-hardware independent layer via a very simple API.  In this way,
-hardware device drivers can actually be used with other stacks,
-if the same API can be provided by that stack.  We designed the
-drivers this way to encourage the development of other stacks in
-eCos while allowing re-use of the actual hardware specific code. </P
-><P
->More comprehensive documentation of the ethernet device driver and
-the associated API can be found in the generic ethernet device driver
-documentation
-<A
-HREF="io-eth-drv-generic.html"
->Part XIV in <I
->eCos Reference Manual</I
-></A
->
-The driver and API is the same as the minimal debug stack used by
-the RedBoot application. See the RedBoot documentation
-<A
-HREF="redboot.html"
->Part II in <I
->eCos Reference Manual</I
-></A
->
-for further
-information.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-sample-code.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->TCP/IP Stack Support for eCos</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Sample Code</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-interactive-tests.html b/doc/html/ref/net-common-interactive-tests.html
deleted file mode 100644 (file)
index 12c159f..0000000
+++ /dev/null
@@ -1,376 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Interactive Tests</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"><LINK
-REL="PREVIOUS"
-TITLE="Performance Test"
-HREF="net-common-performance-test.html"><LINK
-REL="NEXT"
-TITLE="Maintenance Tools "
-HREF="net-common-maintenance-tools.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-performance-test.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 36. Tests and Demonstrations</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-maintenance-tools.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-INTERACTIVE-TESTS">Interactive Tests</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->server_test</I
-></SPAN
-> - a very simple server example</PRE
-></TD
-></TR
-></TABLE
-><P
->This test simply awaits a connection on port 7734 and after
-accepting a connection, gets a packet (with a timeout of a few seconds)
-and prints it. </P
-><P
->The connection is then closed. We then loop to await the next
-connection, and so on. To use it, telnet to the target on port 7734
-then type something (quickly!)</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->% telnet 172.16.19.171 7734 
-Hello target board</PRE
-></TD
-></TR
-></TABLE
-><P
->and the test program will print something like:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->connection from 172.16.19.13:3369 
-buf = "Hello target board"</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ga_server_test</I
-></SPAN
-> - another very simple server example</PRE
-></TD
-></TR
-></TABLE
-><P
->This is a variation on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ga_server_test</I
-></SPAN
-> test
-with the difference being that it uses the <TT
-CLASS="FUNCTION"
->getaddrinfo</TT
->
-function to set up its addresses.  On a system with IPv6 enabled, it will
-listen on port 7734 for a TCP connection via either IPv4 or IPv6.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tftp_client_test</I
-></SPAN
-> - performs a tftp get and put from/to &#8220;server&#8221;</PRE
-></TD
-></TR
-></TABLE
-><P
->This is only partially interactive.  You need to set things
-up on the &#8220;server&#8221; in order for this to work,
-and you will need to look at the server afterwards to confirm that all
-was well.</P
-><P
->For each interface in turn, this test attempts to read by
-tftp from the server, a file called
-<TT
-CLASS="FILENAME"
->tftp_get</TT
->
-and
-prints the status and contents it read (if any).  It then writes
-the same data to a file called
-<TT
-CLASS="FILENAME"
->tftp_put</TT
->
-on
-the same server.</P
-><P
->In order for this to succeed, both files must already exist.
- The TFTP protocol does not require that a WRQ request _create_ a
-file, just that it can write it.  The TFTP server on Linux certainly
-will only allow writes to an existing file, given the appropriate
-permission.  Thus, you need to have these files in place, with proper permission,
-before running the test.</P
-><P
->The conventional place for the tftp server to operate in LINUX
-is /tftpboot/; you will likely need root privileges
-to create files there. The data contents of
-<TT
-CLASS="FILENAME"
->tftp_get</TT
->
-can
-be anything you like, but anything very large will waste lots of
-time printing it on the test&#8217;s stdout, and anything above
-32kB will cause a buffer overflow and unpredictable failure.</P
-><P
->Creating an empty tftp_put file (eg. by copying /dev/null
-to it) is neatest.  So before the test you should have something
-like:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->-rw-rw-rw- 1 root        1076 May  1 11:39 tftp_get
--rw-rw-rw- 1 root        0 May  1 15:52 tftp_put </PRE
-></TD
-></TR
-></TABLE
-><P
->note that both files have public permissions wide open.  After
-running the test,
-<TT
-CLASS="FILENAME"
->tftp_put</TT
->
-should
-be a copy of
-<TT
-CLASS="FILENAME"
->tftp_get</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->-rw-rw-rw-  1 root       1076 May  1 11:39 tftp_get
--rw-rw-rw-  1 root       1076 May  1 15:52 tftp_put&#13;</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tftp_server_test</I
-></SPAN
-> - runs a tftp server for a short while</PRE
-></TD
-></TR
-></TABLE
-><P
->This test is truly interactive, in that you can use a standard
-tftp application to get and put files from the server, during the
-5 minutes that it runs.  The dummy filesystem which underlies the
-server initially contains one file, called &#8220;uu&#8221; which contains
-part of a familiar text and some padding.  It also accommodates
-creation of 3 further files of up to 1Mb in size and names of up
-to 256 bytes.  Exceeding these limits will cause a buffer overflow
-and unpredictable failure.</P
-><P
->The dummy filesystem is an implementation of the generic API
-which allows a true filesystem to be attached to the tftp server
-in the network stack.</P
-><P
->We have been testing the tftp server by running the test on
-the target board, then using two different host computers connecting
-to the different target interfaces, putting a file from each, getting
-the &#8220;uu&#8221; file, and getting the file from the other computer.
- This verifies that data is preserved during the transfer as well
-as interworking with standard tftp applications.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-performance-test.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-maintenance-tools.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Performance Test</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Maintenance Tools</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-maintenance-tools.html b/doc/html/ref/net-common-maintenance-tools.html
deleted file mode 100644 (file)
index 73ea8c7..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Maintenance Tools </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"><LINK
-REL="PREVIOUS"
-TITLE="Interactive Tests"
-HREF="net-common-interactive-tests.html"><LINK
-REL="NEXT"
-TITLE="Support Features"
-HREF="net-common-support.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-interactive-tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 36. Tests and Demonstrations</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-MAINTENANCE-TOOLS">Maintenance Tools</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->set_mac_address</I
-></SPAN
-> - set MAC address(es) of interfaces in NVRAM</PRE
-></TD
-></TR
-></TABLE
-><P
->This program makes an example <TT
-CLASS="FUNCTION"
->ioctl()</TT
-> call
-<SPAN
-CLASS="ACRONYM"
->SIOCSIFHWADDR</SPAN
-> 
-&#8220;Socket IO Set InterFace HardWare ADDRess&#8221;
-to set the MAC address on targets
-where this is supported and enabled in the configuration. You must
-edit the source to choose a MAC address and further edit it to allow
-this very dangerous operation. Not all ethernet drivers support
-this operation, because most ethernet hardware does not support
-it &#8212; or it comes pre-set from the factory.
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Do not use this program.</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-interactive-tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Interactive Tests</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Support Features</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-performance-test.html b/doc/html/ref/net-common-performance-test.html
deleted file mode 100644 (file)
index 2a039d1..0000000
+++ /dev/null
@@ -1,351 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Performance Test</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"><LINK
-REL="PREVIOUS"
-TITLE="Standalone Tests"
-HREF="net-common-standalone-tests.html"><LINK
-REL="NEXT"
-TITLE="Interactive Tests"
-HREF="net-common-interactive-tests.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-standalone-tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 36. Tests and Demonstrations</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-interactive-tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-PERFORMANCE-TEST">Performance Test</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tcp_echo</I
-></SPAN
->      - data forwarding program for performance test</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->tcp_echo</B
-> is one
-part of the standard performance test we use.  The other parts are
-host programs <TT
-CLASS="LITERAL"
->tcp_source</TT
-> and <TT
-CLASS="LITERAL"
->tcp_sink</TT
->.
- To make these (under LINUX) cd to the tests source directory in
-the eCos repository and type &#8220;<TT
-CLASS="LITERAL"
->make -f make.linux</TT
->&#8221; -
-this should build <TT
-CLASS="LITERAL"
->tcp_source</TT
-> and <TT
-CLASS="LITERAL"
->tcp_sink</TT
->.</P
-><P
->The LINUX program &#8220;<TT
-CLASS="LITERAL"
->tcp_source</TT
->&#8221; sends
-data to the target.  On the target, &#8220;<TT
-CLASS="LITERAL"
->tcp_echo</TT
->&#8221; sends
-it onwards to &#8220;<TT
-CLASS="LITERAL"
->tcp_sink</TT
->&#8221; running
-on LINUX.  So the target must receive and send on all the data that <TT
-CLASS="LITERAL"
->tcp_source</TT
-> sends
-it; the time taken for this is measured and the data rate is calculated.</P
-><P
->To invoke the test, first start <TT
-CLASS="LITERAL"
->tcp_echo</TT
-> on
-the target board and wait for it to become quiescent - it will report
-work to calibrate a CPU load which can be used to simulate real
-operating conditions for the stack.</P
-><P
->Then on your LINUX machine, in one terminal window, invoke <TT
-CLASS="LITERAL"
->tcp_sink</TT
-> giving
-it the IP address (or hostname) of one interface of the target board.
- For example &#8220;<TT
-CLASS="LITERAL"
->tcp_sink 10.130.39.66</TT
->&#8221;.
- <TT
-CLASS="LITERAL"
->tcp_echo</TT
-> on the target
-will print something like &#8220;<TT
-CLASS="LITERAL"
->SINK connection
-from 10.130.39.13:1143</TT
->&#8221; when <TT
-CLASS="LITERAL"
->tcp_sink</TT
-> is
-correctly invoked.</P
-><P
->Next, in another LINUX terminal window, invoke <TT
-CLASS="LITERAL"
->tcp_source</TT
->,
-giving it the IP address (or hostname) of an interface of the target
-board, and optionally a background load to apply to the target while
-the test runs.  For example, &#8220;<TT
-CLASS="LITERAL"
->tcp_source
-194.130.39.66</TT
->&#8221; to run the test with no
-additional target CPU load, or &#8220;<TT
-CLASS="LITERAL"
->tcp_source
-194.130.39.66 85</TT
->&#8221; to load it up to 85% used.
- The target load must be a multiple of 5.  <TT
-CLASS="LITERAL"
->tcp_echo</TT
-> on
-the target will print something like &#8220;<TT
-CLASS="LITERAL"
->SOURCE
-connection from 194.130.39.13:1144</TT
->&#8221; when
-tcp_source is correctly invoked.</P
-><P
->You can connect tcp_sink to one target interface
-and tcp_source to another, or both to the same interface.
- Similarly, you can run <TT
-CLASS="LITERAL"
->tcp_sink</TT
-> and <TT
-CLASS="LITERAL"
->tcp_source</TT
-> on
-the same LINUX machine or different ones.  TCP/IP and ARP
-look after them finding one another, as intended.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc_test_master</I
-></SPAN
-> - network characterization master
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc_test_slave</I
-></SPAN
-> - network characterization slave</PRE
-></TD
-></TR
-></TABLE
-><P
->These tests talk to each other to measure network performance.
-They can each run on either a test target or a LINUX host computer
-given some customization to your local environment. As provided, <TT
-CLASS="LITERAL"
->nc_test_slave</TT
-> must
-run on the test target, and <TT
-CLASS="LITERAL"
->nc_test_master</TT
-> must
-be run on a LINUX host, and be given the test target's
-IP address or hostname.</P
-><P
->The tests print network performance for various packet sizes
-over UDP and TCP, versus various additional CPU loads on the target.</P
-><P
->The programs <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc6_test_slave</I
-></SPAN
->
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->nc6_test_master</I
-></SPAN
-></PRE
-></TD
-></TR
-></TABLE
->
-are additional forms which support both IPv4 and IPv6 addressing.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-standalone-tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-interactive-tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Standalone Tests</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Interactive Tests</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-sample-code.html b/doc/html/ref/net-common-sample-code.html
deleted file mode 100644 (file)
index 0698d9e..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Sample Code</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="PREVIOUS"
-TITLE="Ethernet Driver Design"
-HREF="net-common-ethernet-driver-design.html"><LINK
-REL="NEXT"
-TITLE="Configuring IP Addresses"
-HREF="net-common-configuring-ip-addresses.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-ethernet-driver-design.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-configuring-ip-addresses.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-COMMON-SAMPLE-CODE">Chapter 34. Sample Code</H1
-><P
->Many examples using the networking support are provided. 
-These are arranged as eCos test programs, primarily for use in verifying
-the package, but they can also serve as useful frameworks for program
-design.  We have taken a
-<SPAN
-CLASS="ACRONYM"
->KISS</SPAN
->
-approach to building programs which
-use the network.  A single include file
-&lt;<TT
-CLASS="FILENAME"
->network.h</TT
->&gt; is
-all that is required to access the stack.  A complete, annotated
-test program can be found at
-<TT
-CLASS="FILENAME"
->net/common/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/tests/ftp_test.c</TT
->,
-with its associated files.     </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-ethernet-driver-design.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-configuring-ip-addresses.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Ethernet Driver Design</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuring IP Addresses</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-standalone-tests.html b/doc/html/ref/net-common-standalone-tests.html
deleted file mode 100644 (file)
index 8d231de..0000000
+++ /dev/null
@@ -1,276 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Standalone Tests</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Tests and Demonstrations"
-HREF="net-common-tests-and-demonstrations.html"><LINK
-REL="PREVIOUS"
-TITLE="Building the Network Tests"
-HREF="net-common-building-the-network-tests.html"><LINK
-REL="NEXT"
-TITLE="Performance Test"
-HREF="net-common-performance-test.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-building-the-network-tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 36. Tests and Demonstrations</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-performance-test.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-STANDALONE-TESTS">Standalone Tests</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->socket_test</I
-></SPAN
-> - trivial test of socket creation API 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mbuf_test</I
-></SPAN
-> - trivial test of mbuf allocation API</PRE
-></TD
-></TR
-></TABLE
-><P
->These two do not communicate over the net; they just perform
-simple API tests then exit.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ftp_test</I
-></SPAN
->      - simple FTP test, connects to &#8220;server&#8221;</PRE
-></TD
-></TR
-></TABLE
-><P
->This test initializes the interface(s) then connects to the
-FTP server on the &#8220;server&#8221; machine for for each
-active interface in turn, confirms that the connection was successful,
-disconnects and exits.  This tests interworking with the server.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ping_test</I
-></SPAN
->      - pings &#8220;server&#8221; and non-existent host to test timeout</PRE
-></TD
-></TR
-></TABLE
-><P
->This test initializes the interface(s) then pings the server
-machine in the standard way, then pings address &#8220;32 up&#8221; from
-the server in the expectation that there is no machine there.  This
-confirms that the successful ping is not a false positive, and tests
-the receive timeout.  If there is such a machine, of course the
-2nd set of pings succeeds, confirming that we can talk to a machine
-not previously mentioned by configuration or by bootp. It then does
-the same thing on the other interface, eth1.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->dhcp_test</I
-></SPAN
->    - ping test, but also manipulates DHCP leases</PRE
-></TD
-></TR
-></TABLE
-><P
->This test is very similar to the ping test, but in addition,
-provided the network package is not configured to do this automatically,
-it manually relinquishes and reclaims DHCP leases for all available
-interfaces. This tests the external API to DHCP. See section below
-describing this.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->flood</I
-></SPAN
->        - a flood ping test; use with care</PRE
-></TD
-></TR
-></TABLE
-><P
->This test performs pings on all interfaces as quickly as possible,
-and only prints status information periodically. Flood pinging is
-bad for network performance; so do not use this test on general
-purpose networks unless protected by a switch.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-building-the-network-tests.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-performance-test.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building the Network Tests</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tests-and-demonstrations.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Performance Test</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-support.html b/doc/html/ref/net-common-support.html
deleted file mode 100644 (file)
index 41d361f..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Support Features</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="PREVIOUS"
-TITLE="Maintenance Tools "
-HREF="net-common-maintenance-tools.html"><LINK
-REL="NEXT"
-TITLE="DHCP"
-HREF="net-common-dhcp.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-maintenance-tools.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-dhcp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-COMMON-SUPPORT">Chapter 37. Support Features</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="net-common-support.html#NET-COMMON-TFTP"
->TFTP</A
-></DT
-><DT
-><A
-HREF="net-common-dhcp.html"
->DHCP</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TFTP">TFTP</H1
-><P
->The TFTP client and server are described in
-<TT
-CLASS="FILENAME"
->tftp_support.h</TT
->;
-the client API is simple and can be easily understood by reading
-<TT
-CLASS="FILENAME"
->tftp_client_test.c</TT
->.</P
-><P
->The server is more complex.  It requires a filesystem implementation
-to be supplied by the user, and attached to the tftp server by means
-of a vector of function pointers:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct tftpd_fileops {
-             int (&#0042;open)(const char &#0042;, int);
-             int (&#0042;close)(int);
-             int (&#0042;write)(int, const void &#0042;, int);
-             int (&#0042;read)(int, void &#0042;, int);
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions have the obvious semantics.  The structure
-describing the filesystem is an argument to the <TT
-CLASS="FUNCTION"
->tftpd_start(int,
-struct tftpd_fileops &#0042;);</TT
-> call.
- The first argument is the port to use for the server.</P
-><P
->As discussed in the description of the tftp_server_test
-above, an example filesystem is provided in
-<TT
-CLASS="FILENAME"
->net/common/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/src/tftp_dummy_file.c</TT
->
-for
-use by the tftp server test.  The dummy filesystem is not a supported
-part of the network stack, it exists purely for demonstration purposes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-maintenance-tools.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-dhcp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Maintenance Tools</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->DHCP</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-accept.html b/doc/html/ref/net-common-tcpip-manpages-accept.html
deleted file mode 100644 (file)
index a17427b..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->accept</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="resolver"
-HREF="net-common-tcpip-manpages-resolver.html"><LINK
-REL="NEXT"
-TITLE="bind"
-HREF="net-common-tcpip-manpages-bind.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-resolver.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-bind.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-ACCEPT">accept</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->ACCEPT(2)                     System Calls Manual                    ACCEPT(2)
-
-NAME
-     accept - accept a connection on a socket
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     accept(int s, struct sockaddr *addr, socklen_t *addrlen);
-
-DESCRIPTION
-     The argument s is a socket that has been created with socket(2), bound to
-     an address with bind(2), and is listening for connections after a
-     listen(2).  The accept() argument extracts the first connection request
-     on the queue of pending connections, creates a new socket with the same
-     properties of s, and allocates a new file descriptor for the socket.  If
-     no pending connections are present on the queue, and the socket is not
-     marked as non-blocking, accept() blocks the caller until a connection is
-     present.  If the socket is marked non-blocking and no pending connections
-     are present on the queue, accept() returns an error as described below.
-     The accepted socket may not be used to accept more connections.  The
-     original socket s remains open.
-
-     The argument addr is a result parameter that is filled in with the
-     address of the connecting entity as known to the communications layer.
-     The exact format of the addr parameter is determined by the domain in
-     which the communication is occurring.  The addrlen is a value-result
-     parameter; it should initially contain the amount of space pointed to by
-     addr; on return it will contain the actual length (in bytes) of the
-     address returned.  This call is used with connection-based socket types,
-     currently with SOCK_STREAM.
-
-     It is possible to select(2) or poll(2) a socket for the purposes of doing
-     an accept() by selecting it for read.
-
-     For certain protocols which require an explicit confirmation, such as ISO
-     or DATAKIT, accept() can be thought of as merely dequeuing the next con-
-     nection request and not implying confirmation.  Confirmation can be
-     implied by a normal read or write on the new file descriptor, and rejec-
-     tion can be implied by closing the new socket.
-
-     One can obtain user connection request data without confirming the con-
-     nection by issuing a recvmsg(2) call with an msg_iovlen of 0 and a non-
-     zero msg_controllen, or by issuing a getsockopt(2) request.  Similarly,
-     one can provide user connection rejection information by issuing a
-     sendmsg(2) call with providing only the control information, or by call-
-     ing setsockopt(2).
-
-RETURN VALUES
-     The call returns -1 on error.  If it succeeds, it returns a non-negative
-     integer that is a descriptor for the accepted socket.
-
-ERRORS
-     The accept() will fail if:
-
-     [EBADF]            The descriptor is invalid.
-
-     [ENOTSOCK]         The descriptor references a file, not a socket.
-
-     [EOPNOTSUPP]       The referenced socket is not of type SOCK_STREAM.
-
-     [EINVAL]           The referenced socket is not listening for connections
-                        (that is, listen(2) has not yet been called).
-
-     [EFAULT]           The addr parameter is not in a writable part of the
-                        user address space.
-
-     [EWOULDBLOCK]      The socket is marked non-blocking and no connections
-                        are present to be accepted.
-
-     [EMFILE]           The per-process descriptor table is full.
-
-     [ENFILE]           The system file table is full.
-
-     [ECONNABORTED]     A connection has been aborted.
-
-SEE ALSO
-     bind(2), connect(2), listen(2), poll(2), select(2), poll(2), socket(2)
-
-HISTORY
-     The accept() function appeared in 4.2BSD.
-
-BSD                            February 15, 1999                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-resolver.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-bind.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->resolver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->bind</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-bind.html b/doc/html/ref/net-common-tcpip-manpages-bind.html
deleted file mode 100644 (file)
index f2df517..0000000
+++ /dev/null
@@ -1,242 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->bind</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="accept"
-HREF="net-common-tcpip-manpages-accept.html"><LINK
-REL="NEXT"
-TITLE="connect"
-HREF="net-common-tcpip-manpages-connect.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-accept.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-connect.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-BIND">bind</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->BIND(2)                       System Calls Manual                      BIND(2)
-
-NAME
-     bind - bind a name to a socket
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     bind(int s, const struct sockaddr *name, socklen_t namelen);
-
-DESCRIPTION
-     bind() assigns a name to an unnamed socket.  When a socket is created
-     with socket(2) it exists in a name space (address family) but has no name
-     assigned.  bind() requests that name be assigned to the socket.
-
-NOTES
-     Binding a name in the UNIX domain creates a socket in the file system
-     that must be deleted by the caller when it is no longer needed (using
-     unlink(2)).
-
-     The rules used in name binding vary between communication domains.  Con-
-     sult the manual entries in section 4 for detailed information.
-
-RETURN VALUES
-     If the bind is successful, a 0 value is returned.  A return value of -1
-     indicates an error, which is further specified in the global errno.
-
-ERRORS
-     The bind() call will fail if:
-
-     [EBADF]            S is not a valid descriptor.
-
-     [ENOTSOCK]         S is not a socket.
-
-     [EADDRNOTAVAIL]    The specified address is not available from the local
-                        machine.
-
-     [EADDRINUSE]       The specified address is already in use.
-
-     [EINVAL]           The socket is already bound to an address.
-
-     [EINVAL]           The family of the socket and that requested in
-                        name-&#62;sa_family are not equivalent.
-
-     [EACCES]           The requested address is protected, and the current
-                        user has inadequate permission to access it.
-
-     [EFAULT]           The name parameter is not in a valid part of the user
-                        address space.
-
-     The following errors are specific to binding names in the UNIX domain.
-
-     [ENOTDIR]          A component of the path prefix is not a directory.
-
-     [ENAMETOOLONG]     A component of a pathname exceeded {NAME_MAX} charac-
-                        ters, or an entire path name exceeded {PATH_MAX} char-
-                        acters.
-
-     [ENOENT]           A prefix component of the path name does not exist.
-
-     [ELOOP]            Too many symbolic links were encountered in translat-
-                        ing the pathname.
-
-     [EIO]              An I/O error occurred while making the directory entry
-                        or allocating the inode.
-
-     [EROFS]            The name would reside on a read-only file system.
-
-     [EISDIR]           An empty pathname was specified.
-
-SEE ALSO
-     connect(2), getsockname(2), listen(2), socket(2)
-
-HISTORY
-     The bind() function call appeared in 4.2BSD.
-
-BSD                            February 15, 1999                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-accept.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-connect.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->accept</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->connect</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-byteorder.html b/doc/html/ref/net-common-tcpip-manpages-byteorder.html
deleted file mode 100644 (file)
index bee30ea..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->byteorder</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="gethostname"
-HREF="net-common-tcpip-manpages-gethostname.html"><LINK
-REL="NEXT"
-TITLE="ethers"
-HREF="net-common-tcpip-manpages-ethers.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-gethostname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ethers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-BYTEORDER">byteorder</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->BYTEORDER(3)            System Library Functions Manual           BYTEORDER(3)
-
-NAME
-     htonl, htons, ntohl, ntohs, htobe32, htobe16, betoh32, betoh16, htole32,
-     htole16, letoh32, letoh16, swap32, swap16 - convert values between dif-
-     ferent byte orderings
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;machine/endian.h&#62;
-
-     u_int32_t
-     htonl(u_int32_t host32);
-
-     u_int16_t
-     htons(u_int16_t host16);
-
-     u_int32_t
-     ntohl(u_int32_t net32);
-
-     u_int16_t
-     ntohs(u_int16_t net16);
-
-     u_int32_t
-     htobe32(u_int32_t host32);
-
-     u_int16_t
-     htobe16(u_int16_t host16);
-
-     u_int32_t
-     betoh32(u_int32_t big32);
-
-     u_int16_t
-     betoh16(u_int16_t big16);
-
-     u_int32_t
-     htole32(u_int32_t host32);
-
-     u_int16_t
-     htole16(u_int16_t host16);
-
-     u_int32_t
-     letoh32(u_int32_t little32);
-
-     u_int16_t
-     letoh16(u_int16_t little16);
-
-     u_int32_t
-     swap32(u_int32_t val32);
-
-     u_int16_t
-     swap16(u_int16_t val16);
-
-DESCRIPTION
-     These routines convert 16- and 32-bit quantities between different byte
-     orderings.  The ``swap'' functions reverse the byte ordering of the given
-     quantity, the others converts either from/to the native byte order used
-     by the host to/from either little- or big-endian (a.k.a network) order.
-
-     Apart from the swap functions, the names can be described by this form:
-     {src-order}to{dst-order}{size}.  Both {src-order} and {dst-order} can
-     take the following forms:
-
-           h    Host order.
-           n    Network order (big-endian).
-           be   Big-endian (most significant byte first).
-           le   Little-endian (least significant byte first).
-
-     One of the specified orderings must be `h'.  {size} will take these
-     forms:
-
-           l  Long (32-bit, used in conjunction with forms involving `n').
-           s  Short (16-bit, used in conjunction with forms involving `n').
-           16
-              16-bit.
-           32
-              32-bit.
-
-     The swap functions are of the form: swap{size}.
-
-     Names involving `n' convert quantities between network byte order and
-     host byte order.  The last letter (`s' or `l') is a mnemonic for the tra-
-     ditional names for such quantities, short and long, respectively.  Today,
-     the C concept of short and long integers need not coincide with this tra-
-     ditional misunderstanding.  On machines which have a byte order which is
-     the same as the network order, routines are defined as null macros.
-
-     The functions involving either ``be'', ``le'', or ``swap'' use the num-
-     bers 16 and 32 for specifying the bitwidth of the quantities they operate
-     on.  Currently all supported architectures are either big- or little-
-     endian so either the ``be'' or ``le'' variants are implemented as null
-     macros.
-
-     The routines mentioned above which have either {src-order} or {dst-order}
-     set to `n' are most often used in conjunction with Internet addresses and
-     ports as returned by gethostbyname(3) and getservent(3).
-
-SEE ALSO
-     gethostbyname(3), getservent(3)
-
-HISTORY
-     The byteorder functions appeared in 4.2BSD.
-
-BUGS
-     On the vax, alpha, i386, and so far mips, bytes are handled backwards
-     from most everyone else in the world.  This is not expected to be fixed
-     in the near future.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-gethostname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ethers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->gethostname</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ethers</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-connect.html b/doc/html/ref/net-common-tcpip-manpages-connect.html
deleted file mode 100644 (file)
index 54082a2..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->connect</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="bind"
-HREF="net-common-tcpip-manpages-bind.html"><LINK
-REL="NEXT"
-TITLE="getpeername"
-HREF="net-common-tcpip-manpages-getpeername.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-bind.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getpeername.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-CONNECT">connect</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->CONNECT(2)                    System Calls Manual                   CONNECT(2)
-
-NAME
-     connect - initiate a connection on a socket
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     connect(int s, const struct sockaddr *name, socklen_t namelen);
-
-DESCRIPTION
-     The parameter s is a socket.  If it is of type SOCK_DGRAM, this call
-     specifies the peer with which the socket is to be associated; this
-     address is that to which datagrams are to be sent, and the only address
-     from which datagrams are to be received.  If the socket is of type
-     SOCK_STREAM, this call attempts to make a connection to another socket.
-     The other socket is specified by name, which is an address in the commu-
-     nications space of the socket.  Each communications space interprets the
-     name parameter in its own way.  Generally, stream sockets may success-
-     fully connect() only once; datagram sockets may use connect() multiple
-     times to change their association.  Datagram sockets may dissolve the
-     association by connecting to an invalid address, such as a null address.
-
-RETURN VALUES
-     If the connection or binding succeeds, 0 is returned.  Otherwise a -1 is
-     returned, and a more specific error code is stored in errno.
-
-ERRORS
-     The connect() call fails if:
-
-     [EBADF]            S is not a valid descriptor.
-
-     [ENOTSOCK]         S is a descriptor for a file, not a socket.
-
-     [EADDRNOTAVAIL]    The specified address is not available on this
-                        machine.
-
-     [EAFNOSUPPORT]     Addresses in the specified address family cannot be
-                        used with this socket.
-
-     [EISCONN]          The socket is already connected.
-
-     [ETIMEDOUT]        Connection establishment timed out without establish-
-                        ing a connection.
-
-     [EINVAL]           A TCP connection with a local broadcast, the all-ones
-                        or a multicast address as the peer was attempted.
-
-     [ECONNREFUSED]     The attempt to connect was forcefully rejected.
-
-     [EINTR]            A connect was interrupted before it succeeded by the
-                        delivery of a signal.
-
-     [ENETUNREACH]      The network isn't reachable from this host.
-
-     [EADDRINUSE]       The address is already in use.
-
-     [EFAULT]           The name parameter specifies an area outside the pro-
-                        cess address space.
-
-     [EINPROGRESS]      The socket is non-blocking and the connection cannot
-                        be completed immediately.  It is possible to select(2)
-                        or poll(2) for completion by selecting the socket for
-                        writing, and also use getsockopt(2) with SO_ERROR to
-                        check for error conditions.
-
-     [EALREADY]         The socket is non-blocking and a previous connection
-                        attempt has not yet been completed.
-
-     The following errors are specific to connecting names in the UNIX domain.
-     These errors may not apply in future versions of the UNIX IPC domain.
-
-     [ENOTDIR]          A component of the path prefix is not a directory.
-
-     [ENAMETOOLONG]     A component of a pathname exceeded {NAME_MAX} charac-
-                        ters, or an entire path name exceeded {PATH_MAX} char-
-                        acters.
-
-     [ENOENT]           The named socket does not exist.
-
-     [EACCES]           Search permission is denied for a component of the
-                        path prefix.
-
-     [EACCES]           Write access to the named socket is denied.
-
-     [ELOOP]            Too many symbolic links were encountered in translat-
-                        ing the pathname.
-
-SEE ALSO
-     accept(2), getsockname(2), getsockopt(2), poll(2), select(2), socket(2)
-
-HISTORY
-     The connect() function call appeared in 4.2BSD.
-
-BSD                            February 15, 1999                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-bind.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getpeername.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->bind</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getpeername</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-ethers.html b/doc/html/ref/net-common-tcpip-manpages-ethers.html
deleted file mode 100644 (file)
index 89d3f14..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ethers</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="byteorder"
-HREF="net-common-tcpip-manpages-byteorder.html"><LINK
-REL="NEXT"
-TITLE="getaddrinfo"
-HREF="net-common-tcpip-manpages-getaddrinfo.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-byteorder.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getaddrinfo.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-ETHERS">ethers</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->ETHERS(3)               System Library Functions Manual              ETHERS(3)
-
-NAME
-     ether_aton, ether_ntoa, ether_addr, ether_ntohost, ether_hostton,
-     ether_line - get ethers entry
-
-SYNOPSIS
-     #include &lt;netinet/if_ether.h&#62;
-
-     char *
-     ether_ntoa(struct ether_addr *e);
-
-     struct ether_addr *
-     ether_aton(char *s);
-
-     int
-     ether_ntohost(char *hostname, struct ether_addr *e);
-
-     int
-     ether_hostton(char *hostname, struct ether_addr *e);
-
-     int
-     ether_line(char *l, struct ether_addr *e, char *hostname);
-
-DESCRIPTION
-     Ethernet addresses are represented by the following structure:
-
-           struct ether_addr {
-                   u_int8_t  ether_addr_octet[6];
-           };
-
-     The ether_ntoa() function converts this structure into an ASCII string of
-     the form ``xx:xx:xx:xx:xx:xx'', consisting of 6 hexadecimal numbers sepa-
-     rated by colons.  It returns a pointer to a static buffer that is reused
-     for each call.  The ether_aton() converts an ASCII string of the same
-     form and to a structure containing the 6 octets of the address.  It
-     returns a pointer to a static structure that is reused for each call.
-
-     The ether_ntohost() and ether_hostton() functions interrogate the
-     database mapping host names to Ethernet addresses, /etc/ethers.  The
-     ether_ntohost() function looks up the given Ethernet address and writes
-     the associated host name into the character buffer passed.  This buffer
-     should be MAXHOSTNAMELEN characters in size.  The ether_hostton() func-
-     tion looks up the given host name and writes the associated Ethernet
-     address into the structure passed.  Both functions return zero if they
-     find the requested host name or address, and -1 if not.
-
-     Each call reads /etc/ethers from the beginning; if a `+' appears alone on
-     a line in the file, then ether_hostton() will consult the ethers.byname
-     YP map, and ether_ntohost() will consult the ethers.byaddr YP map.
-
-     The ether_line() function parses a line from the /etc/ethers file and
-     fills in the passed struct ether_addr and character buffer with the Eth-
-     ernet address and host name on the line.  It returns zero if the line was
-     successfully parsed and -1 if not.  The character buffer should be
-     MAXHOSTNAMELEN characters in size.
-
-FILES
-     /etc/ethers
-
-SEE ALSO
-     ethers(5)
-
-HISTORY
-     The ether_ntoa(), ether_aton(), ether_ntohost(), ether_hostton(), and
-     ether_line() functions were adopted from SunOS and appeared in NetBSD 0.9
-     b.
-
-BUGS
-     The data space used by these functions is static; if future use requires
-     the data, it should be copied before any subsequent calls to these func-
-     tions overwrite it.
-
-BSD                            December 16, 1993                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-byteorder.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getaddrinfo.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->byteorder</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getaddrinfo</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getaddrinfo.html b/doc/html/ref/net-common-tcpip-manpages-getaddrinfo.html
deleted file mode 100644 (file)
index 8b4d1c9..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getaddrinfo</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="ethers"
-HREF="net-common-tcpip-manpages-ethers.html"><LINK
-REL="NEXT"
-TITLE="gethostbyname"
-HREF="net-common-tcpip-manpages-gethostbyname.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ethers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-gethostbyname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETADDRINFO">getaddrinfo</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETADDRINFO(3)          System Library Functions Manual         GETADDRINFO(3)
-
-NAME
-     getaddrinfo, freeaddrinfo, gai_strerror - nodename-to-address translation
-     in protocol-independent manner
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-     #include &lt;netdb.h&#62;
-
-     int
-     getaddrinfo(const char *nodename, const char *servname,
-             const struct addrinfo *hints, struct addrinfo **res);
-
-     void
-     freeaddrinfo(struct addrinfo *ai);
-
-     char *
-     gai_strerror(int ecode);
-
-DESCRIPTION
-     The getaddrinfo() function is defined for protocol-independent nodename-
-     to-address translation.  It performs the functionality of
-     gethostbyname(3) and getservbyname(3), but in a more sophisticated man-
-     ner.
-
-     The addrinfo structure is defined as a result of including the &lt;netdb.h&#62;
-     header:
-
-     struct addrinfo {                                                  *
-          int     ai_flags;     /* AI_PASSIVE, AI_CANONNAME, AI_NUMERICHOST */
-          int     ai_family;    /* PF_xxx */
-          int     ai_socktype;  /* SOCK_xxx */
-          int     ai_protocol;  /* 0 or IPPROTO_xxx for IPv4 and IPv6 */
-          size_t  ai_addrlen;   /* length of ai_addr */
-          char   *ai_canonname; /* canonical name for nodename */
-          struct sockaddr  *ai_addr; /* binary address */
-          struct addrinfo  *ai_next; /* next structure in linked list */
-     };
-
-     The nodename and servname arguments are pointers to NUL-terminated
-     strings or NULL.  One or both of these two arguments must be a non-null
-     pointer.  In the normal client scenario, both the nodename and servname
-     are specified.  In the normal server scenario, only the servname is spec-
-     ified.  A non-null nodename string can be either a node name or a numeric
-     host address string (i.e., a dotted-decimal IPv4 address or an IPv6 hex
-     address).  A non-null servname string can be either a service name or a
-     decimal port number.
-
-     The caller can optionally pass an addrinfo structure, pointed to by the
-     third argument, to provide hints concerning the type of socket that the
-     caller supports.  In this hints structure all members other than
-     ai_flags, ai_family, ai_socktype, and ai_protocol must be zero or a null
-     pointer.  A value of PF_UNSPEC for ai_family means the caller will accept
-     any protocol family.  A value of 0 for ai_socktype means the caller will
-     accept any socket type.  A value of 0 for ai_protocol means the caller
-     will accept any protocol.  For example, if the caller handles only TCP
-     and not UDP, then the ai_socktype member of the hints structure should be
-     set to SOCK_STREAM when getaddrinfo() is called.  If the caller handles
-     only IPv4 and not IPv6, then the ai_family member of the hints structure
-     should be set to PF_INET when getaddrinfo() is called.  If the third
-     argument to getaddrinfo() is a null pointer, this is the same as if the
-     caller had filled in an addrinfo structure initialized to zero with
-     ai_family set to PF_UNSPEC.
-
-     Upon successful return a pointer to a linked list of one or more addrinfo
-     structures is returned through the final argument.  The caller can pro-
-     cess each addrinfo structure in this list by following the ai_next
-     pointer, until a null pointer is encountered.  In each returned addrinfo
-     structure the three members ai_family, ai_socktype, and ai_protocol are
-     the corresponding arguments for a call to the socket() function.  In each
-     addrinfo structure the ai_addr member points to a filled-in socket
-     address structure whose length is specified by the ai_addrlen member.
-
-     If the AI_PASSIVE bit is set in the ai_flags member of the hints struc-
-     ture, then the caller plans to use the returned socket address structure
-     in a call to bind().  In this case, if the nodename argument is a null
-     pointer, then the IP address portion of the socket address structure will
-     be set to INADDR_ANY for an IPv4 address or IN6ADDR_ANY_INIT for an IPv6
-     address.
-
-     If the AI_PASSIVE bit is not set in the ai_flags member of the hints
-     structure, then the returned socket address structure will be ready for a
-     call to connect() (for a connection-oriented protocol) or either
-     connect(), sendto(), or sendmsg() (for a connectionless protocol).  In
-     this case, if the nodename argument is a null pointer, then the IP
-     address portion of the socket address structure will be set to the loop-
-     back address.
-
-     If the AI_CANONNAME bit is set in the ai_flags member of the hints struc-
-     ture, then upon successful return the ai_canonname member of the first
-     addrinfo structure in the linked list will point to a NUL-terminated
-     string containing the canonical name of the specified nodename.
-
-     If the AI_NUMERICHOST bit is set in the ai_flags member of the hints
-     structure, then a non-null nodename string must be a numeric host address
-     string.  Otherwise an error of EAI_NONAME is returned.  This flag pre-
-     vents any type of name resolution service (e.g., the DNS) from being
-     called.
-
-     The arguments to getaddrinfo() must sufficiently be consistent and unam-
-     biguous.  Here are pitfall cases you may encounter:
-
-     o   getaddrinfo() will raise an error if members of the hints structure
-         are not consistent.  For example, for internet address families,
-         getaddrinfo() will raise an error if you specify SOCK_STREAM to
-         ai_socktype while you specify IPPROTO_UDP to ai_protocol.
-
-     o   If you specify a servname which is defined only for certain
-         ai_socktype, getaddrinfo() will raise an error because the arguments
-         are not consistent.  For example, getaddrinfo() will raise an error
-         if you ask for ``tftp'' service on SOCK_STREAM.
-
-     o   For internet address families, if you specify servname while you set
-         ai_socktype to SOCK_RAW, getaddrinfo() will raise an error, because
-         service names are not defined for the internet SOCK_RAW space.
-
-     o   If you specify a numeric servname, while leaving ai_socktype and
-         ai_protocol unspecified, getaddrinfo() will raise an error.  This is
-         because the numeric servname does not identify any socket type, and
-         getaddrinfo() is not allowed to glob the argument in such case.
-
-     All of the information returned by getaddrinfo() is dynamically allo-
-     cated: the addrinfo structures, the socket address structures, and canon-
-     ical node name strings pointed to by the addrinfo structures.  To return
-     this information to the system the function freeaddrinfo() is called.
-     The addrinfo structure pointed to by the ai argument is freed, along with
-     any dynamic storage pointed to by the structure.  This operation is
-     repeated until a NULL ai_next pointer is encountered.
-
-     To aid applications in printing error messages based on the EAI_xxx codes
-     returned by getaddrinfo(), gai_strerror() is defined.  The argument is
-     one of the EAI_xxx values defined earlier and the return value points to
-     a string describing the error.  If the argument is not one of the EAI_xxx
-     values, the function still returns a pointer to a string whose contents
-     indicate an unknown error.
-
-   Extension for scoped IPv6 address
-     The implementation allows experimental numeric IPv6 address notation with
-     scope identifier.  By appending the percent character and scope identi-
-     fier to addresses, you can fill sin6_scope_id field for addresses.  This
-     would make management of scoped address easier, and allows cut-and-paste
-     input of scoped address.
-
-     At this moment the code supports only link-local addresses with the for-
-     mat.  Scope identifier is hardcoded to name of hardware interface associ-
-     ated with the link.  (such as ne0).  Example would be like
-     ``fe80::1%ne0'', which means ``fe80::1 on the link associated with ne0
-     interface''.
-
-     The implementation is still very experimental and non-standard.  The cur-
-     rent implementation assumes one-by-one relationship between interface and
-     link, which is not necessarily true from the specification.
-
-EXAMPLES
-     The following code tries to connect to ``www.kame.net'' service ``http''.
-     via stream socket.  It loops through all the addresses available, regard-
-     less from address family.  If the destination resolves to IPv4 address,
-     it will use AF_INET socket.  Similarly, if it resolves to IPv6, AF_INET6
-     socket is used.  Observe that there is no hardcoded reference to particu-
-     lar address family.  The code works even if getaddrinfo returns addresses
-     that are not IPv4/v6.
-
-           struct addrinfo hints, *res, *res0;
-           int error;
-           int s;
-           const char *cause = NULL;
-
-           memset(&amp;hints, 0, sizeof(hints));
-           hints.ai_family = PF_UNSPEC;
-           hints.ai_socktype = SOCK_STREAM;
-           error = getaddrinfo("www.kame.net", "http", &amp;hints, &amp;res0);
-           if (error) {
-                   errx(1, "%s", gai_strerror(error));
-                   /*NOTREACHED*/
-           }
-           s = -1;
-           for (res = res0; res; res = res-&#62;ai_next) {
-                   s = socket(res-&#62;ai_family, res-&#62;ai_socktype,
-                       res-&#62;ai_protocol);
-                   if (s &lt; 0) {
-                           cause = "socket";
-                           continue;
-                   }
-
-                   if (connect(s, res-&#62;ai_addr, res-&#62;ai_addrlen) &lt; 0) {
-                           cause = "connect";
-                           close(s);
-                           s = -1;
-                           continue;
-                   }
-
-                   break;  /* okay we got one */
-           }
-           if (s &lt; 0) {
-                   err(1, cause);
-                   /*NOTREACHED*/
-           }
-           freeaddrinfo(res0);
-
-     The following example tries to open a wildcard listening socket onto ser-
-     vice ``http'', for all the address families available.
-
-           struct addrinfo hints, *res, *res0;
-           int error;
-           int s[MAXSOCK];
-           int nsock;
-           const char *cause = NULL;
-
-           memset(&amp;hints, 0, sizeof(hints));
-           hints.ai_family = PF_UNSPEC;
-           hints.ai_socktype = SOCK_STREAM;
-           hints.ai_flags = AI_PASSIVE;
-           error = getaddrinfo(NULL, "http", &amp;hints, &amp;res0);
-           if (error) {
-                   errx(1, "%s", gai_strerror(error));
-                   /*NOTREACHED*/
-           }
-           nsock = 0;
-           for (res = res0; res &amp;&amp; nsock &lt; MAXSOCK; res = res-&#62;ai_next) {
-                   s[nsock] = socket(res-&#62;ai_family, res-&#62;ai_socktype,
-                       res-&#62;ai_protocol);
-                   if (s[nsock] &lt; 0) {
-                           cause = "socket";
-                           continue;
-                   }
-
-                   if (bind(s[nsock], res-&#62;ai_addr, res-&#62;ai_addrlen) &lt; 0) {
-                           cause = "bind";
-                           close(s[nsock]);
-                           continue;
-                   }
-                   (void) listen(s[nsock], 5);
-
-                   nsock++;
-           }
-           if (nsock == 0) {
-                   err(1, cause);
-                   /*NOTREACHED*/
-           }
-           freeaddrinfo(res0);
-
-DIAGNOSTICS
-     Error return status from getaddrinfo() is zero on success and non-zero on
-     errors.  Non-zero error codes are defined in &lt;netdb.h&#62;, and as follows:
-
-     EAI_ADDRFAMILY  Address family for nodename not supported.
-     EAI_AGAIN       Temporary failure in name resolution.
-     EAI_BADFLAGS    Invalid value for ai_flags.
-     EAI_FAIL        Non-recoverable failure in name resolution.
-     EAI_FAMILY      ai_family not supported.
-     EAI_MEMORY      Memory allocation failure.
-     EAI_NODATA      No address associated with nodename.
-     EAI_NONAME      nodename nor servname provided, or not known.
-     EAI_SERVICE     servname not supported for ai_socktype.
-     EAI_SOCKTYPE    ai_socktype not supported.
-     EAI_SYSTEM      System error returned in errno.
-
-     If called with proper argument, gai_strerror() returns a pointer to a
-     string describing the given error code.  If the argument is not one of
-     the EAI_xxx values, the function still returns a pointer to a string
-     whose contents indicate an unknown error.
-
-SEE ALSO
-     getnameinfo(3), gethostbyname(3), getservbyname(3), hosts(5),
-     resolv.conf(5), services(5), hostname(7), named(8)
-
-     R. Gilligan, S. Thomson, J. Bound, and W. Stevens, Basic Socket Interface
-     Extensions for IPv6, RFC2553, March 1999.
-
-     Tatsuya Jinmei and Atsushi Onoe, An Extension of Format for IPv6 Scoped
-     Addresses, internet draft, draft-ietf-ipngwg-scopedaddr-format-02.txt,
-     work in progress material.
-
-     Craig Metz, "Protocol Independence Using the Sockets API", Proceedings of
-     the freenix track: 2000 USENIX annual technical conference, June 2000.
-
-HISTORY
-     The implementation first appeared in WIDE Hydrangea IPv6 protocol stack
-     kit.
-
-STANDARDS
-     The getaddrinfo() function is defined in IEEE POSIX 1003.1g draft speci-
-     fication, and documented in ``Basic Socket Interface Extensions for
-     IPv6'' (RFC2553).
-
-BUGS
-     The current implementation is not thread-safe.
-
-     The text was shamelessly copied from RFC2553.
-
-BSD                              May 25, 1995                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ethers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-gethostbyname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ethers</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->gethostbyname</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-gethostbyname.html b/doc/html/ref/net-common-tcpip-manpages-gethostbyname.html
deleted file mode 100644 (file)
index 7d6647c..0000000
+++ /dev/null
@@ -1,314 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->gethostbyname</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getaddrinfo"
-HREF="net-common-tcpip-manpages-getaddrinfo.html"><LINK
-REL="NEXT"
-TITLE="getifaddrs"
-HREF="net-common-tcpip-manpages-getifaddrs.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getaddrinfo.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getifaddrs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETHOSTBYNAME">gethostbyname</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETHOSTBYNAME(3)        System Library Functions Manual       GETHOSTBYNAME(3)
-
-NAME
-     gethostbyname, gethostbyname2, gethostbyaddr, gethostent, sethostent,
-     endhostent, hstrerror, herror - get network host entry
-
-SYNOPSIS
-     #include &lt;netdb.h&#62;
-     extern int h_errno;
-
-     struct hostent *
-     gethostbyname(const char *name);
-
-     struct hostent *
-     gethostbyname2(const char *name, int af);
-
-     struct hostent *
-     gethostbyaddr(const char *addr, int len, int af);
-
-     struct hostent *
-     gethostent(void);
-
-     void
-     sethostent(int stayopen);
-
-     void
-     endhostent(void);
-
-     void
-     herror(const char *string);
-
-     const char *
-     hstrerror(int err);
-
-DESCRIPTION
-     The gethostbyname() and gethostbyaddr() functions each return a pointer
-     to an object with the following structure describing an internet host
-     referenced by name or by address, respectively.  This structure contains
-     either information obtained from the name server (i.e., resolver(3) and
-     named(8)), broken-out fields from a line in /etc/hosts, or database
-     entries supplied by the yp(8) system.  resolv.conf(5) describes how the
-     particular database is chosen.
-
-     struct  hostent {
-             char    *h_name;        /* official name of host */
-             char    **h_aliases;    /* alias list */
-             int     h_addrtype;     /* host address type */
-             int     h_length;       /* length of address */
-             char    **h_addr_list;  /* list of addresses from name server */
-     };
-     #define h_addr  h_addr_list[0]  /* address, for backward compatibility */
-
-     The members of this structure are:
-
-     h_name       Official name of the host.
-
-     h_aliases    A zero-terminated array of alternate names for the host.
-
-     h_addrtype   The type of address being returned.
-
-     h_length     The length, in bytes, of the address.
-
-     h_addr_list  A zero-terminated array of network addresses for the host.
-                  Host addresses are returned in network byte order.
-
-     h_addr       The first address in h_addr_list; this is for backward com-
-                  patibility.
-
-     The function gethostbyname() will search for the named host in the cur-
-     rent domain and its parents using the search lookup semantics detailed in
-     resolv.conf(5) and hostname(7).
-
-     gethostbyname2() is an advanced form of gethostbyname() which allows
-     lookups in address families other than AF_INET, for example AF_INET6.
-
-     The gethostbyaddr() function will search for the specified address of
-     length len in the address family af.  The only address family currently
-     supported is AF_INET.
-
-     The sethostent() function may be used to request the use of a connected
-     TCP socket for queries.  If the stayopen flag is non-zero, this sets the
-     option to send all queries to the name server using TCP and to retain the
-     connection after each call to gethostbyname() or gethostbyaddr().  Other-
-     wise, queries are performed using UDP datagrams.
-
-     The endhostent() function closes the TCP connection.
-
-     The herror() function prints an error message describing the failure.  If
-     its argument string is non-null, it is prepended to the message string
-     and separated from it by a colon (`:') and a space.  The error message is
-     printed with a trailing newline.  The contents of the error message is
-     the same as that returned by hstrerror() with argument h_errno.
-
-FILES
-     /etc/hosts
-     /etc/resolv.conf
-
-DIAGNOSTICS
-     Error return status from gethostbyname(), gethostbyname2(), and
-     gethostbyaddr() is indicated by return of a null pointer.  The external
-     integer h_errno may then be checked to see whether this is a temporary
-     failure or an invalid or unknown host.
-
-     The variable h_errno can have the following values:
-
-     HOST_NOT_FOUND  No such host is known.
-
-     TRY_AGAIN       This is usually a temporary error and means that the
-                     local server did not receive a response from an authori-
-                     tative server.  A retry at some later time may succeed.
-
-     NO_RECOVERY     Some unexpected server failure was encountered.  This is
-                     a non-recoverable error.
-
-     NO_DATA         The requested name is valid but does not have an IP
-                     address; this is not a temporary error.  This means that
-                     the name is known to the name server but there is no
-                     address associated with this name.  Another type of
-                     request to the name server using this domain name will
-                     result in an answer; for example, a mail-forwarder may be
-                     registered for this domain.
-
-SEE ALSO
-     resolver(3), getaddrinfo(3), getnameinfo(3), hosts(5), resolv.conf(5),
-     hostname(7), named(8)
-
-CAVEAT
-     If the search routines in resolv.conf(5) decide to read the /etc/hosts
-     file, gethostent() and other functions will read the next line of the
-     file, re-opening the file if necessary.
-
-     The sethostent() function opens and/or rewinds the file /etc/hosts.  If
-     the stayopen argument is non-zero, the file will not be closed after each
-     call to gethostbyname(), gethostbyname2(), or gethostbyaddr().
-
-     The endhostent() function closes the file.
-
-HISTORY
-     The herror() function appeared in 4.3BSD.  The endhostent(),
-     gethostbyaddr(), gethostbyname(), gethostent(), and sethostent() func-
-     tions appeared in 4.2BSD.
-
-BUGS
-     These functions use static data storage; if the data is needed for future
-     use, it should be copied before any subsequent calls overwrite it.  Only
-     the Internet address formats are currently understood.
-
-     YP does not support any address families other than AF_INET and uses the
-     traditional database format.
-
-BSD                             March 13, 1997                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getaddrinfo.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getifaddrs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getaddrinfo</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getifaddrs</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-gethostname.html b/doc/html/ref/net-common-tcpip-manpages-gethostname.html
deleted file mode 100644 (file)
index c463eb1..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->gethostname</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="NEXT"
-TITLE="byteorder"
-HREF="net-common-tcpip-manpages-byteorder.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-byteorder.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETHOSTNAME">gethostname</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETHOSTNAME(3)          System Library Functions Manual         GETHOSTNAME(3)
-
-NAME
-     gethostname, sethostname - get/set name of current host
-
-SYNOPSIS
-     #include &lt;unistd.h&#62;
-
-     int
-     gethostname(char *name, size_t namelen);
-
-     int
-     sethostname(const char *name, size_t namelen);
-
-DESCRIPTION
-     The gethostname() function returns the standard host name for the current
-     processor, as previously set by sethostname().  The parameter namelen
-     specifies the size of the name array.  If insufficient space is provided,
-     the returned name is truncated.  The returned name is always null termi-
-     nated.
-
-     sethostname() sets the name of the host machine to be name, which has
-     length namelen.  This call is restricted to the superuser and is normally
-     used only when the system is bootstrapped.
-
-RETURN VALUES
-     If the call succeeds a value of 0 is returned.  If the call fails, a
-     value of -1 is returned and an error code is placed in the global vari-
-     able errno.
-
-ERRORS
-     The following errors may be returned by these calls:
-
-     [EFAULT]           The name or namelen parameter gave an invalid address.
-
-     [EPERM]            The caller tried to set the hostname and was not the
-                        superuser.
-
-SEE ALSO
-     hostname(1), getdomainname(3), gethostid(3), sysctl(3), sysctl(8), yp(8)
-
-STANDARDS
-     The gethostname() function call conforms to X/Open Portability Guide
-     Issue 4.2 (``XPG4.2'').
-
-HISTORY
-     The gethostname() function call appeared in 4.2BSD.
-
-BUGS
-     Host names are limited to MAXHOSTNAMELEN (from &lt;sys/param.h&#62;) characters,
-     currently 256.  This includes the terminating NUL character.
-
-     If the buffer passed to gethostname() is smaller than MAXHOSTNAMELEN,
-     other operating systems may not guarantee termination with NUL.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-byteorder.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->TCP/IP Library Reference</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->byteorder</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getifaddrs.html b/doc/html/ref/net-common-tcpip-manpages-getifaddrs.html
deleted file mode 100644 (file)
index 8049d71..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getifaddrs</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="gethostbyname"
-HREF="net-common-tcpip-manpages-gethostbyname.html"><LINK
-REL="NEXT"
-TITLE="getnameinfo"
-HREF="net-common-tcpip-manpages-getnameinfo.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-gethostbyname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getnameinfo.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETIFADDRS">getifaddrs</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETIFADDRS(3)           System Library Functions Manual          GETIFADDRS(3)
-
-NAME
-     getifaddrs - get interface addresses
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-     #include &lt;ifaddrs.h&#62;
-
-     int
-     getifaddrs(struct ifaddrs **ifap);
-
-     void
-     freeifaddrs(struct ifaddrs *ifap);
-
-DESCRIPTION
-     The getifaddrs() function stores a reference to a linked list of the net-
-     work interfaces on the local machine in the memory referenced by ifap.
-     The list consists of ifaddrs structures, as defined in the include file
-     &lt;ifaddrs.h&#62;.  The ifaddrs structure contains at least the following
-     entries:
-
-         struct ifaddrs   *ifa_next;         /* Pointer to next struct */
-         char             *ifa_name;         /* Interface name */
-         u_int             ifa_flags;        /* Interface flags */
-         struct sockaddr  *ifa_addr;         /* Interface address */
-         struct sockaddr  *ifa_netmask;      /* Interface netmask */
-         struct sockaddr  *ifa_broadaddr;    /* Interface broadcast address */
-         struct sockaddr  *ifa_dstaddr;      /* P2P interface destination */
-         void             *ifa_data;         /* Address specific data */
-
-     ifa_next
-             Contains a pointer to the next structure on the list.  This field
-             is set to NULL in last structure on the list.
-
-     ifa_name
-             Contains the interface name.
-
-     ifa_flags
-             Contains the interface flags, as set by ifconfig(8).
-
-     ifa_addr
-             References either the address of the interface or the link level
-             address of the interface, if one exists, otherwise it is NULL.
-             (The sa_family field of the ifa_addr field should be consulted to
-             determine the format of the ifa_addr address.)
-
-     ifa_netmask
-             References the netmask associated with ifa_addr, if one is set,
-             otherwise it is NULL.
-
-     ifa_broadaddr
-             This field, which should only be referenced for non-P2P inter-
-             faces, references the broadcast address associated with ifa_addr,
-             if one exists, otherwise it is NULL.
-
-     ifa_dstaddr
-             References the destination address on a P2P interface, if one
-             exists, otherwise it is NULL.
-
-     ifa_data
-             References address family specific data.  For AF_LINK addresses
-             it contains a pointer to the struct if_data (as defined in
-             include file &lt;net/if.h&#62;) which contains various interface
-             attributes and statistics.  For all other address families, it
-             contains a pointer to the struct ifa_data (as defined in include
-             file &lt;net/if.h&#62;) which contains per-address interface statistics.
-
-     The data returned by getifaddrs() is dynamically allocated and should be
-     freed using freeifaddrs() when no longer needed.
-
-RETURN VALUES
-     Upon successful completion, a value of 0 is returned.  Otherwise, a value
-     of -1 is returned and errno is set to indicate the error.
-
-ERRORS
-     The getifaddrs() may fail and set errno for any of the errors specified
-     for the library routines ioctl(2), socket(2), malloc(3), or sysctl(3).
-
-BUGS
-     If both &lt;net/if.h&#62; and &lt;ifaddrs.h&#62; are being included, &lt;net/if.h&#62; must be
-     included before &lt;ifaddrs.h&#62;.
-
-SEE ALSO
-     ioctl(2), socket(2), sysctl(3), networking(4), ifconfig(8)
-
-HISTORY
-     The getifaddrs() function first appeared in BSDI BSD/OS.  The function is
-     supplied on OpenBSD since OpenBSD 2.7.
-
-BSD                            February 24, 2003                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-gethostbyname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getnameinfo.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->gethostbyname</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getnameinfo</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getnameinfo.html b/doc/html/ref/net-common-tcpip-manpages-getnameinfo.html
deleted file mode 100644 (file)
index d5eb564..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getnameinfo</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getifaddrs"
-HREF="net-common-tcpip-manpages-getifaddrs.html"><LINK
-REL="NEXT"
-TITLE="getnetent"
-HREF="net-common-tcpip-manpages-getnetent.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getifaddrs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getnetent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETNAMEINFO">getnameinfo</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETNAMEINFO(3)          System Library Functions Manual         GETNAMEINFO(3)
-
-NAME
-     getnameinfo - address-to-nodename translation in protocol-independent
-     manner
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-     #include &lt;netdb.h&#62;
-
-     int
-     getnameinfo(const struct sockaddr *sa, socklen_t salen, char *host,
-             size_t hostlen, char *serv, size_t servlen, int flags);
-
-DESCRIPTION
-     The getnameinfo() function is defined for protocol-independent address-
-     to-nodename translation.  Its functionality is a reverse conversion of
-     getaddrinfo(3), and implements similar functionality with
-     gethostbyaddr(3) and getservbyport(3) in more sophisticated manner.
-
-     This function looks up an IP address and port number provided by the
-     caller in the DNS and system-specific database, and returns text strings
-     for both in buffers provided by the caller.  The function indicates suc-
-     cessful completion by a zero return value; a non-zero return value indi-
-     cates failure.
-
-     The first argument, sa, points to either a sockaddr_in structure (for
-     IPv4) or a sockaddr_in6 structure (for IPv6) that holds the IP address
-     and port number.  The salen argument gives the length of the sockaddr_in
-     or sockaddr_in6 structure.
-
-     The function returns the nodename associated with the IP address in the
-     buffer pointed to by the host argument.  The caller provides the size of
-     this buffer via the hostlen argument.  The service name associated with
-     the port number is returned in the buffer pointed to by serv, and the
-     servlen argument gives the length of this buffer.  The caller specifies
-     not to return either string by providing a zero value for the hostlen or
-     servlen arguments.  Otherwise, the caller must provide buffers large
-     enough to hold the nodename and the service name, including the terminat-
-     ing null characters.
-
-     Unfortunately most systems do not provide constants that specify the max-
-     imum size of either a fully-qualified domain name or a service name.
-     Therefore to aid the application in allocating buffers for these two
-     returned strings the following constants are defined in &lt;netdb.h&#62;:
-
-     #define NI_MAXHOST    MAXHOSTNAMELEN
-     #define NI_MAXSERV    32
-
-     The first value is actually defined as the constant MAXDNAME in recent
-     versions of BIND's &lt;arpa/nameser.h&#62; header (older versions of BIND define
-     this constant to be 256) and the second is a guess based on the services
-     listed in the current Assigned Numbers RFC.
-
-     The final argument is a flag that changes the default actions of this
-     function.  By default the fully-qualified domain name (FQDN) for the host
-     is looked up in the DNS and returned.  If the flag bit NI_NOFQDN is set,
-     only the nodename portion of the FQDN is returned for local hosts.
-
-     If the flag bit NI_NUMERICHOST is set, or if the host's name cannot be
-     located in the DNS, the numeric form of the host's address is returned
-     instead of its name (e.g., by calling inet_ntop() instead of
-     gethostbyaddr()).  If the flag bit NI_NAMEREQD is set, an error is
-     returned if the host's name cannot be located in the DNS.
-
-     If the flag bit NI_NUMERICSERV is set, the numeric form of the service
-     address is returned (e.g., its port number) instead of its name.  The two
-     NI_NUMERICxxx flags are required to support the -n flag that many com-
-     mands provide.
-
-     A fifth flag bit, NI_DGRAM, specifies that the service is a datagram ser-
-     vice, and causes getservbyport() to be called with a second argument of
-     "udp" instead of its default of "tcp".  This is required for the few
-     ports (512-514) that have different services for UDP and TCP.
-
-     These NI_xxx flags are defined in &lt;netdb.h&#62;.
-
-   Extension for scoped IPv6 address
-     The implementation allows experimental numeric IPv6 address notation with
-     scope identifier.  IPv6 link-local address will appear as string like
-     ``fe80::1%ne0'', if NI_WITHSCOPEID bit is enabled in flags argument.
-     Refer to getaddrinfo(3) for the notation.
-
-EXAMPLES
-     The following code tries to get numeric hostname, and service name, for
-     given socket address.  Observe that there is no hardcoded reference to
-     particular address family.
-
-           struct sockaddr *sa;    /* input */
-           char hbuf[NI_MAXHOST], sbuf[NI_MAXSERV];
-
-           if (getnameinfo(sa, sa-&#62;sa_len, hbuf, sizeof(hbuf), sbuf,
-               sizeof(sbuf), NI_NUMERICHOST | NI_NUMERICSERV)) {
-                   errx(1, "could not get numeric hostname");
-                   /*NOTREACHED*/
-           }
-           printf("host=%s, serv=%s\n", hbuf, sbuf);
-
-     The following version checks if the socket address has reverse address
-     mapping.
-
-           struct sockaddr *sa;    /* input */
-           char hbuf[NI_MAXHOST];
-
-           if (getnameinfo(sa, sa-&#62;sa_len, hbuf, sizeof(hbuf), NULL, 0,
-               NI_NAMEREQD)) {
-                   errx(1, "could not resolve hostname");
-                   /*NOTREACHED*/
-           }
-           printf("host=%s\n", hbuf);
-
-DIAGNOSTICS
-     The function indicates successful completion by a zero return value; a
-     non-zero return value indicates failure.  Error codes are as below:
-
-     EAI_AGAIN          The name could not be resolved at this time.  Future
-                        attempts may succeed.
-
-     EAI_BADFLAGS       The flags had an invalid value.
-
-     EAI_FAIL           A non-recoverable error occurred.
-
-     EAI_FAMILY         The address family was not recognized or the address
-                        length was invalid for the specified family.
-
-     EAI_MEMORY         There was a memory allocation failure.
-
-     EAI_NONAME         The name does not resolve for the supplied parameters.
-                        NI_NAMEREQD is set and the host's name cannot be
-                        located, or both nodename and servname were null.
-
-     EAI_SYSTEM         A system error occurred.  The error code can be found
-                        in errno.
-
-SEE ALSO
-     getaddrinfo(3), gethostbyaddr(3), getservbyport(3), hosts(5),
-     resolv.conf(5), services(5), hostname(7), named(8)
-
-     R. Gilligan, S. Thomson, J. Bound, and W. Stevens, Basic Socket Interface
-     Extensions for IPv6, RFC2553, March 1999.
-
-     Tatsuya Jinmei and Atsushi Onoe, An Extension of Format for IPv6 Scoped
-     Addresses, internet draft, draft-ietf-ipngwg-scopedaddr-format-02.txt,
-     work in progress material.
-
-     Craig Metz, "Protocol Independence Using the Sockets API", Proceedings of
-     the freenix track: 2000 USENIX annual technical conference, June 2000.
-
-HISTORY
-     The implementation first appeared in WIDE Hydrangea IPv6 protocol stack
-     kit.
-
-STANDARDS
-     The getaddrinfo() function is defined IEEE POSIX 1003.1g draft specifica-
-     tion, and documented in ``Basic Socket Interface Extensions for IPv6''
-     (RFC2553).
-
-BUGS
-     The current implementation is not thread-safe.
-
-     The text was shamelessly copied from RFC2553.
-
-     OpenBSD intentionally uses different NI_MAXHOST value from what RFC2553
-     suggests, to avoid buffer length handling mistakes.
-
-BSD                              May 25, 1995                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getifaddrs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getnetent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getifaddrs</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getnetent</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getnetent.html b/doc/html/ref/net-common-tcpip-manpages-getnetent.html
deleted file mode 100644 (file)
index 133cb7c..0000000
+++ /dev/null
@@ -1,247 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getnetent</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getnameinfo"
-HREF="net-common-tcpip-manpages-getnameinfo.html"><LINK
-REL="NEXT"
-TITLE="getprotoent"
-HREF="net-common-tcpip-manpages-getprotoent.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getnameinfo.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getprotoent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETNETENT">getnetent</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETNETENT(3)            System Library Functions Manual           GETNETENT(3)
-
-NAME
-     getnetent, getnetbyaddr, getnetbyname, setnetent, endnetent - get network
-     entry
-
-SYNOPSIS
-     #include &lt;netdb.h&#62;
-
-     struct netent *
-     getnetent(void);
-
-     struct netent *
-     getnetbyname(char *name);
-
-     struct netent *
-     getnetbyaddr(in_addr_t net, int type);
-
-     void
-     setnetent(int stayopen);
-
-     void
-     endnetent(void);
-
-DESCRIPTION
-     The getnetent(), getnetbyname(), and getnetbyaddr() functions each return
-     a pointer to an object with the following structure containing the bro-
-     ken-out fields of a line in the network database, /etc/networks.
-
-           struct  netent {
-                   char            *n_name;        /* official name of net */
-                   char            **n_aliases;    /* alias list */
-                   int             n_addrtype;     /* net number type */
-                   in_addr_t       n_net;          /* net number */
-           };
-
-     The members of this structure are:
-
-     n_name      The official name of the network.
-
-     n_aliases   A zero-terminated list of alternate names for the network.
-
-     n_addrtype  The type of the network number returned; currently only
-                 AF_INET.
-
-     n_net       The network number.  Network numbers are returned in machine
-                 byte order.
-
-     The getnetent() function reads the next line of the file, opening the
-     file if necessary.
-
-     The setnetent() function opens and rewinds the file.  If the stayopen
-     flag is non-zero, the net database will not be closed after each call to
-     getnetbyname() or getnetbyaddr().
-
-     The endnetent() function closes the file.
-
-     The getnetbyname() and getnetbyaddr() functions search the domain name
-     server if the system is configured to use one.  If the search fails, or
-     no name server is configured, they sequentially search from the beginning
-     of the file until a matching net name or net address and type is found,
-     or until EOF is encountered.  Network numbers are supplied in host order.
-
-FILES
-     /etc/networks
-
-DIAGNOSTICS
-     Null pointer (0) returned on EOF or error.
-
-SEE ALSO
-     resolver(3), networks(5)
-
-HISTORY
-     The getnetent(), getnetbyaddr(), getnetbyname(), setnetent(), and
-     endnetent() functions appeared in 4.2BSD.
-
-BUGS
-     The data space used by these functions is static; if future use requires
-     the data, it should be copied before any subsequent calls to these func-
-     tions overwrite it.  Only Internet network numbers are currently under-
-     stood.  Expecting network numbers to fit in no more than 32 bits is
-     naive.
-
-BSD                             March 13, 1997                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getnameinfo.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getprotoent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getnameinfo</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getprotoent</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getpeername.html b/doc/html/ref/net-common-tcpip-manpages-getpeername.html
deleted file mode 100644 (file)
index f431546..0000000
+++ /dev/null
@@ -1,232 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getpeername</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="connect"
-HREF="net-common-tcpip-manpages-connect.html"><LINK
-REL="NEXT"
-TITLE="getsockname"
-HREF="net-common-tcpip-manpages-getsockname.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-connect.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getsockname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETPEERNAME">getpeername</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETPEERNAME(2)                System Calls Manual               GETPEERNAME(2)
-
-NAME
-     getpeername - get name of connected peer
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     getpeername(int s, struct sockaddr *name, socklen_t *namelen);
-
-DESCRIPTION
-     getpeername() returns the address information of the peer connected to
-     socket s.  One common use occurs when a process inherits an open socket,
-     such as TCP servers forked from inetd(8).  In this scenario,
-     getpeername() is used to determine the connecting client's IP address.
-
-     getpeername() takes three parameters:
-
-     s Contains the file descriptor of the socket whose peer should be looked
-     up.
-
-     name Points to a sockaddr structure that will hold the address informa-
-     tion for the connected peer.  Normal use requires one to use a structure
-     specific to the protocol family in use, such as sockaddr_in (IPv4) or
-     sockaddr_in6 (IPv6), cast to a (struct sockaddr *).
-
-     For greater portability, especially with the newer protocol families, the
-     new struct sockaddr_storage should be used.  sockaddr_storage is large
-     enough to hold any of the other sockaddr_* variants.  On return, it can
-     be cast to the correct sockaddr type, based the protocol family contained
-     in its ss_family field.
-
-     namelen Indicates the amount of space pointed to by name, in bytes.
-
-     If address information for the local end of the socket is required, the
-     getsockname(2) function should be used instead.
-
-     If name does not point to enough space to hold the entire socket address,
-     the result will be truncated to namelen bytes.
-
-RETURN VALUES
-     If the call succeeds, a 0 is returned and namelen is set to the actual
-     size of the socket address returned in name.  Otherwise, errno is set and
-     a value of -1 is returned.
-
-ERRORS
-     On failure, errno is set to one of the following:
-
-     [EBADF]            The argument s is not a valid descriptor.
-
-     [ENOTSOCK]         The argument s is a file, not a socket.
-
-     [ENOTCONN]         The socket is not connected.
-
-     [ENOBUFS]          Insufficient resources were available in the system to
-                        perform the operation.
-
-     [EFAULT]           The name parameter points to memory not in a valid
-                        part of the process address space.
-
-SEE ALSO
-     accept(2), bind(2), getsockname(2), getpeereid(2), socket(2)
-
-HISTORY
-     The getpeername() function call appeared in 4.2BSD.
-
-BSD                              July 17, 1999                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-connect.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getsockname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->connect</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getsockname</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getprotoent.html b/doc/html/ref/net-common-tcpip-manpages-getprotoent.html
deleted file mode 100644 (file)
index 1dc3003..0000000
+++ /dev/null
@@ -1,240 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getprotoent</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getnetent"
-HREF="net-common-tcpip-manpages-getnetent.html"><LINK
-REL="NEXT"
-TITLE="getrrsetbyname"
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getnetent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETPROTOENT">getprotoent</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETPROTOENT(3)          System Library Functions Manual         GETPROTOENT(3)
-
-NAME
-     getprotoent, getprotobynumber, getprotobyname, setprotoent, endprotoent -
-     get protocol entry
-
-SYNOPSIS
-     #include &lt;netdb.h&#62;
-
-     struct protoent *
-     getprotoent(void);
-
-     struct protoent *
-     getprotobyname(char *name);
-
-     struct protoent *
-     getprotobynumber(int proto);
-
-     void
-     setprotoent(int stayopen);
-
-     void
-     endprotoent(void);
-
-DESCRIPTION
-     The getprotoent(), getprotobyname(), and getprotobynumber() functions
-     each return a pointer to an object with the following structure contain-
-     ing the broken-out fields of a line in the network protocol database,
-     /etc/protocols.
-
-
-           struct  protoent {
-                   char    *p_name;        /* official name of protocol */
-                   char    **p_aliases;    /* alias list */
-                   int     p_proto;        /* protocol number */
-           };
-
-     The members of this structure are:
-
-     p_name     The official name of the protocol.
-
-     p_aliases  A zero-terminated list of alternate names for the protocol.
-
-     p_proto    The protocol number.
-
-     The getprotoent() function reads the next line of the file, opening the
-     file if necessary.
-
-     The setprotoent() function opens and rewinds the file.  If the stayopen
-     flag is non-zero, the net database will not be closed after each call to
-     getprotobyname() or getprotobynumber().
-
-     The endprotoent() function closes the file.
-
-     The getprotobyname() and getprotobynumber() functions sequentially search
-     from the beginning of the file until a matching protocol name or protocol
-     number is found, or until EOF is encountered.
-
-RETURN VALUES
-     Null pointer (0) returned on EOF or error.
-
-FILES
-     /etc/protocols
-
-SEE ALSO
-     protocols(5)
-
-HISTORY
-     The getprotoent(), getprotobynumber(), getprotobyname(), setprotoent(),
-     and endprotoent() functions appeared in 4.2BSD.
-
-BUGS
-     These functions use a static data space; if the data is needed for future
-     use, it should be copied before any subsequent calls overwrite it.  Only
-     the Internet protocols are currently understood.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getnetent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getnetent</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getrrsetbyname</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getrrsetbyname.html b/doc/html/ref/net-common-tcpip-manpages-getrrsetbyname.html
deleted file mode 100644 (file)
index 0f8d97d..0000000
+++ /dev/null
@@ -1,256 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getrrsetbyname</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getprotoent"
-HREF="net-common-tcpip-manpages-getprotoent.html"><LINK
-REL="NEXT"
-TITLE="getservent"
-HREF="net-common-tcpip-manpages-getservent.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getprotoent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getservent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETRRSETBYNAME">getrrsetbyname</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETRRSETBYNAME(3)       System Library Functions Manual      GETRRSETBYNAME(3)
-
-NAME
-     getrrsetbyname - retrieve DNS records
-
-SYNOPSIS
-     #include &lt;netdb.h&#62;
-
-     int
-     getrrsetbyname(const char *hostname, unsigned int rdclass,
-             unsigned int rdtype, unsigned int flags, struct rrsetinfo **res);
-
-     int
-     freerrset(struct rrsetinfo **rrset);
-
-DESCRIPTION
-     getrrsetbyname() gets a set of resource records associated with a
-     hostname, class and type.  hostname is a pointer a to null-terminated
-     string.  The flags field is currently unused and must be zero.
-
-     After a successful call to getrrsetbyname(), *res is a pointer to an
-     rrsetinfo structure, containing a list of one or more rdatainfo struc-
-     tures containing resource records and potentially another list of
-     rdatainfo structures containing SIG resource records associated with
-     those records.  The members rri_rdclass and rri_rdtype are copied from
-     the parameters.  rri_ttl and rri_name are properties of the obtained
-     rrset.  The resource records contained in rri_rdatas and rri_sigs are in
-     uncompressed DNS wire format.  Properties of the rdataset are represented
-     in the rri_flags bitfield. If the RRSET_VALIDATED bit is set, the data
-     has been DNSSEC validated and the signatures verified.
-
-     The following structures are used:
-
-     struct  rdatainfo {
-             unsigned int            rdi_length;     /* length of data */
-             unsigned char           *rdi_data;      /* record data */
-     };
-
-     struct  rrsetinfo {
-             unsigned int            rri_flags;      /* RRSET_VALIDATED ... */
-             unsigned int            rri_rdclass;    /* class number */
-             unsigned int            rri_rdtype;     /* RR type number */
-             unsigned int            rri_ttl;        /* time to live */
-             unsigned int            rri_nrdatas;    /* size of rdatas array */
-             unsigned int            rri_nsigs;      /* size of sigs array */
-             char                    *rri_name;      /* canonical name */
-             struct rdatainfo        *rri_rdatas;    /* individual records */
-             struct rdatainfo        *rri_sigs;      /* individual signatures */
-     };
-
-     All of the information returned by getrrsetbyname() is dynamically allo-
-     cated: the rrsetinfo and rdatainfo structures, and the canonical host
-     name strings pointed to by the rrsetinfostructure. Memory allocated for
-     the dynamically allocated structures created by a successful call to
-     getrrsetbyname() is released by freerrset().  rrset is a pointer to a
-     struct rrset created by a call to getrrsetbyname().
-
-     If the EDNS0 option is activated in resolv.conf(3), getrrsetbyname() will
-     request DNSSEC authentication using the EDNS0 DNSSEC OK (DO) bit.
-
-RETURN VALUES
-     getrrsetbyname() returns zero on success, and one of the following error
-     codes if an error occurred:
-
-     ERRSET_NONAME    the name does not exist
-     ERRSET_NODATA    the name exists, but does not have data of the desired
-                      type
-     ERRSET_NOMEMORY  memory could not be allocated
-     ERRSET_INVAL     a parameter is invalid
-     ERRSET_FAIL      other failure
-
-SEE ALSO
-     resolver(3), resolv.conf(5), named(8)
-
-AUTHORS
-     Jakob Schlyter &lt;jakob@openbsd.org&#62;
-
-HISTORY
-     getrrsetbyname() first appeared in OpenBSD 3.0.  The API first appeared
-     in ISC BIND version 9.
-
-BUGS
-     The data in *rdi_data should be returned in uncompressed wire format.
-     Currently, the data is in compressed format and the caller can't uncom-
-     press since it doesn't have the full message.
-
-CAVEATS
-     The RRSET_VALIDATED flag in rri_flags is set if the AD (autenticated
-     data) bit in the DNS answer is set. This flag should not be trusted
-     unless the transport between the nameserver and the resolver is secure
-     (e.g. IPsec, trusted network, loopback communication).
-
-BSD                              Oct 18, 2000                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getprotoent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getservent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getprotoent</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getservent</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getservent.html b/doc/html/ref/net-common-tcpip-manpages-getservent.html
deleted file mode 100644 (file)
index 89bf5ee..0000000
+++ /dev/null
@@ -1,245 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getservent</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getrrsetbyname"
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"><LINK
-REL="NEXT"
-TITLE="if_nametoindex"
-HREF="net-common-tcpip-manpages-if-nametoindex.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-if-nametoindex.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETSERVENT">getservent</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETSERVENT(3)           System Library Functions Manual          GETSERVENT(3)
-
-NAME
-     getservent, getservbyport, getservbyname, setservent, endservent - get
-     service entry
-
-SYNOPSIS
-     #include &lt;netdb.h&#62;
-
-     struct servent *
-     getservent(void);
-
-     struct servent *
-     getservbyname(char *name, char *proto);
-
-     struct servent *
-     getservbyport(int port, char *proto);
-
-     void
-     setservent(int stayopen);
-
-     void
-     endservent(void);
-
-DESCRIPTION
-     The getservent(), getservbyname(), and getservbyport() functions each
-     return a pointer to an object with the following structure containing the
-     broken-out fields of a line in the network services database,
-     /etc/services.
-
-           struct  servent {
-                   char    *s_name;        /* official name of service */
-                   char    **s_aliases;    /* alias list */
-                   int     s_port;         /* port service resides at */
-                   char    *s_proto;       /* protocol to use */
-           };
-
-     The members of this structure are:
-
-     s_name     The official name of the service.
-
-     s_aliases  A zero-terminated list of alternate names for the service.
-
-     s_port     The port number at which the service resides.  Port numbers
-                are returned in network byte order.
-
-     s_proto    The name of the protocol to use when contacting the service.
-
-     The getservent() function reads the next line of the file, opening the
-     file if necessary.
-
-     The setservent() function opens and rewinds the file.  If the stayopen
-     flag is non-zero, the net database will not be closed after each call to
-     getservbyname() or getservbyport().
-
-     The endservent() function closes the file.
-
-     The getservbyname() and getservbyport() functions sequentially search
-     from the beginning of the file until a matching protocol name or port
-     number (specified in network byte order) is found, or until EOF is
-     encountered.  If a protocol name is also supplied (non-null), searches
-     must also match the protocol.
-
-FILES
-     /etc/services
-
-DIAGNOSTICS
-     Null pointer (0) returned on EOF or error.
-
-SEE ALSO
-     getprotoent(3), services(5)
-
-HISTORY
-     The getservent(), getservbyport(), getservbyname(), setservent(), and
-     endservent() functions appeared in 4.2BSD.
-
-BUGS
-     These functions use static data storage; if the data is needed for future
-     use, it should be copied before any subsequent calls overwrite it.
-     Expecting port numbers to fit in a 32-bit quantity is probably naive.
-
-BSD                            January 12, 1994                            BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-if-nametoindex.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getrrsetbyname</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->if_nametoindex</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getsockname.html b/doc/html/ref/net-common-tcpip-manpages-getsockname.html
deleted file mode 100644 (file)
index aa46137..0000000
+++ /dev/null
@@ -1,244 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getsockname</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getpeername"
-HREF="net-common-tcpip-manpages-getpeername.html"><LINK
-REL="NEXT"
-TITLE="getsockopt"
-HREF="net-common-tcpip-manpages-getsockopt.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getpeername.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getsockopt.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETSOCKNAME">getsockname</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETSOCKNAME(2)                System Calls Manual               GETSOCKNAME(2)
-
-NAME
-     getsockname - get socket name
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     getsockname(int s, struct sockaddr *name, socklen_t *namelen);
-
-DESCRIPTION
-     getsockname() returns the locally bound address information for a speci-
-     fied socket.
-
-     Common uses of this function are as follows:
-
-     o   When bind(2) is called with a port number of 0 (indicating the kernel
-         should pick an ephemeral port) getsockname() is used to retrieve the
-         kernel-assigned port number.
-
-     o   When a process calls bind(2) on a wildcard IP address, getsockname()
-         is used to retrieve the local IP address for the connection.
-
-     o   When a function wishes to know the address family of a socket,
-         getsockname() can be used.
-
-     getsockname() takes three parameters:
-
-     s, Contains the file desriptor for the socket to be looked up.
-
-     name points to a sockaddr structure which will hold the resulting address
-     information.  Normal use requires one to use a structure specific to the
-     protocol family in use, such as sockaddr_in (IPv4) or sockaddr_in6
-     (IPv6), cast to a (struct sockaddr *).
-
-     For greater portability (such as newer protocol families) the new struc-
-     ture sockaddr_storage exists.  sockaddr_storage is large enough to hold
-     any of the other sockaddr_* variants.  On return, it should be cast to
-     the correct sockaddr type, according to the current protocol family.
-
-     namelen Indicates the amount of space pointed to by name, in bytes.  Upon
-     return, namelen is set to the actual size of the returned address infor-
-     mation.
-
-     If the address of the destination socket for a given socket connection is
-     needed, the getpeername(2) function should be used instead.
-
-     If name does not point to enough space to hold the entire socket address,
-     the result will be truncated to namelen bytes.
-
-RETURN VALUES
-     On success, getsockname() returns a 0, and namelen is set to the actual
-     size of the socket address returned in name.  Otherwise, errno is set,
-     and a value of -1 is returned.
-
-ERRORS
-     If getsockname() fails, errno is set to one of the following:
-
-     [EBADF]            The argument s is not a valid descriptor.
-
-     [ENOTSOCK]         The argument s is a file, not a socket.
-
-     [ENOBUFS]          Insufficient resources were available in the system to
-                        perform the operation.
-
-     [EFAULT]           The name parameter points to memory not in a valid
-                        part of the process address space.
-
-SEE ALSO
-     accept(2), bind(2), getpeername(2), getpeereid(2), socket(2)
-
-BUGS
-     Names bound to sockets in the UNIX domain are inaccessible; getsockname
-     returns a zero length name.
-
-HISTORY
-     The getsockname() function call appeared in 4.2BSD.
-
-BSD                              July 17, 1999                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getpeername.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getsockopt.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getpeername</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->getsockopt</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-getsockopt.html b/doc/html/ref/net-common-tcpip-manpages-getsockopt.html
deleted file mode 100644 (file)
index 4f4c65d..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->getsockopt</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getsockname"
-HREF="net-common-tcpip-manpages-getsockname.html"><LINK
-REL="NEXT"
-TITLE="ioctl"
-HREF="net-common-tcpip-manpages-ioctl.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getsockname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ioctl.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETSOCKOPT">getsockopt</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETSOCKOPT(2)                 System Calls Manual                GETSOCKOPT(2)
-
-NAME
-     getsockopt, setsockopt - get and set options on sockets
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     getsockopt(int s, int level, int optname, void *optval,
-             socklen_t *optlen);
-
-     int
-     setsockopt(int s, int level, int optname, const void *optval,
-             socklen_t optlen);
-
-DESCRIPTION
-     getsockopt() and setsockopt() manipulate the options associated with a
-     socket.  Options may exist at multiple protocol levels; they are always
-     present at the uppermost ``socket'' level.
-
-     When manipulating socket options the level at which the option resides
-     and the name of the option must be specified.  To manipulate options at
-     the socket level, level is specified as SOL_SOCKET.  To manipulate
-     options at any other level the protocol number of the appropriate proto-
-     col controlling the option is supplied.  For example, to indicate that an
-     option is to be interpreted by the TCP protocol, level should be set to
-     the protocol number of TCP; see getprotoent(3).
-
-     The parameters optval and optlen are used to access option values for
-     setsockopt().  For getsockopt() they identify a buffer in which the value
-     for the requested option(s) are to be returned.  For getsockopt(), optlen
-     is a value-result parameter, initially containing the size of the buffer
-     pointed to by optval, and modified on return to indicate the actual size
-     of the value returned.  If no option value is to be supplied or returned,
-     optval may be NULL.
-
-     optname and any specified options are passed uninterpreted to the appro-
-     priate protocol module for interpretation.  The include file
-     &lt;sys/socket.h&#62; contains definitions for socket level options, described
-     below.  Options at other protocol levels vary in format and name; consult
-     the appropriate entries in section 4 of the manual.
-
-     Most socket-level options utilize an int parameter for optval.  For
-     setsockopt(), the parameter should be non-zero to enable a boolean
-     option, or zero if the option is to be disabled.  SO_LINGER uses a struct
-     linger parameter, defined in &lt;sys/socket.h&#62;, which specifies the desired
-     state of the option and the linger interval (see below).  SO_SNDTIMEO and
-     SO_RCVTIMEO use a struct timeval parameter, defined in &lt;sys/time.h&#62;.
-
-     The following options are recognized at the socket level.  Except as
-     noted, each may be examined with getsockopt() and set with setsockopt().
-
-           SO_DEBUG        enables recording of debugging information
-           SO_REUSEADDR    enables local address reuse
-           SO_REUSEPORT    enables duplicate address and port bindings
-           SO_KEEPALIVE    enables keep connections alive
-           SO_DONTROUTE    enables routing bypass for outgoing messages
-           SO_LINGER       linger on close if data present
-           SO_BROADCAST    enables permission to transmit broadcast messages
-           SO_OOBINLINE    enables reception of out-of-band data in band
-           SO_SNDBUF       set buffer size for output
-           SO_RCVBUF       set buffer size for input
-           SO_SNDLOWAT     set minimum count for output
-           SO_RCVLOWAT     set minimum count for input
-           SO_SNDTIMEO     set timeout value for output
-           SO_RCVTIMEO     set timeout value for input
-           SO_TYPE         get the type of the socket (get only)
-           SO_ERROR        get and clear error on the socket (get only)
-
-     SO_DEBUG enables debugging in the underlying protocol modules.
-     SO_REUSEADDR indicates that the rules used in validating addresses sup-
-     plied in a bind(2) call should allow reuse of local addresses.
-     SO_REUSEPORT allows completely duplicate bindings by multiple processes
-     if they all set SO_REUSEPORT before binding the port.  This option per-
-     mits multiple instances of a program to each receive UDP/IP multicast or
-     broadcast datagrams destined for the bound port.  SO_KEEPALIVE enables
-     the periodic transmission of messages on a connected socket.  Should the
-     connected party fail to respond to these messages, the connection is con-
-     sidered broken and processes using the socket are notified via a SIGPIPE
-     signal when attempting to send data.  SO_DONTROUTE indicates that outgo-
-     ing messages should bypass the standard routing facilities.  Instead,
-     messages are directed to the appropriate network interface according to
-     the network portion of the destination address.
-
-     SO_LINGER controls the action taken when unsent messages are queued on
-     socket and a close(2) is performed.  If the socket promises reliable
-     delivery of data and SO_LINGER is set, the system will block the process
-     on the close(2) attempt until it is able to transmit the data or until it
-     decides it is unable to deliver the information (a timeout period mea-
-     sured in seconds, termed the linger interval, is specified in the
-     setsockopt() call when SO_LINGER is requested).  If SO_LINGER is disabled
-     and a close(2) is issued, the system will process the close in a manner
-     that allows the process to continue as quickly as possible.
-
-     The option SO_BROADCAST requests permission to send broadcast datagrams
-     on the socket.  Broadcast was a privileged operation in earlier versions
-     of the system.  With protocols that support out-of-band data, the
-     SO_OOBINLINE option requests that out-of-band data be placed in the nor-
-     mal data input queue as received; it will then be accessible with recv(2)
-     or read(2) calls without the MSG_OOB flag.  Some protocols always behave
-     as if this option is set.  SO_SNDBUF and SO_RCVBUF are options to adjust
-     the normal buffer sizes allocated for output and input buffers, respec-
-     tively.  The buffer size may be increased for high-volume connections, or
-     may be decreased to limit the possible backlog of incoming data.  The
-     system places an absolute limit on these values.
-
-     SO_SNDLOWAT is an option to set the minimum count for output operations.
-     Most output operations process all of the data supplied by the call,
-     delivering data to the protocol for transmission and blocking as neces-
-     sary for flow control.  Nonblocking output operations will process as
-     much data as permitted subject to flow control without blocking, but will
-     process no data if flow control does not allow the smaller of the low
-     water mark value or the entire request to be processed.  A select(2) or
-     poll(2) operation testing the ability to write to a socket will return
-     true only if the low water mark amount could be processed.  The default
-     value for SO_SNDLOWAT is set to a convenient size for network efficiency,
-     often 1024.  SO_RCVLOWAT is an option to set the minimum count for input
-     operations.  In general, receive calls will block until any (non-zero)
-     amount of data is received, then return with the smaller of the amount
-     available or the amount requested.  The default value for SO_RCVLOWAT is
-     1.  If SO_RCVLOWAT is set to a larger value, blocking receive calls nor-
-     mally wait until they have received the smaller of the low water mark
-     value or the requested amount.  Receive calls may still return less than
-     the low water mark if an error occurs, a signal is caught, or the type of
-     data next in the receive queue is different than that returned.
-
-     SO_SNDTIMEO is an option to set a timeout value for output operations.
-     It accepts a struct timeval parameter with the number of seconds and
-     microseconds used to limit waits for output operations to complete.  If a
-     send operation has blocked for this much time, it returns with a partial
-     count or with the error EWOULDBLOCK if no data was sent.  In the current
-     implementation, this timer is restarted each time additional data are
-     delivered to the protocol, implying that the limit applies to output por-
-     tions ranging in size from the low water mark to the high water mark for
-     output.  SO_RCVTIMEO is an option to set a timeout value for input opera-
-     tions.  It accepts a struct timeval parameter with the number of seconds
-     and microseconds used to limit waits for input operations to complete.
-     In the current implementation, this timer is restarted each time addi-
-     tional data are received by the protocol, and thus the limit is in effect
-     an inactivity timer.  If a receive operation has been blocked for this
-     much time without receiving additional data, it returns with a short
-     count or with the error EWOULDBLOCK if no data were received.
-
-     Finally, SO_TYPE and SO_ERROR are options used only with getsockopt().
-     SO_TYPE returns the type of the socket, such as SOCK_STREAM; it is useful
-     for servers that inherit sockets on startup.  SO_ERROR returns any pend-
-     ing error on the socket and clears the error status.  It may be used to
-     check for asynchronous errors on connected datagram sockets or for other
-     asynchronous errors.
-
-RETURN VALUES
-     A 0 is returned if the call succeeds, -1 if it fails.
-
-ERRORS
-     The call succeeds unless:
-
-     [EBADF]            The argument s is not a valid descriptor.
-
-     [ENOTSOCK]         The argument s is a file, not a socket.
-
-     [ENOPROTOOPT]      The option is unknown at the level indicated.
-
-     [EFAULT]           The address pointed to by optval is not in a valid
-                        part of the process address space.  For getsockopt(),
-                        this error may also be returned if optlen is not in a
-                        valid part of the process address space.
-
-SEE ALSO
-     connect(2), ioctl(2), poll(2), select(2), poll(2), socket(2),
-     getprotoent(3), protocols(5)
-
-BUGS
-     Several of the socket options should be handled at lower levels of the
-     system.
-
-HISTORY
-     The getsockopt() system call appeared in 4.2BSD.
-
-BSD                            February 15, 1999                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getsockname.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ioctl.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getsockname</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ioctl</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-if-nametoindex.html b/doc/html/ref/net-common-tcpip-manpages-if-nametoindex.html
deleted file mode 100644 (file)
index 2ef92df..0000000
+++ /dev/null
@@ -1,231 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->if_nametoindex</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getservent"
-HREF="net-common-tcpip-manpages-getservent.html"><LINK
-REL="NEXT"
-TITLE="inet"
-HREF="net-common-tcpip-manpages-inet.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getservent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-IF-NAMETOINDEX">if_nametoindex</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->IF_NAMETOINDEX(3)       System Library Functions Manual      IF_NAMETOINDEX(3)
-
-NAME
-     if_nametoindex, if_indextoname, if_nameindex, if_freenameindex - convert
-     interface index to name, and vice versa
-
-SYNOPSIS
-     #include &lt;net/if.h&#62;
-
-     unsigned int
-     if_nametoindex(const char *ifname);
-
-     char *
-     if_indextoname(unsigned int ifindex, char *ifname);
-
-     struct if_nameindex *
-     if_nameindex(void);
-
-     void
-     if_freenameindex(struct if_nameindex *ptr);
-
-DESCRIPTION
-     These functions map interface indexes to interface names (such as
-     ``lo0''), and vice versa.
-
-     The if_nametoindex() function converts an interface name specified by the
-     ifname argument to an interface index (positive integer value).  If the
-     specified interface does not exist, 0 will be returned.
-
-     if_indextoname() converts an interface index specified by the ifindex
-     argument to an interface name.  The ifname argument must point to a
-     buffer of at least IF_NAMESIZE bytes into which the interface name corre-
-     sponding to the specified index is returned.  (IF_NAMESIZE is also
-     defined in &lt;net/if.h&#62; and its value includes a terminating null byte at
-     the end of the interface name.)  This pointer is also the return value of
-     the function.  If there is no interface corresponding to the specified
-     index, NULL is returned.
-
-     if_nameindex() returns an array of if_nameindex structures.
-     if_nametoindex is also defined in &lt;net/if.h&#62;, and is as follows:
-
-     struct if_nameindex {
-         unsigned int   if_index;  /* 1, 2, ... */
-         char          *if_name;   /* null terminated name: "le0", ... */
-     };
-
-     The end of the array of structures is indicated by a structure with an
-     if_index of 0 and an if_name of NULL.  The function returns a null
-     pointer on error.  The memory used for this array of structures along
-     with the interface names pointed to by the if_name members is obtained
-     dynamically.  This memory is freed by the if_freenameindex() function.
-
-     if_freenameindex() takes a pointer that was returned by if_nameindex() as
-     argument (ptr), and it reclaims the region allocated.
-
-DIAGNOSTICS
-     if_nametoindex() returns 0 on error, positive integer on success.
-     if_indextoname() and if_nameindex() return NULL on errors.
-
-SEE ALSO
-     R. Gilligan, S.  Thomson, J. Bound, and W. Stevens, ``Basic Socket Inter-
-     face Extensions for IPv6,'' RFC2553, March 1999.
-
-STANDARDS
-     These functions are defined in ``Basic Socket Interface Extensions for
-     IPv6'' (RFC2533).
-
-BSD                              May 21, 1998                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getservent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getservent</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->inet</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-inet-net.html b/doc/html/ref/net-common-tcpip-manpages-inet-net.html
deleted file mode 100644 (file)
index aab28f5..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->inet_net</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="inet6_rthdr_space"
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"><LINK
-REL="NEXT"
-TITLE="ipx"
-HREF="net-common-tcpip-manpages-ipx.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ipx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-INET-NET">inet_net</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->INET_NET(3)             System Library Functions Manual            INET_NET(3)
-
-NAME
-     inet_net_ntop, inet_net_pton - Internet network number manipulation rou-
-     tines
-
-SYNOPSIS
-     #include &lt;sys/socket.h&#62;
-     #include &lt;netinet/in.h&#62;
-     #include &lt;arpa/inet.h&#62;
-
-     char *
-     inet_net_ntop(int af, const void *src, int bits, char *dst, size_t size);
-
-     int
-     inet_net_pton(int af, const char *src, void *dst, size_t size);
-
-DESCRIPTION
-     The inet_net_ntop() function converts an Internet network number from
-     network format (usually a struct in_addr or some other binary form, in
-     network byte order) to CIDR presentation format (suitable for external
-     display purposes).  bits is the number of bits in src that are the net-
-     work number.  It returns NULL if a system error occurs (in which case,
-     errno will have been set), or it returns a pointer to the destination
-     string.
-
-     The inet_net_pton() function converts a presentation format Internet net-
-     work number (that is, printable form as held in a character string) to
-     network format (usually a struct in_addr or some other internal binary
-     representation, in network byte order).  It returns the number of bits
-     (either computed based on the class, or specified with /CIDR), or -1 if a
-     failure occurred (in which case errno will have been set.  It will be set
-     to ENOENT if the Internet network number was not valid).
-
-     The only value for af currently supported is AF_INET.  size is the size
-     of the result buffer dst.
-
-NETWORK NUMBERS (IP VERSION 4)
-     Internet network numbers may be specified in one of the following forms:
-
-           a.b.c.d/bits
-           a.b.c.d
-           a.b.c
-           a.b
-           a
-
-     When four parts are specified, each is interpreted as a byte of data and
-     assigned, from left to right, to the four bytes of an Internet network
-     number.  Note that when an Internet network number is viewed as a 32-bit
-     integer quantity on a system that uses little-endian byte order (such as
-     the Intel 386, 486, and Pentium processors) the bytes referred to above
-     appear as ``d.c.b.a''.  That is, little-endian bytes are ordered from
-     right to left.
-
-     When a three part number is specified, the last part is interpreted as a
-     16-bit quantity and placed in the rightmost two bytes of the Internet
-     network number.  This makes the three part number format convenient for
-     specifying Class B network numbers as ``128.net.host''.
-
-     When a two part number is supplied, the last part is interpreted as a
-     24-bit quantity and placed in the rightmost three bytes of the Internet
-     network number.  This makes the two part number format convenient for
-     specifying Class A network numbers as ``net.host''.
-
-     When only one part is given, the value is stored directly in the Internet
-     network number without any byte rearrangement.
-
-     All numbers supplied as ``parts'' in a `.' notation may be decimal,
-     octal, or hexadecimal, as specified in the C language (i.e., a leading 0x
-     or 0X implies hexadecimal; otherwise, a leading 0 implies octal; other-
-     wise, the number is interpreted as decimal).
-
-SEE ALSO
-     byteorder(3), inet(3), networks(5)
-
-HISTORY
-     The inet_net_ntop and inet_net_pton functions first appeared in BIND
-     4.9.4.
-
-BSD                              June 18, 1997                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ipx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->inet6_rthdr_space</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ipx</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-inet.html b/doc/html/ref/net-common-tcpip-manpages-inet.html
deleted file mode 100644 (file)
index e1737b5..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->inet</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="if_nametoindex"
-HREF="net-common-tcpip-manpages-if-nametoindex.html"><LINK
-REL="NEXT"
-TITLE="inet6_option_space"
-HREF="net-common-tcpip-manpages-inet6-option-space.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-if-nametoindex.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet6-option-space.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-INET">inet</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->INET(3)                 System Library Functions Manual                INET(3)
-
-NAME
-     inet_addr, inet_aton, inet_lnaof, inet_makeaddr, inet_netof,
-     inet_network, inet_ntoa, inet_ntop, inet_pton - Internet address manipu-
-     lation routines
-
-SYNOPSIS
-     #include &lt;sys/socket.h&#62;
-     #include &lt;netinet/in.h&#62;
-     #include &lt;arpa/inet.h&#62;
-
-     in_addr_t
-     inet_addr(const char *cp);
-
-     int
-     inet_aton(const char *cp, struct in_addr *addr);
-
-     in_addr_t
-     inet_lnaof(struct in_addr in);
-
-     struct in_addr
-     inet_makeaddr(unsigned long net, unsigned long lna);
-
-     in_addr_t
-     inet_netof(struct in_addr in);
-
-     in_addr_t
-     inet_network(const char *cp);
-
-     char *
-     inet_ntoa(struct in_addr in);
-
-     const char *
-     inet_ntop(int af, const void *src, char *dst, size_t size);
-
-     int
-     inet_pton(int af, const char *src, void *dst);
-
-DESCRIPTION
-     The routines inet_aton(), inet_addr() and inet_network() interpret char-
-     acter strings representing numbers expressed in the Internet standard `.'
-     notation.  The inet_pton() function converts a presentation format
-     address (that is, printable form as held in a character string) to net-
-     work format (usually a struct in_addr or some other internal binary rep-
-     resentation, in network byte order).  It returns 1 if the address was
-     valid for the specified address family, or 0 if the address wasn't
-     parseable in the specified address family, or -1 if some system error
-     occurred (in which case errno will have been set).  This function is
-     presently valid for AF_INET and AF_INET6.  The inet_aton() routine inter-
-     prets the specified character string as an Internet address, placing the
-     address into the structure provided.  It returns 1 if the string was suc-
-     cessfully interpreted, or 0 if the string was invalid.  The inet_addr()
-     and inet_network() functions return numbers suitable for use as Internet
-     addresses and Internet network numbers, respectively.
-
-     The function inet_ntop() converts an address from network format (usually
-     a struct in_addr or some other binary form, in network byte order) to
-     presentation format (suitable for external display purposes).  It returns
-     NULL if a system error occurs (in which case, errno will have been set),
-     or it returns a pointer to the destination string.  The routine
-     inet_ntoa() takes an Internet address and returns an ASCII string repre-
-     senting the address in `.' notation.  The routine inet_makeaddr() takes
-     an Internet network number and a local network address and constructs an
-     Internet address from it.  The routines inet_netof() and inet_lnaof()
-     break apart Internet host addresses, returning the network number and
-     local network address part, respectively.
-
-     All Internet addresses are returned in network order (bytes ordered from
-     left to right).  All network numbers and local address parts are returned
-     as machine format integer values.
-
-INTERNET ADDRESSES (IP VERSION 4)
-     Values specified using the `.' notation take one of the following forms:
-
-           a.b.c.d
-           a.b.c
-           a.b
-           a
-
-     When four parts are specified, each is interpreted as a byte of data and
-     assigned, from left to right, to the four bytes of an Internet address.
-     Note that when an Internet address is viewed as a 32-bit integer quantity
-     on a system that uses little-endian byte order (such as the Intel 386,
-     486 and Pentium processors) the bytes referred to above appear as
-     ``d.c.b.a''.  That is, little-endian bytes are ordered from right to
-     left.
-
-     When a three part address is specified, the last part is interpreted as a
-     16-bit quantity and placed in the rightmost two bytes of the network
-     address.  This makes the three part address format convenient for speci-
-     fying Class B network addresses as ``128.net.host''.
-
-     When a two part address is supplied, the last part is interpreted as a
-     24-bit quantity and placed in the rightmost three bytes of the network
-     address.  This makes the two part address format convenient for specify-
-     ing Class A network addresses as ``net.host''.
-
-     When only one part is given, the value is stored directly in the network
-     address without any byte rearrangement.
-
-     All numbers supplied as ``parts'' in a `.' notation may be decimal,
-     octal, or hexadecimal, as specified in the C language (i.e., a leading 0x
-     or 0X implies hexadecimal; otherwise, a leading 0 implies octal; other-
-     wise, the number is interpreted as decimal).
-
-INTERNET ADDRESSES (IP VERSION 6)
-     In order to support scoped IPv6 addresses, getaddrinfo(3) and
-     getnameinfo(3) are recommended rather than the functions presented here.
-
-     The presentation format of an IPv6 address is given in [RFC1884 2.2]:
-
-     There are three conventional forms for representing IPv6 addresses as
-     text strings:
-
-     1.   The preferred form is x:x:x:x:x:x:x:x, where the 'x's are the hex-
-          adecimal values of the eight 16-bit pieces of the address.  Exam-
-          ples:
-
-                FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
-                1080:0:0:0:8:800:200C:417A
-
-          Note that it is not necessary to write the leading zeros in an indi-
-          vidual field, but there must be at least one numeral in every field
-          (except for the case described in 2.).
-
-     2.   Due to the method of allocating certain styles of IPv6 addresses, it
-          will be common for addresses to contain long strings of zero bits.
-          In order to make writing addresses
-
-          containing zero bits easier a special syntax is available to com-
-          press the zeros.  The use of ``::'' indicates multiple groups of 16
-          bits of zeros.  The ``::'' can only appear once in an address.  The
-          ``::'' can also be used to compress the leading and/or trailing
-          zeros in an address.
-
-          For example the following addresses:
-
-                1080:0:0:0:8:800:200C:417A  a unicast address
-                FF01:0:0:0:0:0:0:43         a multicast address
-                0:0:0:0:0:0:0:1             the loopback address
-                0:0:0:0:0:0:0:0             the unspecified addresses
-
-          may be represented as:
-
-                1080::8:800:200C:417A       a unicast address
-                FF01::43                    a multicast address
-                ::1                         the loopback address
-                ::                          the unspecified addresses
-
-     3.   An alternative form that is sometimes more convenient when dealing
-          with a mixed environment of IPv4 and IPv6 nodes is
-          x:x:x:x:x:x:d.d.d.d, where the 'x's are the hexadecimal values of
-          the six high-order 16-bit pieces of the address, and the 'd's are
-          the decimal values of the four low-order 8-bit pieces of the address
-          (standard IPv4 representation).  Examples:
-
-                0:0:0:0:0:0:13.1.68.3
-                0:0:0:0:0:FFFF:129.144.52.38
-
-          or in compressed form:
-
-                ::13.1.68.3
-                ::FFFF:129.144.52.38
-
-DIAGNOSTICS
-     The constant INADDR_NONE is returned by inet_addr() and inet_network()
-     for malformed requests.
-
-SEE ALSO
-     byteorder(3), gethostbyname(3), getnetent(3), inet_net(3), hosts(5),
-     networks(5)
-
-STANDARDS
-     The inet_ntop and inet_pton functions conforms to the IETF IPv6 BSD API
-     and address formatting specifications.  Note that inet_pton does not
-     accept 1-, 2-, or 3-part dotted addresses; all four parts must be speci-
-     fied.  This is a narrower input set than that accepted by inet_aton.
-
-HISTORY
-     The inet_addr, inet_network, inet_makeaddr, inet_lnaof and inet_netof
-     functions appeared in 4.2BSD.  The inet_aton and inet_ntoa functions
-     appeared in 4.3BSD.  The inet_pton and inet_ntop functions appeared in
-     BIND 4.9.4.
-
-BUGS
-     The value INADDR_NONE (0xffffffff) is a valid broadcast address, but
-     inet_addr() cannot return that value without indicating failure.  Also,
-     inet_addr() should have been designed to return a struct in_addr.  The
-     newer inet_aton() function does not share these problems, and almost all
-     existing code should be modified to use inet_aton() instead.
-
-     The problem of host byte ordering versus network byte ordering is confus-
-     ing.
-
-     The string returned by inet_ntoa() resides in a static memory area.
-
-BSD                              June 18, 1997                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-if-nametoindex.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet6-option-space.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->if_nametoindex</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->inet6_option_space</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-inet6-option-space.html b/doc/html/ref/net-common-tcpip-manpages-inet6-option-space.html
deleted file mode 100644 (file)
index 1f3f884..0000000
+++ /dev/null
@@ -1,357 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->inet6_option_space</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="inet"
-HREF="net-common-tcpip-manpages-inet.html"><LINK
-REL="NEXT"
-TITLE="inet6_rthdr_space"
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-INET6-OPTION-SPACE">inet6_option_space</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->INET6_OPTION_SPACE(3)   System Library Functions Manual  INET6_OPTION_SPACE(3)
-
-NAME
-     inet6_option_space, inet6_option_init, inet6_option_append,
-     inet6_option_alloc, inet6_option_next, inet6_option_find - IPv6 Hop-by-
-     Hop and Destination Options manipulation
-
-SYNOPSIS
-     #include &lt;netinet/in.h&#62;
-
-     int
-     inet6_option_space(int nbytes);
-
-     int
-     inet6_option_init(void *bp, struct cmsghdr **cmsgp, int type);
-
-     int
-     inet6_option_append(struct cmsghdr *cmsg, const u_int8_t *typep,
-             int multx, int plusy);
-
-     u_int8_t *
-     inet6_option_alloc(struct cmsghdr *cmsg, int datalen, int multx,
-             int plusy);;
-
-     int
-     inet6_option_next(const struct cmsghdr *cmsg, u_int8_t **tptrp);
-
-     int
-     inet6_option_find(const struct cmsghdr *cmsg, u_int8_t **tptrp,
-             int type);
-
-DESCRIPTION
-     Building and parsing the Hop-by-Hop and Destination options is compli-
-     cated due to alignment constranints, padding and ancillary data manipula-
-     tion.  RFC2292 defines a set of functions to help the application.  The
-     function prototypes for these functions are all in the &lt;netinet/in.h&#62;
-     header.
-
-   inet6_option_space
-     inet6_option_space() returns the number of bytes required to hold an
-     option when it is stored as ancillary data, including the cmsghdr struc-
-     ture at the beginning, and any padding at the end (to make its size a
-     multiple of 8 bytes).  The argument is the size of the structure defining
-     the option, which must include any pad bytes at the beginning (the value
-     y in the alignment term ``xn + y''), the type byte, the length byte, and
-     the option data.
-
-     Note: If multiple options are stored in a single ancillary data object,
-     which is the recommended technique, this function overestimates the
-     amount of space required by the size of N-1 cmsghdr structures, where N
-     is the number of options to be stored in the object.  This is of little
-     consequence, since it is assumed that most Hop-by-Hop option headers and
-     Destination option headers carry only one option (appendix B of
-     [RFC-2460]).
-
-   inet6_option_init
-     inet6_option_init() is called once per ancillary data object that will
-     contain either Hop-by-Hop or Destination options.  It returns 0 on suc-
-     cess or -1 on an error.
-
-     bp is a pointer to previously allocated space that will contain the
-     ancillary data object.  It must be large enough to contain all the indi-
-     vidual options to be added by later calls to inet6_option_append() and
-     inet6_option_alloc().
-
-     cmsgp is a pointer to a pointer to a cmsghdr structure.  *cmsgp is ini-
-     tialized by this function to point to the cmsghdr structure constructed
-     by this function in the buffer pointed to by bp.
-
-     type is either IPV6_HOPOPTS or IPV6_DSTOPTS.  This type is stored in the
-     cmsg_type member of the cmsghdr structure pointed to by *cmsgp.
-
-   inet6_option_append
-     This function appends a Hop-by-Hop option or a Destination option into an
-     ancillary data object that has been initialized by inet6_option_init().
-     This function returns 0 if it succeeds or -1 on an error.
-
-     cmsg is a pointer to the cmsghdr structure that must have been initial-
-     ized by inet6_option_init().
-
-     typep is a pointer to the 8-bit option type.  It is assumed that this
-     field is immediately followed by the 8-bit option data length field,
-     which is then followed immediately by the option data.  The caller ini-
-     tializes these three fields (the type-length-value, or TLV) before call-
-     ing this function.
-
-     The option type must have a value from 2 to 255, inclusive.  (0 and 1 are
-     reserved for the Pad1 and PadN options, respectively.)
-
-     The option data length must have a value between 0 and 255, inclusive,
-     and is the length of the option data that follows.
-
-     multx is the value x in the alignment term ``xn + y''.  It must have a
-     value of 1, 2, 4, or 8.
-
-     plusy is the value y in the alignment term ``xn + y''.  It must have a
-     value between 0 and 7, inclusive.
-
-   inet6_option_alloc
-     This function appends a Hop-by-Hop option or a Destination option into an
-     ancillary data object that has been initialized by inet6_option_init().
-     This function returns a pointer to the 8-bit option type field that
-     starts the option on success, or NULL on an error.
-
-     The difference between this function and inet6_option_append() is that
-     the latter copies the contents of a previously built option into the
-     ancillary data object while the current function returns a pointer to the
-     space in the data object where the option's TLV must then be built by the
-     caller.
-
-     cmsg is a pointer to the cmsghdr structure that must have been initial-
-     ized by inet6_option_init().
-
-     datalen is the value of the option data length byte for this option.
-     This value is required as an argument to allow the function to determine
-     if padding must be appended at the end of the option.  (The
-     inet6_option_append() function does not need a data length argument since
-     the option data length must already be stored by the caller.)
-
-     multx is the value x in the alignment term ``xn + y''.  It must have a
-     value of 1, 2, 4, or 8.
-
-     plusy is the value y in the alignment term ``xn + y''.  It must have a
-     value between 0 and 7, inclusive.
-
-   inet6_option_next
-     This function processes the next Hop-by-Hop option or Destination option
-     in an ancillary data object.  If another option remains to be processed,
-     the return value of the function is 0 and *tptrp points to the 8-bit
-     option type field (which is followed by the 8-bit option data length,
-     followed by the option data).  If no more options remain to be processed,
-     the return value is -1 and *tptrp is NULL.  If an error occurs, the
-     return value is -1 and *tptrp is not NULL.
-
-     cmsg is a pointer to cmsghdr structure of which cmsg_level equals
-     IPPROTO_IPV6 and cmsg_type equals either IPV6_HOPOPTS or IPV6_DSTOPTS.
-
-     tptrp is a pointer to a pointer to an 8-bit byte and *tptrp is used by
-     the function to remember its place in the ancillary data object each time
-     the function is called.  The first time this function is called for a
-     given ancillary data object, *tptrp must be set to NULL.
-
-     Each time this function returns success, *tptrp points to the 8-bit
-     option type field for the next option to be processed.
-
-   inet6_option_find
-     This function is similar to the previously described inet6_option_next()
-     function, except this function lets the caller specify the option type to
-     be searched for, instead of always returning the next option in the
-     ancillary data object.  cmsg is a pointer to cmsghdr structure of which
-     cmsg_level equals IPPROTO_IPV6 and cmsg_type equals either IPV6_HOPOPTS
-     or IPV6_DSTOPTS.
-
-     tptrp is a pointer to a pointer to an 8-bit byte and *tptrp is used by
-     the function to remember its place in the ancillary data object each time
-     the function is called.  The first time this function is called for a
-     given ancillary data object, *tptrp must be set to NULL.  ~ This function
-     starts searching for an option of the specified type beginning after the
-     value of *tptrp.  If an option of the specified type is located, this
-     function returns 0 and *tptrp points to the 8- bit option type field for
-     the option of the specified type.  If an option of the specified type is
-     not located, the return value is -1 and *tptrp is NULL.  If an error
-     occurs, the return value is -1 and *tptrp is not NULL.
-
-DIAGNOSTICS
-     inet6_option_init() and inet6_option_append() return 0 on success or -1
-     on an error.
-
-     inet6_option_alloc() returns NULL on an error.
-
-     On errors, inet6_option_next() and inet6_option_find() return -1 setting
-     *tptrp to non NULL value.
-
-EXAMPLES
-     RFC2292 gives comprehensive examples in chapter 6.
-
-SEE ALSO
-     W. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC2292,
-     February 1998.
-
-     S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6)
-     Specification, RFC2460, December 1998.
-
-HISTORY
-     The implementation first appeared in KAME advanced networking kit.
-
-STANDARDS
-     The functions are documented in ``Advanced Sockets API for IPv6''
-     (RFC2292).
-
-BUGS
-     The text was shamelessly copied from RFC2292.
-
-BSD                            December 10, 1999                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->inet</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->inet6_rthdr_space</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-inet6-rthdr-space.html b/doc/html/ref/net-common-tcpip-manpages-inet6-rthdr-space.html
deleted file mode 100644 (file)
index 9ec0aad..0000000
+++ /dev/null
@@ -1,346 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->inet6_rthdr_space</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="inet6_option_space"
-HREF="net-common-tcpip-manpages-inet6-option-space.html"><LINK
-REL="NEXT"
-TITLE="inet_net"
-HREF="net-common-tcpip-manpages-inet-net.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet6-option-space.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet-net.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-INET6-RTHDR-SPACE">inet6_rthdr_space</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->INET6_RTHDR_SPACE(3)    System Library Functions Manual   INET6_RTHDR_SPACE(3)
-
-NAME
-     inet6_rthdr_space, inet6_rthdr_init, inet6_rthdr_add,
-     inet6_rthdr_lasthop, inet6_rthdr_reverse, inet6_rthdr_segments,
-     inet6_rthdr_getaddr, inet6_rthdr_getflags - IPv6 Routing Header Options
-     manipulation
-
-SYNOPSIS
-     #include &lt;netinet/in.h&#62;
-
-     size_t
-     inet6_rthdr_space(int type, int segments);
-
-     struct cmsghdr *
-     inet6_rthdr_init(void *bp, int type);
-
-     int
-     inet6_rthdr_add(struct cmsghdr *cmsg, const struct in6_addr *addr,
-             unsigned int flags);
-
-     int
-     inet6_rthdr_lasthop(struct cmsghdr *cmsg, unsigned int flags);
-
-     int
-     inet6_rthdr_reverse(const struct cmsghdr *in, struct cmsghdr *out);
-
-     int
-     inet6_rthdr_segments(const struct cmsghdr *cmsg);
-
-     struct in6_addr *
-     inet6_rthdr_getaddr(struct cmsghdr *cmsg, int index);
-
-     int
-     inet6_rthdr_getflags(const struct cmsghdr *cmsg, int index);
-
-DESCRIPTION
-     RFC2292 IPv6 advanced API defines eight functions that the application
-     calls to build and examine a Routing header.  Four functions build a
-     Routing header:
-
-     inet6_rthdr_space() return #bytes required for ancillary data
-
-     inet6_rthdr_init() initialize ancillary data for Routing header
-
-     inet6_rthdr_add() add IPv6 address &amp; flags to Routing header
-
-     inet6_rthdr_lasthop() specify the flags for the final hop
-
-     Four functions deal with a returned Routing header:
-
-     inet6_rthdr_reverse() reverse a Routing header
-
-     inet6_rthdr_segments() return #segments in a Routing header
-
-     inet6_rthdr_getaddr() fetch one address from a Routing header
-
-     inet6_rthdr_getflags() fetch one flag from a Routing header
-
-     The function prototypes for these functions are all in the &lt;netinet/in.h&#62;
-     header.
-
-   inet6_rthdr_space
-     This function returns the number of bytes required to hold a Routing
-     header of the specified type containing the specified number of segments
-     (addresses).  For an IPv6 Type 0 Routing header, the number of segments
-     must be between 1 and 23, inclusive.  The return value includes the size
-     of the cmsghdr structure that precedes the Routing header, and any
-     required padding.
-
-     If the return value is 0, then either the type of the Routing header is
-     not supported by this implementation or the number of segments is invalid
-     for this type of Routing header.
-
-     Note: This function returns the size but does not allocate the space
-     required for the ancillary data.  This allows an application to allocate
-     a larger buffer, if other ancillary data objects are desired, since all
-     the ancillary data objects must be specified to sendmsg(2) as a single
-     msg_control buffer.
-
-   inet6_rthdr_init
-     This function initializes the buffer pointed to by bp to contain a
-     cmsghdr structure followed by a Routing header of the specified type.
-     The cmsg_len member of the cmsghdr structure is initialized to the size
-     of the structure plus the amount of space required by the Routing header.
-     The cmsg_level and cmsg_type members are also initialized as required.
-
-     The caller must allocate the buffer and its size can be determined by
-     calling inet6_rthdr_space().
-
-     Upon success the return value is the pointer to the cmsghdr structure,
-     and this is then used as the first argument to the next two functions.
-     Upon an error the return value is NULL.
-
-   inet6_rthdr_add
-     This function adds the address pointed to by addr to the end of the Rout-
-     ing header being constructed and sets the type of this hop to the value
-     of flags.  For an IPv6 Type 0 Routing header, flags must be either
-     IPV6_RTHDR_LOOSE or IPV6_RTHDR_STRICT.
-
-     If successful, the cmsg_len member of the cmsghdr structure is updated to
-     account for the new address in the Routing header and the return value of
-     the function is 0.  Upon an error the return value of the function is -1.
-
-   inet6_rthdr_lasthop
-     This function specifies the Strict/Loose flag for the final hop of a
-     Routing header.  For an IPv6 Type 0 Routing header, flags must be either
-     IPV6_RTHDR_LOOSE or IPV6_RTHDR_STRICT.
-
-     The return value of the function is 0 upon success, or -1 upon an error.
-
-     Notice that a Routing header specifying N intermediate nodes requires N+1
-     Strict/Loose flags.  This requires N calls to inet6_rthdr_add() followed
-     by one call to inet6_rthdr_lasthop().
-
-   inet6_rthdr_reverse
-     This function takes a Routing header that was received as ancillary data
-     (pointed to by the first argument, in) and writes a new Routing header
-     that sends datagrams along the reverse of that route.  Both arguments are
-     allowed to point to the same buffer (that is, the reversal can occur in
-     place).
-
-     The return value of the function is 0 on success, or -1 upon an error.
-
-   inet6_rthdr_segments
-     This function returns the number of segments (addresses) contained in the
-     Routing header described by cmsg.  On success the return value is between
-     1 and 23, inclusive.  The return value of the function is -1 upon an
-     error.
-
-   inet6_rthdr_getaddr
-     This function returns a pointer to the IPv6 address specified by index
-     (which must have a value between 1 and the value returned by
-     inet6_rthdr_segments()) in the Routing header described by cmsg.  An
-     application should first call inet6_rthdr_segments() to obtain the number
-     of segments in the Routing header.
-
-     Upon an error the return value of the function is NULL.
-
-   inet6_rthdr_getflags
-     This function returns the flags value specified by index (which must have
-     a value between 0 and the value returned by inet6_rthdr_segments()) in
-     the Routing header described by cmsg.  For an IPv6 Type 0 Routing header
-     the return value will be either IPV6_RTHDR_LOOSE or IPV6_RTHDR_STRICT.
-
-     Upon an error the return value of the function is -1.
-
-     Note: Addresses are indexed starting at 1, and flags starting at 0, to
-     maintain consistency with the terminology and figures in RFC2460.
-
-DIAGNOSTICS
-     inet6_rthdr_space() returns 0 on errors.
-
-     inet6_rthdr_add(), inet6_rthdr_lasthop() and inet6_rthdr_reverse() return
-     0 on success, and returns -1 on error.
-
-     inet6_rthdr_init() and inet6_rthdr_getaddr() return NULL on error.
-
-     inet6_rthdr_segments() and inet6_rthdr_getflags() return -1 on error.
-
-EXAMPLES
-     RFC2292 gives comprehensive examples in chapter 8.
-
-SEE ALSO
-     W. Stevens and M. Thomas, Advanced Sockets API for IPv6, RFC2292,
-     February 1998.
-
-     S. Deering and R. Hinden, Internet Protocol, Version 6 (IPv6)
-     Specification, RFC2460, December 1998.
-
-HISTORY
-     The implementation first appeared in KAME advanced networking kit.
-
-STANDARDS
-     The functions are documented in ``Advanced Sockets API for IPv6''
-     (RFC2292).
-
-BUGS
-     The text was shamelessly copied from RFC2292.
-
-     inet6_rthdr_reverse() is not implemented yet.
-
-BSD                            December 10, 1999                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet6-option-space.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet-net.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->inet6_option_space</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->inet_net</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-ioctl.html b/doc/html/ref/net-common-tcpip-manpages-ioctl.html
deleted file mode 100644 (file)
index bc209f3..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ioctl</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="getsockopt"
-HREF="net-common-tcpip-manpages-getsockopt.html"><LINK
-REL="NEXT"
-TITLE="poll"
-HREF="net-common-tcpip-manpages-poll.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-getsockopt.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-poll.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-IOCTL">ioctl</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->IOCTL(2)                      System Calls Manual                     IOCTL(2)
-
-NAME
-     ioctl - control device
-
-SYNOPSIS
-     #include &lt;sys/ioctl.h&#62;
-
-     int
-     ioctl(int d, unsigned long request, ...);
-
-DESCRIPTION
-     The ioctl() function manipulates the underlying device parameters of spe-
-     cial files.  In particular, many operating characteristics of character
-     special files (e.g., terminals) may be controlled with ioctl() requests.
-
-     The argument d must be an open file descriptor. The third argument is
-     called arg and contains additional information needed by this device to
-     perform the requested function.  arg is either an int or a pointer to a
-     device-specific data structure, depending upon the given request.
-
-     An ioctl request has encoded in it whether the argument is an ``in''
-     parameter or ``out'' parameter, and the size of the third argument (arg)
-     in bytes.  Macros and defines used in specifying an ioctl request are
-     located in the file &lt;sys/ioctl.h&#62;.
-
-RETURN VALUES
-     If an error has occurred, a value of -1 is returned and errno is set to
-     indicate the error.
-
-ERRORS
-     ioctl() will fail if:
-
-     [EBADF]            d is not a valid descriptor.
-
-     [ENOTTY]           d is not associated with a character special device.
-
-     [ENOTTY]           The specified request does not apply to the kind of
-                        object that the descriptor d references.
-
-     [EINVAL]           request or arg is not valid.
-
-     [EFAULT]           arg points outside the process's allocated address
-                        space.
-
-SEE ALSO
-     cdio(1), chio(1), mt(1), execve(2), fcntl(2), intro(4), tty(4)
-
-HISTORY
-     An ioctl() function call appeared in Version 7 AT&amp;T UNIX.
-
-BSD                            December 11, 1993                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-getsockopt.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-poll.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->getsockopt</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->poll</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-ipx.html b/doc/html/ref/net-common-tcpip-manpages-ipx.html
deleted file mode 100644 (file)
index d1c46de..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ipx</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="inet_net"
-HREF="net-common-tcpip-manpages-inet-net.html"><LINK
-REL="NEXT"
-TITLE="iso_addr"
-HREF="net-common-tcpip-manpages-iso-addr.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-inet-net.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-iso-addr.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-IPX">ipx</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->IPX(3)                  System Library Functions Manual                 IPX(3)
-
-NAME
-     ipx_addr, ipx_ntoa - IPX address conversion routines
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;netipx/ipx.h&#62;
-
-     struct ipx_addr
-     ipx_addr(const char *cp);
-
-     char *
-     ipx_ntoa(struct ipx_addr ipx);
-
-DESCRIPTION
-     The routine ipx_addr() interprets character strings representing IPX
-     addresses, returning binary information suitable for use in system calls.
-     The routine ipx_ntoa() takes IPX addresses and returns ASCII strings rep-
-     resenting the address in a notation in common use:
-
-           &lt;network number&#62;.&lt;host number&#62;.&lt;port number&#62;
-
-     Trailing zero fields are suppressed, and each number is printed in hex-
-     adecimal, in a format suitable for input to ipx_addr().  Any fields lack-
-     ing super-decimal digits will have a trailing `H' appended.
-
-     An effort has been made to ensure that ipx_addr() be compatible with most
-     formats in common use.  It will first separate an address into 1 to 3
-     fields using a single delimiter chosen from period (`.'), colon (`:'), or
-     pound-sign (`#').  Each field is then examined for byte separators (colon
-     or period).  If there are byte separators, each subfield separated is
-     taken to be a small hexadecimal number, and the entirety is taken as a
-     network-byte-ordered quantity to be zero extended in the high-network-
-     order bytes.  Next, the field is inspected for hyphens, in which case the
-     field is assumed to be a number in decimal notation with hyphens separat-
-     ing the millenia.  Next, the field is assumed to be a number: It is
-     interpreted as hexadecimal if there is a leading `0x' (as in C), a trail-
-     ing `H' (as in Mesa), or there are any super-decimal digits present.  It
-     is interpreted as octal is there is a leading `0' and there are no super-
-     octal digits.  Otherwise, it is converted as a decimal number.
-
-RETURN VALUES
-     None.  (See BUGS.)
-
-SEE ALSO
-     ns(4), hosts(5), networks(5)
-
-HISTORY
-     The precursor ns_addr() and ns_ntoa() functions appeared in 4.3BSD.
-
-BUGS
-     The string returned by ipx_ntoa() resides in a static memory area.  The
-     function ipx_addr() should diagnose improperly formed input, and there
-     should be an unambiguous way to recognize this.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-inet-net.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-iso-addr.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->inet_net</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->iso_addr</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-iso-addr.html b/doc/html/ref/net-common-tcpip-manpages-iso-addr.html
deleted file mode 100644 (file)
index ab1a221..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->iso_addr</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="ipx"
-HREF="net-common-tcpip-manpages-ipx.html"><LINK
-REL="NEXT"
-TITLE="link_addr"
-HREF="net-common-tcpip-manpages-link-addr.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ipx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-link-addr.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-ISO-ADDR">iso_addr</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->ISO_ADDR(3)             System Library Functions Manual            ISO_ADDR(3)
-
-NAME
-     iso_addr, iso_ntoa - network address conversion routines for Open System
-     Interconnection
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;netiso/iso.h&#62;
-
-     struct iso_addr *
-     iso_addr(char *cp);
-
-     char *
-     iso_ntoa(struct iso_addr *isoa);
-
-DESCRIPTION
-     The routine iso_addr() interprets character strings representing OSI
-     addresses, returning binary information suitable for use in system calls.
-     The routine iso_ntoa() takes OSI addresses and returns ASCII strings rep-
-     resenting NSAPs (network service access points) in a notation inverse to
-     that accepted by iso_addr().
-
-     Unfortunately, no universal standard exists for representing OSI network
-     addresses.
-
-     The format employed by iso_addr() is a sequence of hexadecimal ``digits''
-     (optionally separated by periods), of the form:
-
-           &lt;hex digits&#62;.&lt;hex digits&#62;.&lt;hex digits&#62;
-
-     Each pair of hexadecimal digits represents a byte with the leading digit
-     indicating the higher-ordered bits.  A period following an even number of
-     bytes has no effect (but may be used to increase legibility).  A period
-     following an odd number of bytes has the effect of causing the byte of
-     address being translated to have its higher order bits filled with zeros.
-
-RETURN VALUES
-     iso_ntoa() always returns a null terminated string.  iso_addr() always
-     returns a pointer to a struct iso_addr.  (See BUGS.)
-
-SEE ALSO
-     iso(4)
-
-HISTORY
-     The iso_addr() and iso_ntoa() functions appeared in 4.3BSD-Reno.
-
-BUGS
-     The returned values reside in a static memory area.
-
-     The function iso_addr() should diagnose improperly formed input, and
-     there should be an unambiguous way to recognize this.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ipx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-link-addr.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ipx</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->link_addr</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-link-addr.html b/doc/html/ref/net-common-tcpip-manpages-link-addr.html
deleted file mode 100644 (file)
index e3ed73d..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->link_addr</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="iso_addr"
-HREF="net-common-tcpip-manpages-iso-addr.html"><LINK
-REL="NEXT"
-TITLE="net_addrcmp"
-HREF="net-common-tcpip-manpages-net-addrcmp.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-iso-addr.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-net-addrcmp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-LINK-ADDR">link_addr</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->LINK_ADDR(3)            System Library Functions Manual           LINK_ADDR(3)
-
-NAME
-     link_addr, link_ntoa - elementary address specification routines for link
-     level access
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-     #include &lt;net/if_dl.h&#62;
-
-     void
-     link_addr(const char *addr, struct sockaddr_dl *sdl);
-
-     char *
-     link_ntoa(const struct sockaddr_dl *sdl);
-
-DESCRIPTION
-     The link_addr() function interprets character strings representing link-
-     level addresses, returning binary information suitable for use in system
-     calls.  link_ntoa() takes a link-level address and returns an ASCII
-     string representing some of the information present, including the link
-     level address itself, and the interface name or number, if present.  This
-     facility is experimental and is still subject to change.
-
-     For link_addr(), the string addr may contain an optional network inter-
-     face identifier of the form ``name unit-number'', suitable for the first
-     argument to ifconfig(8), followed in all cases by a colon and an inter-
-     face address in the form of groups of hexadecimal digits separated by
-     periods.  Each group represents a byte of address; address bytes are
-     filled left to right from low order bytes through high order bytes.
-
-     Thus le0:8.0.9.13.d.30 represents an Ethernet address to be transmitted
-     on the first Lance Ethernet interface.
-
-RETURN VALUES
-     link_ntoa() always returns a null-terminated string.  link_addr() has no
-     return value.  (See BUGS.)
-
-SEE ALSO
-     iso(4), ifconfig(8)
-
-HISTORY
-     The link_addr() and link_ntoa() functions appeared in 4.3BSD-Reno.
-
-BUGS
-     The returned values for link_ntoa reside in a static memory area.
-
-     The function link_addr() should diagnose improperly formed input, and
-     there should be an unambiguous way to recognize this.
-
-     If the sdl_len field of the link socket address sdl is 0, link_ntoa()
-     will not insert a colon before the interface address bytes.  If this
-     translated address is given to link_addr() without inserting an initial
-     colon, the latter will not interpret it correctly.
-
-BSD                              July 28, 1993                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-iso-addr.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-net-addrcmp.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->iso_addr</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->net_addrcmp</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-net-addrcmp.html b/doc/html/ref/net-common-tcpip-manpages-net-addrcmp.html
deleted file mode 100644 (file)
index 3b66545..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->net_addrcmp</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="link_addr"
-HREF="net-common-tcpip-manpages-link-addr.html"><LINK
-REL="NEXT"
-TITLE="ns"
-HREF="net-common-tcpip-manpages-ns.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-link-addr.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ns.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-NET-ADDRCMP">net_addrcmp</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->NET_ADDRCMP(3)          System Library Functions Manual         NET_ADDRCMP(3)
-
-NAME
-     net_addrcmp - compare socket address structures
-
-SYNOPSIS
-     #include &lt;netdb.h&#62;
-
-     int
-     net_addrcmp(struct sockaddr *sa1, struct sockaddr *sa2);
-
-DESCRIPTION
-     The net_addrcmp() function compares two socket address structures, sa1
-     and sa2.
-
-RETURN VALUES
-     If sa1 and sa2 are for the same address, net_addrcmp() returns 0.
-
-     The sa_len fields are compared first.  If they do not match,
-     net_addrcmp() returns -1 or 1 if sa1-&#62;sa_len is less than or greater than
-     sa2-&#62;sa_len, respectively.
-
-     Next, the sa_family members are compared.  If they do not match,
-     net_addrcmp() returns -1 or 1 if sa1-&#62;sa_family is less than or greater
-     than sa2-&#62;sa_family, respectively.
-
-     Lastly, if each socket address structure's sa_len and sa_family fields
-     match, the protocol-specific data (the sa_data field) is compared.  If
-     there's a match, both sa1 and sa2 must refer to the same address, and 0
-     is returned; otherwise, a value &#62;0 or &lt;0 is returned.
-
-HISTORY
-     A net_addrcmp() function was added in OpenBSD 2.5.
-
-BSD                              July 3, 1999                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-link-addr.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ns.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->link_addr</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ns</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-ns.html b/doc/html/ref/net-common-tcpip-manpages-ns.html
deleted file mode 100644 (file)
index aae740f..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ns</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="net_addrcmp"
-HREF="net-common-tcpip-manpages-net-addrcmp.html"><LINK
-REL="NEXT"
-TITLE="resolver"
-HREF="net-common-tcpip-manpages-resolver.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-net-addrcmp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-resolver.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-NS">ns</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->NS(3)                   System Library Functions Manual                  NS(3)
-
-NAME
-     ns_addr, ns_ntoa - Xerox NS(tm) address conversion routines
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;netns/ns.h&#62;
-
-     struct ns_addr
-     ns_addr(char *cp);
-
-     char *
-     ns_ntoa(struct ns_addr ns);
-
-DESCRIPTION
-     The routine ns_addr() interprets character strings representing XNS
-     addresses, returning binary information suitable for use in system calls.
-     The routine ns_ntoa() takes XNS addresses and returns ASCII strings rep-
-     resenting the address in a notation in common use in the Xerox Develop-
-     ment Environment:
-
-           &lt;network number&#62;.&lt;host number&#62;.&lt;port number&#62;
-
-     Trailing zero fields are suppressed, and each number is printed in hex-
-     adecimal, in a format suitable for input to ns_addr().  Any fields lack-
-     ing super-decimal digits will have a trailing `H' appended.
-
-     Unfortunately, no universal standard exists for representing XNS
-     addresses.  An effort has been made to ensure that ns_addr() be compati-
-     ble with most formats in common use.  It will first separate an address
-     into 1 to 3 fields using a single delimiter chosen from period (`.'),
-     colon (`:'), or pound-sign `#'.  Each field is then examined for byte
-     separators (colon or period).  If there are byte separators, each sub-
-     field separated is taken to be a small hexadecimal number, and the
-     entirety is taken as a network-byte-ordered quantity to be zero extended
-     in the high-network-order bytes.  Next, the field is inspected for
-     hyphens, in which case the field is assumed to be a number in decimal
-     notation with hyphens separating the millenia.  Next, the field is
-     assumed to be a number: It is interpreted as hexadecimal if there is a
-     leading `0x' (as in C), a trailing `H' (as in Mesa), or there are any
-     super-decimal digits present.  It is interpreted as octal is there is a
-     leading `0' and there are no super-octal digits.  Otherwise, it is con-
-     verted as a decimal number.
-
-RETURN VALUES
-     None.  (See BUGS.)
-
-SEE ALSO
-     hosts(5), networks(5)
-
-HISTORY
-     The ns_addr() and ns_toa() functions appeared in 4.3BSD.
-
-BUGS
-     The string returned by ns_ntoa() resides in a static memory area.  The
-     function ns_addr() should diagnose improperly formed input, and there
-     should be an unambiguous way to recognize this.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-net-addrcmp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-resolver.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->net_addrcmp</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->resolver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-poll.html b/doc/html/ref/net-common-tcpip-manpages-poll.html
deleted file mode 100644 (file)
index af46a55..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->poll</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="ioctl"
-HREF="net-common-tcpip-manpages-ioctl.html"><LINK
-REL="NEXT"
-TITLE="select"
-HREF="net-common-tcpip-manpages-select.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ioctl.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-POLL">poll</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->POLL(2)                       System Calls Manual                      POLL(2)
-
-NAME
-     poll - synchronous I/O multiplexing
-
-SYNOPSIS
-     #include &lt;poll.h&#62;
-
-     int
-     poll(struct pollfd *fds, int nfds, int timeout);
-
-DESCRIPTION
-     poll() provides a mechanism for reporting I/O conditions across a set of
-     file descriptors.
-
-     The arguments are as follows:
-
-     fds      Points to an array of pollfd structures, which are defined as:
-
-                    struct pollfd {
-                            int fd;
-                            short events;
-                            short revents;
-                    };
-
-              The fd member is an open file descriptor.  The events and
-              revents members are bitmasks of conditions to monitor and condi-
-              tions found, respectively.
-
-     nfds     The number of pollfd structures in the array.
-
-     timeout  Maximum interval to wait for the poll to complete, in millisec-
-              onds.  If this value is 0, then poll() will return immediately.
-              If this value is INFTIM (-1), poll() will block indefinitely
-              until a condition is found.
-
-     The calling process sets the events bitmask and poll() sets the revents
-     bitmask.  Each call to poll() resets the revents bitmask for accuracy.
-     The condition flags in the bitmasks are defined as:
-
-     POLLIN      Data is available on the file descriptor for reading.
-
-     POLLNORM    Same as POLLIN.
-
-     POLLPRI     Same as POLLIN.
-
-     POLLOUT     Data can be written to the file descriptor without blocking.
-
-     POLLERR     This flag is not used in this implementation and is provided
-                 only for source code compatibility.
-
-     POLLHUP     The file descriptor was valid before the polling process and
-                 invalid after.  Presumably, this means that the file descrip-
-                 tor was closed sometime during the poll.
-
-     POLLNVAL    The corresponding file descriptor is invalid.
-
-     POLLRDNORM  Same as POLLIN.
-
-     POLLRDBAND  Same as POLLIN.
-
-     POLLWRNORM  Same as POLLOUT.
-
-     POLLWRBAND  Same as POLLOUT.
-
-     POLLMSG     This flag is not used in this implementation and is provided
-                 only for source code compatibility.
-
-     All flags except POLLIN, POLLOUT, and their synonyms are for use only in
-     the revents member of the pollfd structure.  An attempt to set any of
-     these flags in the events member will generate an error condition.
-
-     In addition to I/O multiplexing, poll() can be used to generate simple
-     timeouts.  This functionality may be achieved by passing a null pointer
-     for fds.
-
-WARNINGS
-     The POLLHUP flag is only a close approximation and may not always be
-     accurate.
-
-RETURN VALUES
-     Upon error, poll() returns a -1 and sets the global variable errno to
-     indicate the error.  If the timeout interval was reached before any
-     events occurred, a 0 is returned.  Otherwise, poll() returns the number
-     of file descriptors for which revents is non-zero.
-
-ERRORS
-     poll() will fail if:
-
-     [EINVAL]   nfds was either a negative number or greater than the number
-                of available file descriptors.
-
-     [EINVAL]   An invalid flags was set in the events member of the pollfd
-                structure.
-
-     [EINVAL]   The timeout passed to poll() was too large.
-
-     [EAGAIN]   Resource allocation failed inside of poll().  Subsequent calls
-                to poll() may succeed.
-
-     [EINTR]    poll() caught a signal during the polling process.
-
-SEE ALSO
-     poll(2), select(2), sysconf(3)
-
-HISTORY
-     A poll() system call appeared in AT&amp;T System V UNIX.
-
-BSD                            December 13, 1994                           BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ioctl.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ioctl</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->select</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-resolver.html b/doc/html/ref/net-common-tcpip-manpages-resolver.html
deleted file mode 100644 (file)
index 0407191..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->resolver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="ns"
-HREF="net-common-tcpip-manpages-ns.html"><LINK
-REL="NEXT"
-TITLE="accept"
-HREF="net-common-tcpip-manpages-accept.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-ns.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-accept.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-RESOLVER">resolver</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RESOLVER(3)             System Library Functions Manual            RESOLVER(3)
-
-NAME
-     res_query, res_search, res_mkquery, res_send, res_init, dn_comp,
-     dn_expand - resolver routines
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;netinet/in.h&#62;
-     #include &lt;arpa/nameser.h&#62;
-     #include &lt;resolv.h&#62;
-
-     int
-     res_query(char *dname, int class, int type, u_char *answer, int anslen);
-
-     int
-     res_search(char *dname, int class, int type, u_char *answer, int anslen);
-
-     int
-     res_mkquery(int op, char *dname, int class, int type, char *data,
-             int datalen, struct rrec *newrr, char *buf, int buflen);
-
-     int
-     res_send(char *msg, int msglen, char *answer, int anslen);
-
-     int
-     res_init(void);
-
-     int
-     dn_comp(char *exp_dn, char *comp_dn, int length, char **dnptrs,
-             char **lastdnptr);
-
-     int
-     dn_expand(u_char *msg, u_char *eomorig, u_char *comp_dn, u_char *exp_dn,
-             int length);
-
-DESCRIPTION
-     These routines are used for making, sending, and interpreting query and
-     reply messages with Internet domain name servers.
-
-     Global configuration and state information that is used by the resolver
-     routines is kept in the structure _res.  Most of the values have reason-
-     able defaults and can be ignored.  Options stored in _res.options are
-     defined in &lt;resolv.h&#62; and are as follows.  Options are stored as a simple
-     bit mask containing the bitwise OR of the options enabled.
-
-     RES_INIT       True if the initial name server address and default domain
-                    name are initialized (i.e., res_init() has been called).
-
-     RES_DEBUG      Print debugging messages.
-
-     RES_AAONLY     Accept authoritative answers only.  With this option,
-                    res_send() should continue until it finds an authoritative
-                    answer or finds an error.  Currently this is not imple-
-                    mented.
-
-     RES_USEVC      Use TCP connections for queries instead of UDP datagrams.
-
-     RES_STAYOPEN   Used with RES_USEVC to keep the TCP connection open
-                    between queries.  This is useful only in programs that
-                    regularly do many queries.  UDP should be the normal mode
-                    used.
-
-     RES_IGNTC      Unused currently (ignore truncation errors, i.e., don't
-                    retry with TCP).
-
-     RES_RECURSE    Set the recursion-desired bit in queries.  This is the
-                    default.  (res_send() does not do iterative queries and
-                    expects the name server to handle recursion.)
-
-     RES_DEFNAMES   If set, res_search() will append the default domain name
-                    to single-component names (those that do not contain a
-                    dot).  This option is enabled by default.
-
-     RES_DNSRCH     If this option is set, res_search() will search for host
-                    names in the current domain and in parent domains; see
-                    hostname(7).  This is used by the standard host lookup
-                    routine gethostbyname(3).  This option is enabled by
-                    default.
-
-     RES_USE_INET6  Enables support for IPv6-only applications.  This causes
-                    IPv4 addresses to be returned as an IPv4 mapped address.
-                    For example, 10.1.1.1 will be returned as ::ffff:10.1.1.1.
-                    The option is not meaningful on OpenBSD.
-
-     The res_init() routine reads the configuration file (if any; see
-     resolv.conf(5)) to get the default domain name, search list, and the
-     Internet address of the local name server(s).  If no server is config-
-     ured, the host running the resolver is tried.  The current domain name is
-     defined by the hostname if not specified in the configuration file; it
-     can be overridden by the environment variable LOCALDOMAIN.  This environ-
-     ment variable may contain several blank-separated tokens if you wish to
-     override the search list on a per-process basis.  This is similar to the
-     search command in the configuration file.  Another environment variable
-     RES_OPTIONS can be set to override certain internal resolver options
-     which are otherwise set by changing fields in the _res structure or are
-     inherited from the configuration file's options command.  The syntax of
-     the RES_OPTIONS environment variable is explained in resolv.conf(5).
-     Initialization normally occurs on the first call to one of the following
-     routines.
-
-     The res_query() function provides an interface to the server query mecha-
-     nism.  It constructs a query, sends it to the local server, awaits a
-     response, and makes preliminary checks on the reply.  The query requests
-     information of the specified type and class for the specified fully qual-
-     ified domain name dname.  The reply message is left in the answer buffer
-     with length anslen supplied by the caller.
-
-     The res_search() routine makes a query and awaits a response like
-     res_query(), but in addition, it implements the default and search rules
-     controlled by the RES_DEFNAMES and RES_DNSRCH options.  It returns the
-     first successful reply.
-
-     The remaining routines are lower-level routines used by res_query().  The
-     res_mkquery() function constructs a standard query message and places it
-     in buf.  It returns the size of the query, or -1 if the query is larger
-     than buflen.  The query type op is usually QUERY, but can be any of the
-     query types defined in &lt;arpa/nameser.h&#62;.  The domain name for the query
-     is given by dname.  newrr is currently unused but is intended for making
-     update messages.
-
-     The res_send() routine sends a pre-formatted query and returns an answer.
-     It will call res_init() if RES_INIT is not set, send the query to the
-     local name server, and handle timeouts and retries.  The length of the
-     reply message is returned, or -1 if there were errors.
-
-     The dn_comp() function compresses the domain name exp_dn and stores it in
-     comp_dn.  The size of the compressed name is returned or -1 if there were
-     errors.  The size of the array pointed to by comp_dn is given by length.
-     The compression uses an array of pointers dnptrs to previously compressed
-     names in the current message.  The first pointer points to the beginning
-     of the message and the list ends with NULL.  The limit to the array is
-     specified by lastdnptr.  A side effect of dn_comp() is to update the list
-     of pointers for labels inserted into the message as the name is com-
-     pressed.  If dnptr is NULL, names are not compressed.  If lastdnptr is
-     NULL, the list of labels is not updated.
-
-     The dn_expand() entry expands the compressed domain name comp_dn to a
-     full domain name The compressed name is contained in a query or reply
-     message; msg is a pointer to the beginning of the message.  The uncom-
-     pressed name is placed in the buffer indicated by exp_dn which is of size
-     length.  The size of compressed name is returned or -1 if there was an
-     error.
-
-FILES
-     /etc/resolv.conf configuration file see resolv.conf(5).
-
-SEE ALSO
-     gethostbyname(3), resolv.conf(5), hostname(7), named(8)
-
-     RFC1032, RFC1033, RFC1034, RFC1035, RFC1535, RFC974
-
-     Name Server Operations Guide for BIND.
-
-HISTORY
-     The res_query function appeared in 4.3BSD.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-ns.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-accept.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ns</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->accept</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-select.html b/doc/html/ref/net-common-tcpip-manpages-select.html
deleted file mode 100644 (file)
index fb1a700..0000000
+++ /dev/null
@@ -1,299 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->select</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="poll"
-HREF="net-common-tcpip-manpages-poll.html"><LINK
-REL="NEXT"
-TITLE="send"
-HREF="net-common-tcpip-manpages-send.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-poll.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-send.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-SELECT">select</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->SELECT(2)                     System Calls Manual                    SELECT(2)
-
-NAME
-     select - synchronous I/O multiplexing
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/time.h&#62;
-     #include &lt;unistd.h&#62;
-
-     int
-     select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds,
-             struct timeval *timeout);
-
-     FD_SET(fd, &amp;fdset);
-
-     FD_CLR(fd, &amp;fdset);
-
-     FD_ISSET(fd, &amp;fdset);
-
-     FD_ZERO(&amp;fdset);
-
-DESCRIPTION
-     select() examines the I/O descriptor sets whose addresses are passed in
-     readfds, writefds, and exceptfds to see if some of their descriptors are
-     ready for reading, are ready for writing, or have an exceptional condi-
-     tion pending, respectively.  The first nfds descriptors are checked in
-     each set; i.e., the descriptors from 0 through nfds-1 in the descriptor
-     sets are examined.  On return, select() replaces the given descriptor
-     sets with subsets consisting of those descriptors that are ready for the
-     requested operation.  select() returns the total number of ready descrip-
-     tors in all the sets.
-
-     The descriptor sets are stored as bit fields in arrays of integers.  The
-     following macros are provided for manipulating such descriptor sets:
-     FD_ZERO(&amp;fdset) initializes a descriptor set fdset to the null set.
-     FD_SET(fd, &amp;fdset) includes a particular descriptor fd in fdset.
-     FD_CLR(fd, &amp;fdset) removes fd from fdset.  FD_ISSET(fd, &amp;fdset) is non-
-     zero if fd is a member of fdset, zero otherwise.  The behavior of these
-     macros is undefined if a descriptor value is less than zero or greater
-     than or equal to FD_SETSIZE, which is normally at least equal to the max-
-     imum number of descriptors supported by the system.
-
-     If timeout is a non-null pointer, it specifies a maximum interval to wait
-     for the selection to complete.  If timeout is a null pointer, the select
-     blocks indefinitely.  To effect a poll, the timeout argument should be
-     non-null, pointing to a zero-valued timeval structure.  timeout is not
-     changed by select(), and may be reused on subsequent calls; however, it
-     is good style to re-initialize it before each invocation of select().
-
-     Any of readfds, writefds, and exceptfds may be given as null pointers if
-     no descriptors are of interest.
-
-RETURN VALUES
-     select() returns the number of ready descriptors that are contained in
-     the descriptor sets, or -1 is an error occurred.  If the time limit
-     expires, select() returns 0.  If select() returns with an error, includ-
-     ing one due to an interrupted call, the descriptor sets will be unmodi-
-     fied.
-
-ERRORS
-     An error return from select() indicates:
-
-     [EFAULT]           One or more of readfds, writefds, or exceptfds points
-                        outside the process's allocated address space.
-
-     [EBADF]            One of the descriptor sets specified an invalid
-                        descriptor.
-
-     [EINTR]            A signal was delivered before the time limit expired
-                        and before any of the selected events occurred.
-
-     [EINVAL]           The specified time limit is invalid.  One of its com-
-                        ponents is negative or too large.
-
-SEE ALSO
-     accept(2), connect(2), gettimeofday(2), poll(2), read(2), recv(2),
-     send(2), write(2), getdtablesize(3)
-
-BUGS
-     Although the provision of getdtablesize(3) was intended to allow user
-     programs to be written independent of the kernel limit on the number of
-     open files, the dimension of a sufficiently large bit field for select
-     remains a problem.  The default bit size of fd_set is based on the symbol
-     FD_SETSIZE (currently 256), but that is somewhat smaller than the current
-     kernel limit to the number of open files.  However, in order to accommo-
-     date programs which might potentially use a larger number of open files
-     with select, it is possible to increase this size within a program by
-     providing a larger definition of FD_SETSIZE before the inclusion of
-     &lt;sys/types.h&#62;.  The kernel will cope, and the userland libraries provided
-     with the system are also ready for large numbers of file descriptors.
-
-     Alternatively, to be really safe, it is possible to allocate fd_set bit-
-     arrays dynamically.  The idea is to permit a program to work properly
-     even if it is execve(2)'d with 4000 file descriptors pre-allocated.  The
-     following illustrates the technique which is used by userland libraries:
-
-                   fd_set *fdsr;
-                   int max = fd;
-
-                   fdsr = (fd_set *)calloc(howmany(max+1, NFDBITS),
-                       sizeof(fd_mask));
-                   if (fdsr == NULL) {
-                           ...
-                           return (-1);
-                   }
-                   FD_SET(fd, fdsr);
-                   n = select(max+1, fdsr, NULL, NULL, &amp;tv);
-                   ...
-                   free(fdsr);
-
-     Alternatively, it is possible to use the poll(2) interface.  poll(2) is
-     more efficient when the size of select()'s fd_set bit-arrays are very
-     large, and for fixed numbers of file descriptors one need not size and
-     dynamically allocate a memory object.
-
-     select() should probably have been designed to return the time remaining
-     from the original timeout, if any, by modifying the time value in place.
-     Even though some systems stupidly act in this different way, it is
-     unlikely this semantic will ever be commonly implemented, as the change
-     causes massive source code compatibility problems.  Furthermore, recent
-     new standards have dictated the current behaviour.  In general, due to
-     the existence of those brain-damaged non-conforming systems, it is unwise
-     to assume that the timeout value will be unmodified by the select() call,
-     and the caller should reinitialize it on each invocation.  Calculating
-     the delta is easily done by calling gettimeofday(2) before and after the
-     call to select(), and using timersub() (as described in getitimer(2)).
-
-     Internally to the kernel, select() works poorly if multiple processes
-     wait on the same file descriptor.  Given that, it is rather surprising to
-     see that many daemons are written that way (i.e., httpd(8)).
-
-HISTORY
-     The select() function call appeared in 4.2BSD.
-
-BSD                             March 25, 1994                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-poll.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-send.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->poll</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->send</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-send.html b/doc/html/ref/net-common-tcpip-manpages-send.html
deleted file mode 100644 (file)
index 70a4c72..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->send</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="select"
-HREF="net-common-tcpip-manpages-select.html"><LINK
-REL="NEXT"
-TITLE="shutdown"
-HREF="net-common-tcpip-manpages-shutdown.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-shutdown.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-SEND">send</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->SEND(2)                       System Calls Manual                      SEND(2)
-
-NAME
-     send, sendto, sendmsg - send a message from a socket
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     ssize_t
-     send(int s, const void *msg, size_t len, int flags);
-
-     ssize_t
-     sendto(int s, const void *msg, size_t len, int flags,
-             const struct sockaddr *to, socklen_t tolen);
-
-     ssize_t
-     sendmsg(int s, const struct msghdr *msg, int flags);
-
-DESCRIPTION
-     send(), sendto(), and sendmsg() are used to transmit a message to another
-     socket.  send() may be used only when the socket is in a connected state,
-     while sendto() and sendmsg() may be used at any time.
-
-     The address of the target is given by to with tolen specifying its size.
-     The length of the message is given by len.  If the message is too long to
-     pass atomically through the underlying protocol, the error EMSGSIZE is
-     returned, and the message is not transmitted.
-
-     No indication of failure to deliver is implicit in a send().  Locally
-     detected errors are indicated by a return value of -1.
-
-     If no messages space is available at the socket to hold the message to be
-     transmitted, then send() normally blocks, unless the socket has been
-     placed in non-blocking I/O mode.  The select(2) or poll(2) system calls
-     may be used to determine when it is possible to send more data.
-
-     The flags parameter may include one or more of the following:
-
-     #define MSG_OOB        0x1  /* process out-of-band data */
-     #define MSG_DONTROUTE  0x4  /* bypass routing, use direct interface */
-
-     The flag MSG_OOB is used to send ``out-of-band'' data on sockets that
-     support this notion (e.g., SOCK_STREAM); the underlying protocol must
-     also support ``out-of-band'' data.  MSG_DONTROUTE is usually used only by
-     diagnostic or routing programs.
-
-     See recv(2) for a description of the msghdr structure.
-
-RETURN VALUES
-     The call returns the number of characters sent, or -1 if an error
-     occurred.
-
-ERRORS
-     send(), sendto(), and sendmsg() fail if:
-
-     [EBADF]            An invalid descriptor was specified.
-
-     [ENOTSOCK]         The argument s is not a socket.
-
-     [EFAULT]           An invalid user space address was specified for a
-                        parameter.
-
-     [EMSGSIZE]         The socket requires that message be sent atomically,
-                        and the size of the message to be sent made this
-                        impossible.
-
-     [EAGAIN]           The socket is marked non-blocking and the requested
-                        operation would block.
-
-     [ENOBUFS]          The system was unable to allocate an internal buffer.
-                        The operation may succeed when buffers become avail-
-                        able.
-
-     [ENOBUFS]          The output queue for a network interface was full.
-                        This generally indicates that the interface has
-                        stopped sending, but may be caused by transient con-
-                        gestion.
-
-     [EACCES]           The SO_BROADCAST option is not set on the socket, and
-                        a broadcast address was given as the destination.
-
-     [EHOSTUNREACH]     The destination address specified an unreachable host.
-
-     [EINVAL]           The flags parameter is invalid.
-
-     [EHOSTDOWN]        The destination address specified a host that is down.
-
-     [ENETDOWN]         The destination address specified a network that is
-                        down.
-
-     [ECONNREFUSED]     The destination host rejected the message (or a previ-
-                        ous one).  This error can only be returned by con-
-                        nected sockets.
-
-     [ENOPROTOOPT]      There was a problem sending the message.  This error
-                        can only be returned by connected sockets.
-
-     [EDESTADDRREQ]     The socket is not connected, and no destination
-                        address was specified.
-
-     [EISCONN]          The socket is already connected, and a destination
-                        address was specified.
-
-     In addition, send() and sendto() may return the following error:
-
-     [EINVAL]           len was larger than SSIZE_MAX.
-
-     Also, sendmsg() may return the following errors:
-
-     [EINVAL]           The sum of the iov_len values in the msg_iov array
-                        overflowed an ssize_t.
-
-     [EMSGSIZE]         The msg_iovlen member of msg was less than 0 or larger
-                        than IOV_MAX.
-
-     [EAFNOSUPPORT]     Addresses in the specified address family cannot be
-                        used with this socket.
-
-SEE ALSO
-     fcntl(2), getsockopt(2), poll(2), recv(2), select(2), poll(2), socket(2),
-     write(2)
-
-HISTORY
-     The send() function call appeared in 4.2BSD.
-
-BSD                              July 28, 1998                             BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-shutdown.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->select</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->shutdown</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-shutdown.html b/doc/html/ref/net-common-tcpip-manpages-shutdown.html
deleted file mode 100644 (file)
index 636a9d3..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->shutdown</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="send"
-HREF="net-common-tcpip-manpages-send.html"><LINK
-REL="NEXT"
-TITLE="socket"
-HREF="net-common-tcpip-manpages-socket.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-send.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-socket.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-SHUTDOWN">shutdown</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->SHUTDOWN(2)                   System Calls Manual                  SHUTDOWN(2)
-
-NAME
-     shutdown - shut down part of a full-duplex connection
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     shutdown(int s, int how);
-
-DESCRIPTION
-     The shutdown() call causes all or part of a full-duplex connection on the
-     socket associated with s to be shut down.  If how is SHUT_RD, further
-     receives will be disallowed.  If how is SHUT_WR, further sends will be
-     disallowed.  If how is SHUT_RDWR, further sends and receives will be dis-
-     allowed.
-
-RETURN VALUES
-     A 0 is returned if the call succeeds, -1 if it fails.
-
-ERRORS
-     The call succeeds unless:
-
-     [EINVAL]           how is not SHUT_RD, SHUT_WR, or SHUT_RDWR.
-
-     [EBADF]            s is not a valid descriptor.
-
-     [ENOTSOCK]         s is a file, not a socket.
-
-     [ENOTCONN]         The specified socket is not connected.
-
-SEE ALSO
-     connect(2), socket(2)
-
-HISTORY
-     The shutdown() function call appeared in 4.2BSD.  The how arguments used
-     to be simply 0, 1, and 2, but now have named values as specified by
-     X/Open Portability Guide Issue 4 (``XPG4'').
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-send.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-socket.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->send</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->socket</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-socket.html b/doc/html/ref/net-common-tcpip-manpages-socket.html
deleted file mode 100644 (file)
index 9e98619..0000000
+++ /dev/null
@@ -1,297 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->socket</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="shutdown"
-HREF="net-common-tcpip-manpages-shutdown.html"><LINK
-REL="NEXT"
-TITLE="socketpair"
-HREF="net-common-tcpip-manpages-socketpair.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-shutdown.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-socketpair.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-SOCKET">socket</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->SOCKET(2)                     System Calls Manual                    SOCKET(2)
-
-NAME
-     socket - create an endpoint for communication
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     socket(int domain, int type, int protocol);
-
-DESCRIPTION
-     socket() creates an endpoint for communication and returns a descriptor.
-
-     The domain parameter specifies a communications domain within which com-
-     munication will take place; this selects the protocol family which should
-     be used.  These families are defined in the include file &lt;sys/socket.h&#62;.
-     The currently understood formats are
-
-           AF_UNIX         (UNIX internal protocols),
-           AF_INET         (ARPA Internet protocols),
-           AF_INET6        (ARPA IPv6 protocols),
-           AF_ISO          (ISO protocols),
-           AF_NS           (Xerox Network Systems protocols),
-           AF_IPX          (Internetwork Packet Exchange), and
-           AF_IMPLINK      (IMP host at IMP link layer).
-
-     The socket has the indicated type, which specifies the semantics of com-
-     munication.  Currently defined types are:
-
-           SOCK_STREAM
-           SOCK_DGRAM
-           SOCK_RAW
-           SOCK_SEQPACKET
-           SOCK_RDM
-
-     A SOCK_STREAM type provides sequenced, reliable, two-way connection based
-     byte streams.  An out-of-band data transmission mechanism may be sup-
-     ported.  A SOCK_DGRAM socket supports datagrams (connectionless, unreli-
-     able messages of a fixed (typically small) maximum length).  A
-     SOCK_SEQPACKET socket may provide a sequenced, reliable, two-way connec-
-     tion-based data transmission path for datagrams of fixed maximum length;
-     a consumer may be required to read an entire packet with each read system
-     call.  This facility is protocol specific, and presently implemented only
-     for PF_NS.  SOCK_RAW sockets provide access to internal network protocols
-     and interfaces.  The types SOCK_RAW, which is available only to the supe-
-     ruser, and SOCK_RDM, which is planned, but not yet implemented, are not
-     described here.
-
-     The protocol specifies a particular protocol to be used with the socket.
-     Normally only a single protocol exists to support a particular socket
-     type within a given protocol family.  However, it is possible that many
-     protocols may exist, in which case a particular protocol must be speci-
-     fied in this manner.  The protocol number to use is particular to the
-     communication domain in which communication is to take place; see
-     protocols(5).  A value of 0 for protocol will let the system select an
-     appropriate protocol for the requested socket type.
-
-     Sockets of type SOCK_STREAM are full-duplex byte streams, similar to
-     pipes.  A stream socket must be in a connected state before any data may
-     be sent or received on it.  A connection to another socket is created
-     with a connect(2) call.  Once connected, data may be transferred using
-     read(2) and write(2) calls or some variant of the send(2) and recv(2)
-     calls.  When a session has been completed a close(2) may be performed.
-     Out-of-band data may also be transmitted as described in send(2) and
-     received as described in recv(2).
-
-     The communications protocols used to implement a SOCK_STREAM ensure that
-     data is not lost or duplicated.  If a piece of data for which the peer
-     protocol has buffer space cannot be successfully transmitted within a
-     reasonable length of time, then the connection is considered broken and
-     calls will indicate an error with -1 returns and with ETIMEDOUT as the
-     specific code in the global variable errno.  The protocols optionally
-     keep sockets ``warm'' by forcing transmissions roughly every minute in
-     the absence of other activity.  An error is then indicated if no response
-     can be elicited on an otherwise idle connection for a extended period
-     (e.g., 5 minutes).  A SIGPIPE signal is raised if a process sends on a
-     broken stream; this causes naive processes, which do not handle the sig-
-     nal, to exit.
-
-     SOCK_SEQPACKET sockets employ the same system calls as SOCK_STREAM sock-
-     ets.  The only difference is that read(2) calls will return only the
-     amount of data requested, and any remaining in the arriving packet will
-     be discarded.
-
-     SOCK_DGRAM and SOCK_RAW sockets allow sending of datagrams to correspon-
-     dents named in send(2) calls.  Datagrams are generally received with
-     recvfrom(2), which returns the next datagram with its return address.
-
-     An fcntl(2) call can be used to specify a process group to receive a
-     SIGURG signal when the out-of-band data arrives.  It may also enable non-
-     blocking I/O and asynchronous notification of I/O events via SIGIO.
-
-     The operation of sockets is controlled by socket level options.  These
-     options are defined in the file &lt;sys/socket.h&#62;.  setsockopt(2) and
-     getsockopt(2) are used to set and get options, respectively.
-
-RETURN VALUES
-     A -1 is returned if an error occurs, otherwise the return value is a
-     descriptor referencing the socket.
-
-ERRORS
-     The socket() call fails if:
-
-     [EPROTONOSUPPORT]  The protocol type or the specified protocol is not
-                        supported within this domain.
-
-     [EMFILE]           The per-process descriptor table is full.
-
-     [ENFILE]           The system file table is full.
-
-     [EACCES]           Permission to create a socket of the specified type
-                        and/or protocol is denied.
-
-     [ENOBUFS]          Insufficient buffer space is available.  The socket
-                        cannot be created until sufficient resources are
-                        freed.
-
-SEE ALSO
-     accept(2), bind(2), connect(2), getsockname(2), getsockopt(2), ioctl(2),
-     listen(2), poll(2), read(2), recv(2), select(2), send(2), setsockopt(2),
-     shutdown(2), socketpair(2), write(2), getprotoent(3), netintro(4)
-
-     An Introductory 4.3 BSD Interprocess Communication Tutorial, reprinted in
-     UNIX Programmer's Supplementary Documents Volume 1.
-
-     BSD Interprocess Communication Tutorial, reprinted in UNIX Programmer's
-     Supplementary Documents Volume 1.
-
-HISTORY
-     The socket() function call appeared in 4.2BSD.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-shutdown.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-socketpair.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->shutdown</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->socketpair</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip-manpages-socketpair.html b/doc/html/ref/net-common-tcpip-manpages-socketpair.html
deleted file mode 100644 (file)
index db4ec1c..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->socketpair</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Library Reference"
-HREF="tcpip-library-reference.html"><LINK
-REL="PREVIOUS"
-TITLE="socket"
-HREF="net-common-tcpip-manpages-socket.html"><LINK
-REL="NEXT"
-TITLE="FreeBSD TCP/IP Stack port for eCos"
-HREF="tcpip-freebsd.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-socket.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 38. TCP/IP Library Reference</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-SOCKETPAIR">socketpair</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->SOCKETPAIR(2)                 System Calls Manual                SOCKETPAIR(2)
-
-NAME
-     socketpair - create a pair of connected sockets
-
-SYNOPSIS
-     #include &lt;sys/types.h&#62;
-     #include &lt;sys/socket.h&#62;
-
-     int
-     socketpair(int d, int type, int protocol, int *sv);
-
-DESCRIPTION
-     The socketpair() call creates an unnamed pair of connected sockets in the
-     specified domain d, of the specified type, and using the optionally spec-
-     ified protocol.  The descriptors used in referencing the new sockets are
-     returned in sv[0] and sv[1].  The two sockets are indistinguishable.
-
-RETURN VALUES
-     A 0 is returned if the call succeeds, -1 if it fails.
-
-ERRORS
-     The call succeeds unless:
-
-     [EMFILE]           Too many descriptors are in use by this process.
-
-     [EAFNOSUPPORT]     The specified address family is not supported on this
-                        machine.
-
-     [EPROTONOSUPPORT]  The specified protocol is not supported on this
-                        machine.
-
-     [EOPNOTSUPP]       The specified protocol does not support creation of
-                        socket pairs.
-
-     [EFAULT]           The address sv does not specify a valid part of the
-                        process address space.
-
-     [ENFILE]           The system file table is full.
-
-SEE ALSO
-     pipe(2), read(2), write(2)
-
-BUGS
-     This call is currently implemented only for the LOCAL domain.  Many oper-
-     ating systems only accept a protocol of PF_UNSPEC, so that should be used
-     instead of PF_LOCAL for maximal portability.
-
-STANDARDS
-     The socketpair() function conforms to X/Open Portability Guide Issue 4.2
-     (``XPG4.2'').
-
-HISTORY
-     The socketpair() function call appeared in 4.2BSD.
-
-BSD                              June 4, 1993                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-socket.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->socket</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-library-reference.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->FreeBSD TCP/IP Stack port for eCos</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tcpip.html b/doc/html/ref/net-common-tcpip.html
deleted file mode 100644 (file)
index 7ff3005..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->TCP/IP Stack Support for eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="µITRON Configuration FAQ"
-HREF="compat-uitron-configuration-faq.html"><LINK
-REL="NEXT"
-TITLE="Ethernet Driver Design"
-HREF="net-common-ethernet-driver-design.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compat-uitron-configuration-faq.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-ethernet-driver-design.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="NET-COMMON-TCPIP"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->X. TCP/IP Stack Support for eCos</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN14161"><P
->The Common Networking for <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> package
-provides support for a complete TCP/IP networking stack.
-The design allows for the actual stack to be modular and at the
-current time two different implementations, one based on OpenBSD
-from 2000 and a new version based on FreeBSD, are available.
-The particulars of each stack implementation are presented in
-separate sections following this top-level discussion.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->33. <A
-HREF="net-common-ethernet-driver-design.html"
->Ethernet Driver Design</A
-></DT
-><DT
->34. <A
-HREF="net-common-sample-code.html"
->Sample Code</A
-></DT
-><DT
->35. <A
-HREF="net-common-configuring-ip-addresses.html"
->Configuring IP Addresses</A
-></DT
-><DT
->36. <A
-HREF="net-common-tests-and-demonstrations.html"
->Tests and Demonstrations</A
-></DT
-><DT
->37. <A
-HREF="net-common-support.html"
->Support Features</A
-></DT
-><DT
->38. <A
-HREF="tcpip-library-reference.html"
->TCP/IP Library Reference</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compat-uitron-configuration-faq.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-ethernet-driver-design.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&micro;ITRON Configuration FAQ</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Ethernet Driver Design</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-common-tests-and-demonstrations.html b/doc/html/ref/net-common-tests-and-demonstrations.html
deleted file mode 100644 (file)
index 540b0bb..0000000
+++ /dev/null
@@ -1,248 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Tests and Demonstrations</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuring IP Addresses"
-HREF="net-common-configuring-ip-addresses.html"><LINK
-REL="NEXT"
-TITLE="Building the Network Tests"
-HREF="net-common-building-the-network-tests.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-configuring-ip-addresses.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-building-the-network-tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-COMMON-TESTS-AND-DEMONSTRATIONS">Chapter 36. Tests and Demonstrations</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="net-common-tests-and-demonstrations.html#NET-COMMON-LOOPBACK-TESTS"
->Loopback tests</A
-></DT
-><DT
-><A
-HREF="net-common-building-the-network-tests.html"
->Building the Network Tests</A
-></DT
-><DT
-><A
-HREF="net-common-standalone-tests.html"
->Standalone Tests</A
-></DT
-><DT
-><A
-HREF="net-common-performance-test.html"
->Performance Test</A
-></DT
-><DT
-><A
-HREF="net-common-interactive-tests.html"
->Interactive Tests</A
-></DT
-><DT
-><A
-HREF="net-common-maintenance-tools.html"
->Maintenance Tools</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-LOOPBACK-TESTS">Loopback tests</H1
-><P
->By default, only tests which can execute on any target
-         will be built. These therefore do not actually use external
-         network interfaces (though they may configure and initialize
-         them) but are limited to testing via the loopback
-         interface.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ping_lo_test</I
-></SPAN
-> - ping test of the loopback address 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tcp_lo_select</I
-></SPAN
-> - simple test of select with TCP via loopback 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tcp_lo_test</I
-></SPAN
-> - trivial TCP test via loopback 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->udp_lo_test</I
-></SPAN
-> - trivial UDP test via loopback 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->multi_lo_select</I
-></SPAN
-> - test of multiple select() calls simultaneously</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-configuring-ip-addresses.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-building-the-network-tests.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuring IP Addresses</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building the Network Tests</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-ftpclient-features.html b/doc/html/ref/net-ftpclient-features.html
deleted file mode 100644 (file)
index 6dd060b..0000000
+++ /dev/null
@@ -1,310 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->FTP Client Features</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="FTP Client for eCos TCP/IP Stack"
-HREF="net-ftpclient.html"><LINK
-REL="PREVIOUS"
-TITLE="FTP Client for eCos TCP/IP Stack"
-HREF="net-ftpclient.html"><LINK
-REL="NEXT"
-TITLE="CRC Algorithms"
-HREF="services-crc.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-ftpclient.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="services-crc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-FTPCLIENT-FEATURES">Chapter 49. FTP Client Features</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-FTPCLIENT-FEATURES-API">FTP Client API</H1
-><P
->This package implements an FTP client.  The API is in include file
-<TT
-CLASS="FILENAME"
->install/include/ftpclient.h</TT
-> and it can be used thus:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;network.h&gt;
-#include &lt;ftpclient.h&gt;</PRE
-></TD
-></TR
-></TABLE
->
-It looks like this:</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="NET-FTPCLIENT-FEATURES-API-GET">ftp_get</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int ftp_get(char &#0042; hostname, 
-            char &#0042; username, 
-            char &#0042; passwd, 
-            char &#0042; filename, 
-            char &#0042; buf, 
-            unsigned buf_size,
-            ftp_printf_t ftp_printf);</PRE
-></TD
-></TR
-></TABLE
-><P
->Use the FTP protocol to retrieve a file from a server. Only binary
-mode is supported. The filename can include a directory name. Only
-use unix style &#8216;/&#8217; file separators,
-not &#8216;\&#8217;.
-The file is placed into <TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
->.
-<TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
-> has maximum size <TT
-CLASS="PARAMETER"
-><I
->buf_size</I
-></TT
->.
-If the file is bigger than this, the
-transfer fails and <SPAN
-CLASS="ERRORCODE"
->FTP_TOOBIG</SPAN
-> is returned.
-Other error codes listed in the header can also be returned.
-If the transfer is successful the number of bytes received is returned.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="NET-FTPCLIENT-FEATURES-API-PUT">ftp_put</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int ftp_put(char &#0042; hostname, 
-            char &#0042; username, 
-            char &#0042; passwd, 
-            char &#0042; filename, 
-            char &#0042; buf, 
-            unsigned buf_size,
-            ftp_printf_t ftp_printf);</PRE
-></TD
-></TR
-></TABLE
-><P
->Use the FTP protocol to send a file to a server.
-Only binary
-mode is supported. The filename can include a directory name. Only
-use unix style &#8216;/&#8217; file separators,
-not &#8216;\&#8217;.
-The contents of <TT
-CLASS="PARAMETER"
-><I
->buf</I
-></TT
-> are placed into the file on the
-server. If an error occurs one of the codes listed will be returned. If the
-transfer is successful zero is returned.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="NET-FTPCLIENT-FEATURES-API-PRINTF">ftpclient_printf</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void ftpclient_printf(unsigned error, const char *fmt, ...);</PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="FUNCTION"
->ftp_get()</TT
-> and <TT
-CLASS="FUNCTION"
->ftp_put</TT
->
-take a pointer to a function to use for printing
-out diagnostic and error messages. This is a sample implementation
-which can be used if you don't want to implement the function
-yourself.
-<TT
-CLASS="PARAMETER"
-><I
->error</I
-></TT
-> will be true when the message to print is an
-error message. Otherwise the message is diagnostic, eg. the commands sent
-and received from the server.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-ftpclient.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="services-crc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->FTP Client for eCos TCP/IP Stack</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-ftpclient.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CRC Algorithms</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-ftpclient.html b/doc/html/ref/net-ftpclient.html
deleted file mode 100644 (file)
index 3c09299..0000000
+++ /dev/null
@@ -1,168 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->FTP Client for eCos TCP/IP Stack</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="System Monitor"
-HREF="net-httpd-monitor.html"><LINK
-REL="NEXT"
-TITLE="FTP Client Features"
-HREF="net-ftpclient-features.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-httpd-monitor.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-ftpclient-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="NET-FTPCLIENT"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XVII. FTP Client for eCos TCP/IP Stack</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN15409"><P
->The ftpclient package provides an FTP (File Transfer Protocol) client
-for use with the TCP/IP stack in eCos.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->49. <A
-HREF="net-ftpclient-features.html"
->FTP Client Features</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-httpd-monitor.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-ftpclient-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->System Monitor</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->FTP Client Features</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-httpd-chapter.html b/doc/html/ref/net-httpd-chapter.html
deleted file mode 100644 (file)
index e2ebcfe..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Embedded HTTP Server</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd.html"><LINK
-REL="PREVIOUS"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd.html"><LINK
-REL="NEXT"
-TITLE="Server Organization"
-HREF="net-httpd-organization.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-httpd.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-httpd-organization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-HTTPD-CHAPTER">Chapter 48. Embedded HTTP Server</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="net-httpd-chapter.html#NET-HTTPD-INTRO"
->Intrduction</A
-></DT
-><DT
-><A
-HREF="net-httpd-organization.html"
->Server Organization</A
-></DT
-><DT
-><A
-HREF="net-httpd-configuration.html"
->Server Configuration</A
-></DT
-><DT
-><A
-HREF="net-httpd-html.html"
->Support Functions and Macros</A
-></DT
-><DT
-><A
-HREF="net-httpd-monitor.html"
->System Monitor</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-HTTPD-INTRO">Intrduction</H1
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> HTTPD package provides a simple HTTP
-server for use with applications in eCos. This server is specifically
-aimed at the remote control and monitoring requirements of embedded
-applications. For this reason the emphasis is on dynamically generated
-content, simple forms handling and a basic CGI interface. It is
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> intended to be a general purpose server for
-delivering arbitrary web content. For these purposes a port of the
-GoAhead web server is available from <A
-HREF="www.goahead.com"
-TARGET="_top"
->www.goahead.com</A
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-httpd.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-httpd-organization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Embedded HTTP Server</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-httpd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Server Organization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-httpd-configuration.html b/doc/html/ref/net-httpd-configuration.html
deleted file mode 100644 (file)
index 554d3e3..0000000
+++ /dev/null
@@ -1,265 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Server Configuration</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd-chapter.html"><LINK
-REL="PREVIOUS"
-TITLE="Server Organization"
-HREF="net-httpd-organization.html"><LINK
-REL="NEXT"
-TITLE="Support Functions and Macros"
-HREF="net-httpd-html.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-httpd-organization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 48. Embedded HTTP Server</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-httpd-html.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-HTTPD-CONFIGURATION">Server Configuration</H1
-><P
->The HTTP server has a number of configuration options:</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15263"><TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_SERVER_PORT</TT
-></H2
-><P
->This option defines the TCP port that the server will listen on. It
-defaults to the standard HTTP port number 80. It may be changed to a
-different number if, for example, another HTTP server is using the
-main HTTP port.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15267"><TT
-CLASS="LITERAL"
->CYGDAT_HTTPD_SERVER_ID</TT
-></H2
-><P
->This is the string that is reported to the client in the
-&quot;Server:&quot; field of the HTTP header. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15271"><TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_THREAD_COUNT</TT
-></H2
-><P
->The HTTP server can be configured to use more than one thread to
-service HTTP requests. If you expect to serve complex pages with many
-images or other components that are fetched separately, or if any
-pages may take a long time to send, then it may be useful to increase
-the number of server threads. For most uses, however, the connection
-queuing in the TCP/IP stack and the speed with which each page is
-generated, means that a single thread is usually adequate.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15275"><TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_THREAD_PRIORITY</TT
-></H2
-><P
->The HTTP server threads can be run at any priority. The exact priority
-depends on the importance of the server relative to the rest of the
-system. The default is to put them in the middle of the priority range
-to provide reasonable response without impacting genuine high priority
-threads.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15279"><TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_THREAD_STACK_SIZE</TT
-></H2
-><P
->This is the amount of stack to be allocated for each of the HTTPD
-threads. The actual stack size allocated will be this value plus the
-values of <TT
-CLASS="LITERAL"
->CYGNUM_HAL_STACK_SIZE_MINIMUM</TT
-> and
-<TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_SERVER_BUFFER_SIZE</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15285"><TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_SERVER_BUFFER_SIZE</TT
-></H2
-><P
->This defines the size of the buffer used to receive the first line of
-each HTTP request. If you expect to use particularly long URLs or have
-very complex forms, this should be increased.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15289"><TT
-CLASS="LITERAL"
->CYGNUM_HTTPD_SERVER_DELAY</TT
-></H2
-><P
->This defines the number of system clock ticks that the HTTP server
-will wait before initializing itself and spawning any extra server
-threads. This is to give the application a chance to initialize
-properly without any interference from the HTTPD.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-httpd-organization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-httpd-html.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Server Organization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Support Functions and Macros</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-httpd-html.html b/doc/html/ref/net-httpd-html.html
deleted file mode 100644 (file)
index 336a60f..0000000
+++ /dev/null
@@ -1,716 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Support Functions and Macros</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd-chapter.html"><LINK
-REL="PREVIOUS"
-TITLE="Server Configuration"
-HREF="net-httpd-configuration.html"><LINK
-REL="NEXT"
-TITLE="System Monitor"
-HREF="net-httpd-monitor.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-httpd-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 48. Embedded HTTP Server</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-httpd-monitor.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-HTTPD-HTML">Support Functions and Macros</H1
-><P
->The emphasis of this server is on dynamically generated content,
-rather than fetching it from a filesystem. To do this the handler
-functions make calls to <TT
-CLASS="FUNCTION"
->fprintf()</TT
-> and
-<TT
-CLASS="FUNCTION"
->fputs()</TT
->. Such handler functions would end up a
-mass of print calls, with the actual structure of the HTML page hidden
-in the format strings and arguments, making maintenance and debugging
-very difficult. Such an approach would also result in the definition
-of many, often only slightly different, format strings, leading to
-unnecessary bloat.</P
-><P
->In an effort to expose the structure of the HTML in the structure of
-the C code, and to maximize the sharing of string constants, the
-<TT
-CLASS="FILENAME"
->cyg/httpd/httpd.h</TT
-> header file defines a set of
-helper functions and macros. Most of these are wrappers for predefined
-print calls on the <TT
-CLASS="PARAMETER"
-><I
->client</I
-></TT
-> stream passed to the
-hander function. For examples of their use, see the System Monitor
-example.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->All arguments to macros are pointers to strings, unless otherwise
-stated. In general, wherever a function or macro has an
-<TT
-CLASS="PARAMETER"
-><I
->attr</I
-></TT
-> or <TT
-CLASS="PARAMETER"
-><I
->__attr</I
-></TT
->
-parameter, then the contents of this string will be inserted into the
-tag being defined as HTML attributes. If it is a NULL or empty string
-it will be ignored.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15305">HTTP Support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_http_start( FILE *client, char *content_type, int content_length );
-void cyg_http_finish( FILE *client );
-#define html_begin(__client)
-#define html_end( __client )</PRE
-></TD
-></TR
-></TABLE
-><P
->The function <TT
-CLASS="FUNCTION"
->cyg_http_start()</TT
-> generates a simple
-HTTP response header containing the value of
-<TT
-CLASS="LITERAL"
->CYGDAT_HTTPD_SERVER_ID</TT
-> in the &quot;Server&quot; field, and the
-values of <TT
-CLASS="PARAMETER"
-><I
->content_type</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->content_length</I
-></TT
-> in the &quot;Content-type&quot;
-and &quot;Content-length&quot; field respectively. The function
-<TT
-CLASS="FUNCTION"
->cyg_http_finish()</TT
-> just adds an extra newline to
-the end of the output and then flushes it to force the data out to the
-client.</P
-><P
->The macro <TT
-CLASS="LITERAL"
->html_begin()</TT
-> generates an HTTP header
-with a &quot;text/html&quot; content type followed by an opening
-&quot;&lt;html&gt;&quot; tag. <TT
-CLASS="LITERAL"
->html_end()</TT
-> generates
-a closing &quot;&lt;/html&gt;&quot; tag and calls
-<TT
-CLASS="FUNCTION"
->cyg_http_finish()</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15318">General HTML Support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_html_tag_begin( FILE *client, char *tag, char *attr );
-void cyg_html_tag_end( FILE *client, char *tag );
-#define html_tag_begin( __client, __tag, __attr )
-#define html_tag_end( __client, __tag )
-#define html_head( __client, __title, __meta )
-#define html_body_begin( __client, __attr )
-#define html_body_end( __client )
-#define html_heading( __client, __level, __heading )
-#define html_para_begin( __client, __attr )
-#define html_url( __client, __text, __link )
-#define html_image( __client, __source, __alt, __attr )</PRE
-></TD
-></TR
-></TABLE
-><P
->The function <TT
-CLASS="FUNCTION"
->cyg_html_tag_begin()</TT
-> generates an
-opening tag with the given name. The function
-<TT
-CLASS="FUNCTION"
->cyg_html_tag_end()</TT
-> generates a closing tag with
-the given name. The macros <TT
-CLASS="LITERAL"
->html_tag_begin()</TT
-> and
-<TT
-CLASS="LITERAL"
->html_tag_end</TT
-> are just wrappers for these functions.</P
-><P
->The macro <TT
-CLASS="LITERAL"
->html_head()</TT
-> generates an HTML header
-section with <TT
-CLASS="PARAMETER"
-><I
->__title</I
-></TT
-> as the title. The
-<TT
-CLASS="PARAMETER"
-><I
->__meta</I
-></TT
-> argument defines any meta tags that will
-be inserted into the header. <TT
-CLASS="LITERAL"
->html_body_begin()</TT
-> and
-<TT
-CLASS="LITERAL"
->html_body_end</TT
-> generate HTML body begin and end
-tags.</P
-><P
-><TT
-CLASS="LITERAL"
->html_heading()</TT
-> generates a complete HTML header
-where <TT
-CLASS="PARAMETER"
-><I
->__level</I
-></TT
-> is a numerical level, between 1
-and 6, and <TT
-CLASS="PARAMETER"
-><I
->__heading</I
-></TT
-> is the heading
-text. <TT
-CLASS="LITERAL"
->html_para_begin()</TT
-> generates a paragraph
-break.</P
-><P
-><TT
-CLASS="LITERAL"
->html_url()</TT
-> inserts a URL where
-<TT
-CLASS="PARAMETER"
-><I
->__text</I
-></TT
-> is the displayed text and
-<TT
-CLASS="PARAMETER"
-><I
->__link</I
-></TT
-> is the URL of the linked
-page. <TT
-CLASS="LITERAL"
->html_image()</TT
-> inserts an image tag where
-<TT
-CLASS="PARAMETER"
-><I
->__source</I
-></TT
-> is the URL of the image to be
-included and <TT
-CLASS="PARAMETER"
-><I
->__alt</I
-></TT
-> is the alternative text for
-when the image is not displayed.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15344">Table Support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define html_table_begin( __client, __attr )
-#define html_table_end( __client )
-#define html_table_header( __client, __content, __attr )        
-#define html_table_row_begin( __client, __attr )     
-#define html_table_row_end( __client )               
-#define html_table_data_begin( __client, __attr )     
-#define html_table_data_end( __client )               </PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="LITERAL"
->html_table_begin()</TT
-> starts a table and
-<TT
-CLASS="LITERAL"
->html_table_end()</TT
-> end
-it. <TT
-CLASS="LITERAL"
->html_table_header()</TT
-> generates a simple table
-column header containg the string <TT
-CLASS="PARAMETER"
-><I
->__content</I
-></TT
->. </P
-><P
-><TT
-CLASS="LITERAL"
->html_table_row_begin()</TT
-> and
-<TT
-CLASS="LITERAL"
->html_table_row_end()</TT
-> begin and end a table row,
-and similarly <TT
-CLASS="LITERAL"
->html_table_data_begin()</TT
-> and
-<TT
-CLASS="LITERAL"
->html_table_data_end()</TT
-> begin and end a table
-entry. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15357">Forms Support</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define html_form_begin( __client, __url, __attr )      
-#define html_form_end( __client )               
-#define html_form_input( __client, __type, __name, __value, __attr )            
-#define html_form_input_radio( __client, __name, __value, __checked )
-#define html_form_input_checkbox( __client, __name, __value, __checked )
-#define html_form_input_hidden( __client, __name, __value ) 
-#define html_form_select_begin( __client, __name, __attr )      
-#define html_form_option( __client, __value, __label, __selected )      
-#define html_form_select_end( __client ) 
-void cyg_formdata_parse( char *data, char *list[], int size );
-char *cyg_formlist_find( char *list[], char *name );</PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="LITERAL"
->html_form_begin()</TT
-> begins a form, the
-<TT
-CLASS="PARAMETER"
-><I
->__url</I
-></TT
-> argument is the value for the
-<TT
-CLASS="LITERAL"
->action</TT
->
-attribute. <TT
-CLASS="LITERAL"
->html_form_end()</TT
-> ends the form.</P
-><P
-><TT
-CLASS="LITERAL"
->html_form_input()</TT
-> defines a general form input
-element with the given type, name and
-value. <TT
-CLASS="LITERAL"
->html_form_input_radio</TT
-> creates a radio button
-with the given name and value; the <TT
-CLASS="PARAMETER"
-><I
->__checked</I
-></TT
->
-argument is a boolean expression that is used to determine whether the
-<TT
-CLASS="LITERAL"
->checked</TT
-> attribute is added to the tag. Similarly
-<TT
-CLASS="LITERAL"
->html_form_input_checkbox()</TT
-> defines a checkbox
-element. <TT
-CLASS="LITERAL"
->html_form_input_hidden()</TT
-> defines a hidden
-form element with the given name and value.</P
-><P
-><TT
-CLASS="LITERAL"
->html_form_select_begin()</TT
-> begins a multiple choice
-menu with the given name. <TT
-CLASS="LITERAL"
->html_form_select_end()</TT
->
-end it. <TT
-CLASS="LITERAL"
->html_form_option()</TT
-> defines a menu entry
-with the given value and label; the <TT
-CLASS="PARAMETER"
-><I
->__selected</I
-></TT
->
-argument is a boolean expression controlling whether the
-<TT
-CLASS="LITERAL"
->selected</TT
-> attribute is added to the tag.</P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_formdata_parse()</TT
-> converts a form response
-string into an <TT
-CLASS="LITERAL"
->NULL</TT
->-terminated array of
-&quot;name=value&quot; entries. The <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->
-argument is the string as passed to the handler function; note that
-this string is not copied and will be updated in place to form the
-list entries.  <TT
-CLASS="PARAMETER"
-><I
->list</I
-></TT
-> is a pointer to an array of
-character pointers, and is <TT
-CLASS="PARAMETER"
-><I
->size</I
-></TT
-> elements long.
-<TT
-CLASS="FUNCTION"
->cyg_formlist_find()</TT
-> searches a list generated by
-<TT
-CLASS="FUNCTION"
->cyg_formdata_parse()</TT
-> and returns a pointer to the
-value part of the string whose name part matches
-<TT
-CLASS="PARAMETER"
-><I
->name</I
-></TT
->; if there is no match it will return
-<TT
-CLASS="LITERAL"
->NULL</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN15388">Predefined Handlers</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;int cyg_httpd_send_html( FILE *client, char *filename, char *request, void *arg );
-
-typedef struct
-{
-    char        *content_type;
-    cyg_uint32  content_length;
-    cyg_uint8   *data;
-} cyg_httpd_data;
-#define CYG_HTTPD_DATA( __name, __type, __length, __data )
-
-int cyg_httpd_send_data( FILE *client, char *filename, char *request, void *arg );&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->The HTTP server defines a couple of predefined handers to make it
-easier to deliver simple, static content.</P
-><P
-><TT
-CLASS="FUNCTION"
->cyg_httpd_send_html()</TT
-> takes a
-<TT
-CLASS="LITERAL"
->NULL</TT
->-terminated string as the argument and sends it
-to the client with an HTTP header indicating that it is HTML. The
-following is an example of its use:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;char cyg_html_message[] = "&lt;head&gt;&lt;title&gt;Welcome&lt;/title&gt;&lt;/head&gt;\n"
-                          "&lt;body&gt;&lt;h2&gt;Welcome to my Web Page&lt;/h2&gt;&lt;/body&gt;\n"
-
-CYG_HTTPD_TABLE_ENTRY( cyg_html_message_entry,
-                       "/message.html",
-                       cyg_httpd_send_html,
-                       cyg_html_message );&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
-><TT
-CLASS="FUNCTION"
->cyg_httpd_send_data()</TT
-> Sends arbitrary data to the
-client. The argument is a pointer to a <SPAN
-CLASS="TYPE"
->cyg_httpd_data</SPAN
->
-structure that defines the content type and length of the data, and a
-pointer to the data itself. The <TT
-CLASS="LITERAL"
->CYG_HTTPD_DATA()</TT
->
-macro automates the definition of the structure. Here is a typical
-example of its use:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;static cyg_uint8 ecos_logo_gif[] = {
-    ...
-};
-
-CYG_HTTPD_DATA( cyg_monitor_ecos_logo_data,
-                "image/gif",
-                sizeof(ecos_logo_gif),
-                ecos_logo_gif );
-
-CYG_HTTPD_TABLE_ENTRY( cyg_monitor_ecos_logo,
-                       "/monitor/ecos.gif",
-                       cyg_httpd_send_data,
-                       &amp;cyg_monitor_ecos_logo_data );&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-httpd-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-httpd-monitor.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Server Configuration</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->System Monitor</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-httpd-monitor.html b/doc/html/ref/net-httpd-monitor.html
deleted file mode 100644 (file)
index 4035276..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->System Monitor</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd-chapter.html"><LINK
-REL="PREVIOUS"
-TITLE="Support Functions and Macros"
-HREF="net-httpd-html.html"><LINK
-REL="NEXT"
-TITLE="FTP Client for eCos TCP/IP Stack"
-HREF="net-ftpclient.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-httpd-html.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 48. Embedded HTTP Server</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-ftpclient.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-HTTPD-MONITOR">System Monitor</H1
-><P
->Included in the HTTPD package is a simple System Monitor that is
-intended to act as a test and an example of how to produce servers.
-It is also hoped that it might be of some use in and of itself.</P
-><P
->The System Monitor is intended to work in the background of any
-application. Adding the network stack and the HTTPD package to any
-configuration will enable the monitor by default. It may be disabled
-by disabling the <TT
-CLASS="LITERAL"
->CYGPKG_HTTPD_MONITOR</TT
-> option.</P
-><P
->The monitor is intended to be simple and self-explanatory in use. It
-consists of four main pages. The thread monitor page presents a table
-of all current threads showing such things as id, state, priority,
-name and stack dimensions. Clicking on the thread ID will link to a
-thread edit page where the thread's state and priority may be
-manipulated. The interrupt monitor just shows a table of the current
-interrupts and indicates which are active. The memory monitor shows a
-256 byte page of memory, with controls to change the base address and
-display element size. The network monitor page shows
-information extracted from the active network interfaces and
-protocols. Finally, if kernel instrumentation is enabled, the
-instrumentation page provides some controls over the instrumentation
-mechanism, and displays the instrumentation buffer.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-httpd-html.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-ftpclient.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Support Functions and Macros</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->FTP Client for eCos TCP/IP Stack</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-httpd-organization.html b/doc/html/ref/net-httpd-organization.html
deleted file mode 100644 (file)
index b36d2ca..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Server Organization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd-chapter.html"><LINK
-REL="PREVIOUS"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd-chapter.html"><LINK
-REL="NEXT"
-TITLE="Server Configuration"
-HREF="net-httpd-configuration.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 48. Embedded HTTP Server</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-httpd-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-HTTPD-ORGANIZATION">Server Organization</H1
-><P
->The server consists of one or more threads running in parallel to any
-application threads and which serve web pages to clients. Apart from
-defining content, the application does not need to do anything to
-start the HTTP server.</P
-><P
->The HTTP server is started by a static constructor. This simply
-creates an initial thread and sets it running. Since this is called
-before the scheduler is started, nothing will happen until the
-application calls <TT
-CLASS="FUNCTION"
->cyg_scheduler_start()</TT
->.</P
-><P
->When the thread gets to run it first optionally delays for some period
-of time. This is to allow the application to perform any
-initialization free of any interference from the HTTP server. When the
-thread does finally run it creates a socket, binds it to the HTTP
-server port, and puts it into listen mode. It will then create any
-additional HTTPD server threads that have been configured before
-becoming a server thread itself.</P
-><P
->Each HTTPD server thread simply waits for a connection to be made to
-the server port. When the connection is made it reads the HTTP request
-and extracts the filename being accessed. If the request also contains
-form data, this is also preserved. The filename is then looked up in a
-table.</P
-><P
->Each table entry contains a filename pattern string, a
-pointer to a handler function, and a user defined argument for the
-function. Table entries are defined using the same link-time table
-building mechanism used to generate device tables. This is all handled
-by the <TT
-CLASS="LITERAL"
->CYG_HTTPD_TABLE_ENTRY()</TT
-> macro which has the
-following format:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;#include &lt;cyg/httpd/httpd.h&gt;
-
-CYG_HTTPD_TABLE_ENTRY( __name, __pattern, __handler, __arg )&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->__name</I
-></TT
-> argument is a variable name for the
-table entry since C does not allow us to define anonymous data
-structures. This name should be chosen so that it is unique and does
-not pollute the name space. The <TT
-CLASS="PARAMETER"
-><I
->__pattern</I
-></TT
->
-argument is the match pattern. The <TT
-CLASS="PARAMETER"
-><I
->__handler</I
-></TT
->
-argument is a pointer to the handler function and
-<TT
-CLASS="PARAMETER"
-><I
->__arg</I
-></TT
-> the user defined value.</P
-><P
->The link-time table building means that several different pieces of
-code can define server table entries, and so long as the patterns do
-not clash they can be totally oblivious of each other. However, note
-also that this mechanism does not guarantee the order in which entries
-appear, this depends on the order of object files in the link, which
-could vary from one build to the next. So any tricky pattern matching
-that relies on this may not always work.</P
-><P
->A request filename matches an entry in the table if either it exactly
-matches the pattern string, or if the pattern ends in an asterisk, and
-it matches everything up to that point. So for example the pattern
-&quot;/monitor/threads.html&quot; will only match that exact filename,
-but the pattern &quot;/monitor/thread-*&quot; will match
-&quot;/monitor/thread-0040.html&quot;,
-&quot;/monitor/thread-0100.html&quot; and any other filename starting
-with &quot;/monitor/thread-&quot;.</P
-><P
->When a pattern is matched, the hander function is called. It has the
-following prototype:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_httpd_handler(FILE *client,
-                           char *filename,
-                           char *formdata,
-                           void *arg);</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->client</I
-></TT
-> argument is the TCP connection to
-the client: anything output through this stream will be returned to
-the browser. The <TT
-CLASS="PARAMETER"
-><I
->filename</I
-></TT
-> argument is the
-filename from the HTTP request and the <TT
-CLASS="PARAMETER"
-><I
->formdata</I
-></TT
->
-argument is any form response data, or NULL if none was sent. The
-<TT
-CLASS="PARAMETER"
-><I
->arg</I
-></TT
-> argument is the user defined value from the
-table entry.</P
-><P
->The handler is entirely responsible for generating the response to the
-client, both HTTP header and content. If the handler decides that it
-does not want to generate a response it can return
-<TT
-CLASS="LITERAL"
->false</TT
->, in which case the table scan is resumed for
-another match. If no match is found, or no handler returns true, then
-a default response page is generated indicating that the requested
-page cannot be found.</P
-><P
->Finally, the server thread closes the connection to the client and
-loops back to accept a new connection.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-httpd-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Embedded HTTP Server</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Server Configuration</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-httpd.html b/doc/html/ref/net-httpd.html
deleted file mode 100644 (file)
index 6804062..0000000
+++ /dev/null
@@ -1,161 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Embedded HTTP Server</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="snmpd.conf"
-HREF="net-snmp-agent-manpages-snmpd.conf.html"><LINK
-REL="NEXT"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd-chapter.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="NET-HTTPD"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XVI. Embedded HTTP Server</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->48. <A
-HREF="net-httpd-chapter.html"
->Embedded HTTP Server</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-httpd-chapter.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->snmpd.conf</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Embedded HTTP Server</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-ns-dns-api.html b/doc/html/ref/net-ns-dns-api.html
deleted file mode 100644 (file)
index b802628..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->DNS</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="DNS for eCos and RedBoot"
-HREF="net-ns-dns.html"><LINK
-REL="PREVIOUS"
-TITLE="DNS for eCos and RedBoot"
-HREF="net-ns-dns.html"><LINK
-REL="NEXT"
-TITLE="Ethernet Device Drivers"
-HREF="io-eth-drv-generic.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-ns-dns.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-eth-drv-generic.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-NS-DNS-API">Chapter 45. DNS</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-NS-DNS-API1">DNS API</H1
-><P
->The DNS client uses the normal BSD API for performing lookups:
-<TT
-CLASS="FUNCTION"
->gethostbyname()</TT
-> and
-<TT
-CLASS="FUNCTION"
->gethostbyaddr()</TT
->.</P
-><P
->There are a few restrictions:</P
-><P
-></P
-><UL
-><LI
-><P
->Only IPv4 is supported, ie IPv6 addresses cannot be looked
-up.</P
-></LI
-><LI
-><P
->If the DNS server returns multiple authoritive records
-for a host name, the hostent will only contain a record for the
-first entry.</P
-></LI
-><LI
-><P
->The code has been made thread safe. ie multiple threads
-may call 
-<TT
-CLASS="FUNCTION"
->gethostbyname()</TT
->
- without causing problems to the hostent structure returned. What
-is not safe is one thread using both 
-<TT
-CLASS="FUNCTION"
->gethostbyname()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->gethostbyaddr()</TT
->.
-A call to one will destroy the results from the previous call
-to the other function.</P
-></LI
-></UL
-><P
->To initialise the DNS client the following function must be
-called:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;network.h&gt;
-int cyg_dns_res_init(struct in_addr *dns_server)</PRE
-></TD
-></TR
-></TABLE
-><P
->where dns_server is the address of the DNS server
-the client should query. On Error this function returns -1, otherwise
-0 for success. If lookups are attemped before this function has
-been called, they will fail and return NULL.</P
-><P
->A default, hard coded, server may be specified in the CDL option
-<TT
-CLASS="LITERAL"
->CYGDAT_NS_DNS_DEFAULT_SERVER</TT
->. The use of this is
-controlled by <TT
-CLASS="LITERAL"
->CYGPKG_NS_DNS_DEFAULT</TT
->. If this is
-enabled, <TT
-CLASS="LITERAL"
->init_all_network_interfaces</TT
-> will
-initialize the resolver with the hard coded address. The DHCP client
-or user code my override this address by calling
-<TT
-CLASS="LITERAL"
->cyg_dns_res_init</TT
-> again. </P
-><P
->The DNS client understands the concepts of the target being
-in a domain. By default no domain will be used. Host name lookups
-should be for fully qualified names. The domain name can be set
-and retrieved using the functions:
-<DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN14685"><P
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->int getdomainname</CODE
->(char *name, size_t len);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->int setdomainname</CODE
->(const char *name, size_t len);</CODE
-></P
-><P
-></P
-></DIV
-></P
-><P
->Alternatively, a hard coded domain name can be set using CDL.
-The boolean <TT
-CLASS="LITERAL"
->CYGPKG_NS_DNS_DOMAINNAME</TT
-> enables this
-and the domain name is taken from
-<TT
-CLASS="LITERAL"
->CYGPKG_NS_DNS_DOMAINNAME_NAME</TT
->.</P
-><P
->Once set, the DNS client will first perform a lookup with the domain
-name appended. If this fails it will then perform a second lookup
-without the appended domain name. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-ns-dns.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-eth-drv-generic.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->DNS for eCos and RedBoot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-ns-dns.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Ethernet Device Drivers</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-ns-dns.html b/doc/html/ref/net-ns-dns.html
deleted file mode 100644 (file)
index 797e36d..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->DNS for eCos and RedBoot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Enhanced Select()"
-HREF="tcpip-openbsd-enhanced-select.html"><LINK
-REL="NEXT"
-TITLE="DNS"
-HREF="net-ns-dns-api.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-enhanced-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-ns-dns-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="NET-NS-DNS"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XIII. DNS for eCos and RedBoot</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN14654"><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> and
-<SPAN
-CLASS="PRODUCTNAME"
->RedBoot</SPAN
->
-can both use the DNS package to perform network name lookups.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->45. <A
-HREF="net-ns-dns-api.html"
->DNS</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-enhanced-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-ns-dns-api.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Enhanced Select()</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->DNS</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-agent-manpages-snmpd.conf.html b/doc/html/ref/net-snmp-agent-manpages-snmpd.conf.html
deleted file mode 100644 (file)
index 63dfff5..0000000
+++ /dev/null
@@ -1,625 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->snmpd.conf</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="MIB Compiler "
-HREF="net-snmp-mib-compiler.html"><LINK
-REL="NEXT"
-TITLE="Embedded HTTP Server"
-HREF="net-httpd.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-mib-compiler.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-httpd.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-AGENT-MANPAGES-SNMPD.CONF">snmpd.conf</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->SNMPD.CONF(5)                                       SNMPD.CONF(5)
-
-
-
-NAME
-       share/snmp/snmpd.conf  -  configuration  file for the ucd-
-       snmp SNMP agent.
-
-DESCRIPTION
-       snmpd.conf is the configuration file which defines how the
-       ucd-smnp SNMP agent operates.  These files may contain any
-       of the directives found in the DIRECTIVES  section  below.
-       This  file  is  not  required for the agent to operate and
-       report mib entries.
-
-PLEASE READ FIRST
-       First, make sure you have read the  snmp_config(5)  manual
-       page  that  describes how the ucd-snmp configuration files
-       operate, where they are located  and  how  they  all  work
-       together.
-
-EXTENSIBLE-MIB
-       The  ucd-snmp  SNMP  agent reports much of its information
-       through queries to the 1.3.6.1.4.1.2021 section of the mib
-       tree.   Every  mib in this section has the following table
-       entries in it.
-
-       .1 -- index
-              This is the table's index numbers for each  of  the
-              DIRECTIVES listed below.
-
-       .2 -- name
-              The  name of the given table entry.  This should be
-              unique, but is not required to be.
-
-       .100 -- errorFlag
-              This is a flag returning either the integer value 1
-              or  0 if an error is detected for this table entry.
-
-       .101 -- errorMsg
-              This is a DISPLAY-STRING describing any error trig-
-              gering the errorFlag above.
-
-       .102 -- errorFix
-              If  this entry is SNMPset to the integer value of 1
-              AND the errorFlag defined above is indeed  a  1,  a
-              program  or script will get executed with the table
-              entry name from above as the argument.  The program
-              to  be  executed is configured in the config.h file
-              at compile time.
-
-   Directives
-       proc NAME
-
-       proc NAME MAX
-
-       proc NAME MAX MIN
-
-              Checks to see if the NAME'd processes  are  running
-              on  the  agent's  machine.  An error flag (1) and a
-              description  message  are  then   passed   to   the
-              1.3.6.1.4.1.2021.2.100  and  1.3.6.1.4.1.2021.2.101
-              mib tables (respectively) if the NAME'd program  is
-              not  found  in  the  process  table  as reported by
-              "/bin/ps -e".
-
-              If MAX and MIN are not specified, MAX is assumed to
-              be infinity and MIN is assumed to be 1.
-
-              If  MAX  is specified but MIN is not specified, MIN
-              is assumed to be 0.
-
-       procfix NAME PROG ARGS
-              This registers a command  that  knows  how  to  fix
-              errors   with   the   given   process  NAME.   When
-              1.3.6.1.4.1.2021.2.102 for a given NAMEd program is
-              set to the integer value of 1, this command will be
-              called.  It defaults to a compiled value set  using
-              the PROCFIXCMD definition in the config.h file.
-
-       exec NAME PROG ARGS
-
-       exec MIBNUM NAME PROG ARGS
-
-              If  MIBNUM is not specified, the agent executes the
-              named PROG with arguments of ARGS and  returns  the
-              exit status and the first line of the STDOUT output
-              of   the   PROG   program   to   queries   of   the
-              1.3.6.1.4.1.2021.8.100  and  1.3.6.1.4.1.2021.8.101
-              mib  tables  (respectively).   All  STDOUT   output
-              beyond the first line is silently truncated.
-
-              If  MIBNUM  is  specified,  it  acts  as  above but
-              returns the exit status  to  MIBNUM.100.0  and  the
-              entire  STDOUT  output to the table MIBNUM.101 in a
-              mib table.  In this case, the MIBNUM.101  mib  con-
-              tains the entire STDOUT output, one mib table entry
-              per line of output (ie, the first line is output as
-              MIBNUM.101.1,  the second at MIBNUM.101.2, etc...).
-
-              Note:  The MIBNUM must be specified in dotted-inte-
-                     ger  notation  and  can  not be specified as
-                     ".iso.org.dod.internet..."  (should  instead
-                     be
-
-              Note:  The  agent caches the exit status and STDOUT
-                     of the executed program for 30 seconds after
-                     the  initial  query.   This  is  to increase
-                     speed and maintain consistency  of  informa-
-                     tion  for  consecutive  table  queries.  The
-                     cache can be flushed by a  snmp-set  request
-                     of  integer(1)  to 1.3.6.1.4.1.2021.100.VER-
-                     CLEARCACHE.
-
-       execfix NAME PROG ARGS
-              This registers a command  that  knows  how  to  fix
-              errors  with  the  given  exec  or  sh  NAME.  When
-              1.3.6.1.4.1.2021.8.102 for a given NAMEd  entry  is
-              set to the integer value of 1, this command will be
-              called.  It defaults to a compiled value set  using
-              the EXECFIXCMD definition in the config.h file.
-
-       disk PATH
-
-       disk PATH [ MINSPACE | MINPERCENT% ]
-
-              Checks  the  named disks mounted at PATH for avail-
-              able disk space.  If the disk space  is  less  than
-              MINSPACE  (kB) if specified or less than MINPERCENT
-              (%) if a  %  sign  is  specified,  or  DEFDISKMINI-
-              MUMSPACE  (kB)  if  not  specified,  the associated
-              entry in the 1.3.6.1.4.1.2021.9.100 mib table  will
-              be  set to (1) and a descriptive error message will
-              be returned to queries of 1.3.6.1.4.1.2021.9.101.
-
-       load MAX1
-
-       load MAX1 MAX5
-
-       load MAX1 MAX5 MAX15
-
-              Checks the load average of the machine and  returns
-              an error flag (1), and an text-string error message
-              to   queries   of    1.3.6.1.4.1.2021.10.100    and
-              1.3.6.1.4.1.2021.10.101   (respectively)  when  the
-              1-minute, 5-minute, or  15-minute  averages  exceed
-              the associated maximum values.  If any of the MAX1,
-              MAX5, or MAX15 values are unspecified, they default
-              to a value of DEFMAXLOADAVE.
-
-       file FILE [MAXSIZE]
-              Monitors  file sizes and makes sure they don't grow
-              beyond a certain size.  MAXSIZE defaults  to  infi-
-              nite  if  not specified, and only monitors the size
-              without reporting errors about it.
-
-   Errors
-       Any errors in obtaining the above information are reported
-       via    the    1.3.6.1.4.1.2021.101.100    flag   and   the
-       1.3.6.1.4.1.2021.101.101 text-string description.
-
-SMUX SUB-AGENTS
-       To enable and SMUX based sub-agent, such as gated, use the
-       smuxpeer configuration entry
-
-       smuxpeer OID PASS
-              For gated a sensible entry might be
-
-       .1.3.6.1.4.1.4.1.3 secret
-
-ACCESS CONTROL
-       snmpd  supports the View-Based Access Control Model (vacm)
-       as defined in RFC 2275.  To this end,  it  recognizes  the
-       following  keywords  in  the  configuration file: com2sec,
-       group, access, and view  as  well  as  some  easier-to-use
-       wrapper   directives:  rocommunity,  rwcommunity,  rouser,
-       rwuser.
-
-       rocommunity COMMUNITY [SOURCE] [OID]
-
-       rwcommunity COMMUNITY [SOURCE] [OID]
-              These create read-only and  read-write  communities
-              that  can  be used to access the agent.  They are a
-              quick method of using the following com2sec, group,
-              access,  and view directive lines.  They are not as
-              efficient either, as groups aren't created  so  the
-              tables  are possibly larger.  In other words: don't
-              use these if you have complex situations to set up.
-
-              The  format  of the SOURCE is token is described in
-              the com2sec directive section below.  The OID token
-              restricts  access  for that community to everything
-              below that given OID.
-
-       rouser USER [noauth|auth|priv] [OID]
-
-       rwuser USER [noauth|auth|priv] [OID]
-              Creates a  SNMPv3  USM  user  in  the  VACM  access
-              configuration  tables.   Again,  its more efficient
-              (and powerful) to use the combined com2sec,  group,
-              access, and view directives instead.
-
-              The minimum level of authentication and privacy the
-              user must use  is  specified  by  the  first  token
-              (which  defaults  to  "auth").   The  OID parameter
-              restricts access for that user to everything  below
-              the given OID.
-
-       com2sec NAME SOURCE COMMUNITY
-              This   directive   specifies  the  mapping  from  a
-              source/community pair to a  security  name.  SOURCE
-              can be a hostname, a subnet, or the word "default".
-              A subnet can be specified as  IP/MASK  or  IP/BITS.
-              The first source/community combination that matches
-              the incoming packet is selected.
-
-       group NAME MODEL SECURITY
-              This directive defines the mapping  from  security-
-              model/securityname  to  group.  MODEL is one of v1,
-              v2c, or usm.
-
-       access NAME CONTEXT MODEL LEVEL PREFX READ WRITE NOTIFY
-              The  access  directive  maps  from   group/security
-              model/security  level  to  a view.  MODEL is one of
-              any, v1, v2c, or usm.   LEVEL  is  one  of  noauth,
-              auth,  or priv.  PREFX specifies how CONTEXT should
-              be matched against the context of the incoming pdu,
-              either  exact  or  prefix.   READ, WRITE and NOTIFY
-              specifies the view to be used for the corresponding
-              access.   For  v1  or  v2c  access,  LEVEL  will be
-              noauth, and CONTEXT will be empty.
-
-       view NAME TYPE SUBTREE [MASK]
-              The defines the named view. TYPE is either included
-              or  excluded.   MASK is a list of hex octets, sepa-
-              rated by '.' or ':'.  The MASK defaults to "ff"  if
-              not specified.
-
-              The  reason  for the mask is, that it allows you to
-              control access to one row in a table,  in  a  rela-
-              tively  simple  way.  As  an example, as an ISP you
-              might consider giving each customer access  to  his
-              or her own interface:
-
-              view cust1 included interfaces.ifTable.ifEntry.ifIndex.1 ff.a0
-              view cust2 included interfaces.ifTable.ifEntry.ifIndex.2 ff.a0
-
-              (interfaces.ifTable.ifEntry.ifIndex.1 == .1.3.6.1.2.1.2.2.1.1.1,
-              ff.a0 == 11111111.10100000. which nicely covers up and including
-              the row index, but lets the user vary the field of the row)
-
-       VACM Examples:
-              #       sec.name  source          community
-              com2sec local     localhost       private
-              com2sec mynet     10.10.10.0/24   public
-              com2sec public    default         public
-
-              #             sec.model  sec.name
-              group mygroup v1         mynet
-              group mygroup v2c        mynet
-              group mygroup usm        mynet
-              group local   v1         local
-              group local   v2c        local
-              group local   usm        local
-              group public  v1         public
-              group public  v2c        public
-              group public  usm        public
-
-              #           incl/excl subtree                          mask
-              view all    included  .1                               80
-              view system included  system                           fe
-              view mib2   included  .iso.org.dod.internet.mgmt.mib-2 fc
-
-              #              context sec.model sec.level prefix read   write notify
-              access mygroup ""      any       noauth    exact  mib2   none  none
-              access public  ""      any       noauth    exact  system none  none
-              access local   ""      any       noauth    exact  all    all   all
-
-       Default VACM model
-              The default configuration of the agent, as shipped, is functionally
-              equivalent to the following entries:
-              com2sec   public    default   public
-              group     public    v1   public
-              group     public    v2c  public
-              group     public    usm  public
-              view      all  included  .1
-              access    public    ""   any  noauth    exact     all  none none
-
-SNMPv3 CONFIGURATION
-       engineID STRING
-              The  snmpd  agent  needs  to  be configured with an
-              engineID to be able to respond to SNMPv3  messages.
-              With  this  configuration  file  line, the engineID
-              will be configured from STRING.  The default  value
-              of  the  engineID  is  configured with the first IP
-              address found for the hostname of the machine.
-
-       createUser username (MD5|SHA) authpassphrase [DES]  [priv-
-       passphrase]
-              This directive should be placed into the "/var/ucd-
-              snmp"/snmpd.conf  file  instead of the other normal
-              locations.  The reason is that the  information  is
-              read  from  the  file  and then the line is removed
-              (eliminating the storage of the master password for
-              that  user)  and  replaced  with  the  key  that is
-              derived from it.  This key is a localized  key,  so
-              that  if  it is stolen it can not be used to access
-              other agents.  If the password is stolen,  however,
-              it can be.
-
-              MD5  and  SHA  are the authentication types to use,
-              but you must have built the  package  with  openssl
-              installed  in  order  to use SHA.  The only privacy
-              protocol currently supported is DES.  If  the  pri-
-              vacy  passphrase is not specified, it is assumed to
-              be the same as the authentication passphrase.  Note
-              that  the users created will be useless unless they
-              are also added to the VACM  access  control  tables
-              described above.
-
-              Warning:  the minimum pass phrase length is 8 char-
-              acters.
-
-              SNMPv3 users can be created at  runtime  using  the
-              snmpusm command.
-
-
-SETTING SYSTEM INFORMATION
-       syslocation STRING
-
-       syscontact STRING
-
-              Sets the system location and the system contact for
-              the agent.  This information  is  reported  by  the
-              'system' table in the mibII tree.
-
-       authtrapenable NUMBER
-              Setting  authtrapenable  to 1 enables generation of
-              authentication failure traps. The default value  is
-              2 (disable).
-
-       trapcommunity STRING
-              This  defines  the  default  community string to be
-              used when sending traps.  Note  that  this  command
-              must  be  used  prior to any of the following three
-              commands  that  are  intended  use  this  community
-              string.
-
-       trapsink HOST [COMMUNITY [PORT]]
-
-       trap2sink HOST [COMMUNITY [PORT]]
-
-       informsink HOST [COMMUNITY [PORT]]
-              These  commands  define  the hosts to receive traps
-              (and/or inform notifications). The daemon  sends  a
-              Cold  Start  trap when it starts up. If enabled, it
-              also sends traps on authentication failures.   Mul-
-              tiple  trapsink, trap2sink and informsink lines may
-              be specified to specify multiple destinations.  Use
-              trap2sink  to  send  SNMPv2 traps and informsink to
-              send inform notifications.   If  COMMUNITY  is  not
-              specified,  the  string from a preceding trapcommu-
-              nity directive will be used. If PORT is not  speci-
-              fied,  the  well known SNMP trap port (162) will be
-              used.
-
-PASS-THROUGH CONTROL
-       pass MIBOID EXEC
-              Passes entire control of MIBOID to  the  EXEC  pro-
-              gram.   The  EXEC  program  is called in one of the
-              following three ways:
-
-              EXEC -g MIBOID
-
-              EXEC -n MIBOID
-
-                     These call lines match to SNMP get and  get-
-                     next requests.  It is expected that the EXEC
-                     program will take the arguments passed to it
-                     and  return the appropriate response through
-                     it's stdout.
-
-                     The first line of stdout should be  the  mib
-                     OID of the returning value.  The second line
-                     should be the TYPE of value returned,  where
-                     TYPE  is  one  of  the text strings: string,
-                     integer,  unsigned,   objectid,   timeticks,
-                     ipaddress,  counter,  or  gauge.   The third
-                     line of stdout should be  the  VALUE  corre-
-                     sponding with the returned TYPE.
-
-                     For  instance, if a script was to return the
-                     value integer value "42" when a request  for
-                     .1.3.6.1.4.100  was  requested,  the  script
-                     should return the following 3 lines:
-                       .1.3.6.1.4.100
-                       integer
-                       42
-
-                     To indicate that the  script  is  unable  to
-                     comply with the request due to an end-of-mib
-                     condition or an invalid request, simple exit
-                     and  return  no  output to stdout at all.  A
-                     snmp error will be  generated  corresponding
-                     to the SNMP NO-SUCH-NAME response.
-
-              EXEC -s MIBOID TYPE VALUE
-
-                     For SNMP set requests, the above call method
-                     is used.  The TYPE passed to the  EXEC  pro-
-                     gram  is  one  of the text strings: integer,
-                     counter, gauge, timeticks, ipaddress, objid,
-                     or  string,  indicating  the  type  of value
-                     passed in the next argument.
-
-                     Return nothing to stdout, and the  set  will
-                     assumed to have been successful.  Otherwise,
-                     return one of the following error strings to
-                     signal an error: not-writable, or wrong-type
-                     and the appropriate error response  will  be
-                     generated instead.
-
-                      Note:  By   default,   the  only  community
-                             allowed to  write  (ie  snmpset)  to
-                             your  script  will  be the "private"
-                             community,or community #2 if defined
-                             differently by the "community" token
-                             discussed above.  Which  communities
-                             are  allowed  write  access are con-
-                             trolled by the RWRITE definition  in
-                             the snmplib/snmp_impl.h source file.
-
-EXAMPLE
-       See the EXAMPLE.CONF file in the top level  source  direc-
-       tory for a more detailed example of how the above informa-
-       tion is used in real examples.
-
-RE-READING snmpd.conf and snmpd.local.conf
-       The ucd-snmp agent can be forced to re-read its configura-
-       tion files.  It can be told to do so by one of two ways:
-
-       1.     An       snmpset       of       integer(1)       to
-              1.3.6.1.4.1.2021.100.VERUPDATECONFIG.
-
-       2.     A "kill -HUP" signal sent to the snmpd  agent  pro-
-              cess.
-
-FILES
-       share/snmp/snmpd.conf
-
-SEE ALSO
-       snmp_config(5), snmpd(1), EXAMPLE.conf, read_config(3).
-
-
-
-                           27 Jan 2000              SNMPD.CONF(5)
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-mib-compiler.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-httpd.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MIB Compiler</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Embedded HTTP Server</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-clients-and-package-use.html b/doc/html/ref/net-snmp-clients-and-package-use.html
deleted file mode 100644 (file)
index f7e8c8d..0000000
+++ /dev/null
@@ -1,189 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SNMP clients and package use</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="Test cases"
-HREF="net-snmp-test-cases.html"><LINK
-REL="NEXT"
-TITLE="Unimplemented features"
-HREF="net-snmp-unimplemented-features.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-test-cases.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-unimplemented-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-CLIENTS-AND-PACKAGE-USE">SNMP clients and package use</H1
-><P
->SNMP clients may use these packages, but this usage is currently
-untested: the reason why this port to eCos exists is to acquire
-the SNMP agent.  The fact that that the SNMP API (for clients) exists
-is a side-effect.  See the standard man page SNMP_API(3)
-for details.  There are further caveats below about client-side
-use of the SNMP library.</P
-><P
->All of the SNMP header files are installed beneath .../include/ucd-snmp
-in the install tree.  The SNMP code itself assumes that directory
-is on its include path, so we recommend that client code does the
-same.  Further, like the TCP/IP stack, compiling SNMP code
-requires definition of _KERNEL and __ECOS,
-and additionally IN_UCD_SNMP_SOURCE.</P
-><P
->Therefore, add all of these to your compile lines if you wish
-to include SNMP header files:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->-D_KERNEL 
--D__ECOS       
--DIN_UCD_SNMP_SOURCE=1         
--I&#0036;(PREFIX)/include/ucd-snmp</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-test-cases.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-unimplemented-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Test cases</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Unimplemented features</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-configuring-ecos.html b/doc/html/ref/net-snmp-configuring-ecos.html
deleted file mode 100644 (file)
index bc7f8e8..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuring eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="Starting the SNMP Agent"
-HREF="net-snmp-starting-the-snmp-agent.html"><LINK
-REL="NEXT"
-TITLE="Test cases"
-HREF="net-snmp-test-cases.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-starting-the-snmp-agent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-test-cases.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-CONFIGURING-ECOS">Configuring eCos</H1
-><P
->To use the SNMP agent, the SNMP library and agent packages must be
-included in your configuration. To incorporate the stack into your
-configuration select the SNMP library and SNMP agent packages in the
-eCos Configuration Tool, or at the command line type:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->ecosconfig add snmplib snmpagent</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->After adding the networking, common ethernet device drivers,
-snmp library and snmp agent packages, there is no configuration
-required. However there are a number of configuration options
-that can be set such as some details for the System MIB, and
-disabling SNMPv3 support (see below).</P
-><P
->Starting the SNMP agent is not integrated into network
-tests other than <TT
-CLASS="FILENAME"
->snmpping</TT
-> below, nor is it
-started automatically in normal eCos startup -
-it is up to the application to start the agent when it is ready,
-at least after the network interfaces are both &#8216;up&#8217;.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="NET-SNMP-VERSION-USAGE">Version usage (v1, v2 or v3)</H2
-><P
->The default build supports all three versions of the SNMP protocol, but without
-any dispatcher functionality (rfc 2571, section 3.1.1.2). This has the
-following implications :</P
-><P
-> 1. There is no community authentication for v1 and v2c.</P
-><P
->2. Security provided by v3 can be bypassed by using v1/v2c protocol.</P
-><P
->To provide the dispatcher with rfc 2571 type functionality, it is required to
-set up security models and access profiles. This can be provided in the normal
-Unix style by writing the required configurations in <TT
-CLASS="LITERAL"
->snmpd.conf</TT
-> 
-file. Application code may setup profiles in <TT
-CLASS="LITERAL"
->snmpd.conf</TT
-> and 
-optionally set the environment variable <TT
-CLASS="LITERAL"
->SNMPCONFPATH</TT
-> to 
-point to the file if it is not in the usual location. The whole concept works
-in the usual way as with the standard UCD-SNMP distribution.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="TRAPS">Traps</H2
-><P
->The support of the <TT
-CLASS="LITERAL"
->trapsink</TT
-> command in the
-<A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
->snmpd.conf</A
-> file is not tested 
-and there may be problems for it working as expected. Moreover, in systems that do not 
-have filesystem support, there is no way to configure a trap-session in the
-conventional way.</P
-><P
->For reasons mentioned above, applications need to initialize their own trap
-sessions and pass it the details of trap-sink. The following is a small sample
-for initializing a v1 trap session :</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct trap {
-        unsigned char ip [4];
-        unsigned int  port;
-        unsigned char community [256];
-}
-
-trap            trapsink;
-unsinged char   sink [16]; 
-
-...
-...
-
-if (trapsink.ip != 0) {
-        sprintf (sink, "%d.%d.%d.%d",
-                 trapsink[0], trapsink[1], trapsink[2], trapsink[3]);
-        if (create_trap_session (sink,
-                trapsink.port,
-                (char *)trapsink.community,
-                SNMP_VERSION_1,
-                SNMP_MSG_TRAP) == 0) {
-                log_error ("Creation of trap session failed \n");
-        }
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="NET-SNMP-SNMPD-CONF"><TT
-CLASS="LITERAL"
->snmpd.conf</TT
-> file</H2
-><P
->Using snmpd.conf requires the inclusion of one of the file-system packages
-(eg. CYGPKG_RAMFS) and CYGPKG_FILEIO. With these two packages included, the
-SNMP sub-system will read the snmpd.conf file from the location specified in
-<TT
-CLASS="LITERAL"
->SNMPCONFPATH</TT
->, or the standard builtin locations, and use
-these profiles. Only the profiles specified in the <TT
-CLASS="LITERAL"
->ACCESS-CONTROL</TT
->
-section of <A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
->snmpd.conf</A
-> file have 
-been tested and shown to work. Other profiles which have been implemented in 
-<TT
-CLASS="LITERAL"
->UCD-SNMP-4.1.2</TT
->'s <TT
-CLASS="LITERAL"
->snmpd.conf</TT
-> may not work
-because the sole purpose of adding support for the snmpd.conf file has been to
-set up <TT
-CLASS="LITERAL"
->ACCESS-CONTROL</TT
-> models.</P
-><P
->At startup, the SNMP module tries to look for file <TT
-CLASS="FILENAME"
->snmp.conf</TT
->. 
-If this file is not available, the module successively looks for files
-<TT
-CLASS="FILENAME"
->snmpd.conf</TT
->, <TT
-CLASS="FILENAME"
->snmp.local.conf</TT
-> and 
-<TT
-CLASS="FILENAME"
->snmpd.local.conf</TT
-> at the locations pointed to by <TT
-CLASS="LITERAL"
->SNMPCONFPATH</TT
-> environment variable. In case <TT
-CLASS="LITERAL"
->SNMPCONFPATH</TT
-> is not defined, the search sequence is carried out in default directories.
-The default directories are :<TT
-CLASS="FILENAME"
->/usr/share/snmp</TT
->, <TT
-CLASS="FILENAME"
->/usr/local/share/snmp</TT
-> and <TT
-CLASS="FILENAME"
->$(HOME)/.snmp</TT
->.
-The configurations read from these files are used to control both, SNMP 
-applications and the SNMP agent; in the usual UNIX fashion.</P
-><P
->The inclusion of snmpd.conf support is enabled by default when suitable 
-filesystems and FILEIO packages are active.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-starting-the-snmp-agent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-test-cases.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Starting the SNMP Agent</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Test cases</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-ecos-changes.html b/doc/html/ref/net-snmp-ecos-changes.html
deleted file mode 100644 (file)
index 827cf79..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Changes to eCos sources</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="MIBs supported"
-HREF="net-snmp-mibs-supported.html"><LINK
-REL="NEXT"
-TITLE="Starting the SNMP Agent"
-HREF="net-snmp-starting-the-snmp-agent.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-mibs-supported.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-starting-the-snmp-agent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-ECOS-CHANGES">Changes to eCos sources</H1
-><P
->Small changes have been made in three areas:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Various hardware-specific ethernet drivers.</P
-></LI
-><LI
-><P
->The generic ethernet device driver.</P
-></LI
-><LI
-><P
->The OpenBSD TCP/IP networking package.</P
-></LI
-></OL
-><P
->These changes were made in order to export information about the driver and
-the network that the SNMP agent must report.  The changes were trivial in
-the case of the network stack, since it was already SNMP-friendly.  The
-generic ethernet device driver was re-organized to have an extensive header
-file and to add a couple of APIs to extract statistics that the
-hardware-specific device drivers keep within themselves.</P
-><P
->There may be a performance hit for recording that data; disabling
-a config option named something like
-<TT
-CLASS="LITERAL"
->CYGDBG_DEVS_ETH_xxxx_xxxx_KEEP_STATISTICS</TT
->
-depending on the specific device driver will prevent that.</P
-><P
->Not all platform ethernet device drivers export complete SNMP statistical
-information; if the exported information is missing, SNMP will report zero
-values for such data (in the dot3 MIB).</P
-><P
->The interface chipset has an ID which is an OID; not all the latest greatest
-devices are listed in the abailable database, so new chipsets may need to
-be added to the client MIB, if not defined in those from UCD.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-mibs-supported.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-starting-the-snmp-agent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MIBs supported</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Starting the SNMP Agent</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-ecos-port.html b/doc/html/ref/net-snmp-ecos-port.html
deleted file mode 100644 (file)
index bb2ba09..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SNMP for eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP"
-HREF="net-snmp.html"><LINK
-REL="PREVIOUS"
-TITLE="SNMP"
-HREF="net-snmp.html"><LINK
-REL="NEXT"
-TITLE="SNMP packages in the eCos source repository"
-HREF="net-snmp-package-contents.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-package-contents.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NET-SNMP-ECOS-PORT">Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="net-snmp-ecos-port.html#NET-SNMP-VERSION"
->Version</A
-></DT
-><DT
-><A
-HREF="net-snmp-package-contents.html"
->SNMP packages in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> source repository</A
-></DT
-><DT
-><A
-HREF="net-snmp-mibs-supported.html"
->MIBs supported</A
-></DT
-><DT
-><A
-HREF="net-snmp-ecos-changes.html"
->Changes to eCos sources</A
-></DT
-><DT
-><A
-HREF="net-snmp-starting-the-snmp-agent.html"
->Starting the SNMP Agent</A
-></DT
-><DT
-><A
-HREF="net-snmp-configuring-ecos.html"
->Configuring eCos</A
-></DT
-><DT
-><A
-HREF="net-snmp-test-cases.html"
->Test cases</A
-></DT
-><DT
-><A
-HREF="net-snmp-clients-and-package-use.html"
->SNMP clients and package use</A
-></DT
-><DT
-><A
-HREF="net-snmp-unimplemented-features.html"
->Unimplemented features</A
-></DT
-><DT
-><A
-HREF="net-snmp-mib-compiler.html"
->MIB Compiler</A
-></DT
-><DT
-><A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
->snmpd.conf</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-VERSION">Version</H1
-><P
->This is a port of UCD-SNMP-4.1.2</P
-><P
->Originally this document said: See
-<A
-HREF="http://ucd-snmp.ucdavis.edu/"
-TARGET="_top"
->http://ucd-snmp.ucdavis.edu/</A
->
-for details.  And send them a postcard.</P
-><P
->The project has since been renamed &#8220;net-snmp&#8221; and re-homed at
-<A
-HREF="http://net-snmp.sourceforge.net/"
-TARGET="_top"
->            http://net-snmp.sourceforge.net/</A
->
-where various new releases (of the original, not <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->
-ports) are available.</P
-><P
->The original source base from which we worked to create the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> port is available from various archive sites such
-as
-<A
-HREF="ftp://ftp.freesnmp.com/mirrors/net-snmp/"
-TARGET="_top"
->            ftp://ftp.freesnmp.com/mirrors/net-snmp/</A
->
-or
-<A
-HREF="ftp://sunsite.cnlab-switch.ch/mirror/ucd-snmp/"
-TARGET="_top"
->            ftp://sunsite.cnlab-switch.ch/mirror/ucd-snmp/</A
->
-generally with this filename and details:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><A
-HREF="ftp://ftp.freesnmp.com/mirrors/net-snmp/ucd-snmp-4.1.2.tar.gz"
-TARGET="_top"
->ucd-snmp-4.1.2.tar.gz. . . . . . Nov  2  2000   1164k</A
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-package-contents.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SNMP</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SNMP packages in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> source repository</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-mib-compiler.html b/doc/html/ref/net-snmp-mib-compiler.html
deleted file mode 100644 (file)
index 95894b3..0000000
+++ /dev/null
@@ -1,355 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MIB Compiler </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="Unimplemented features"
-HREF="net-snmp-unimplemented-features.html"><LINK
-REL="NEXT"
-TITLE="snmpd.conf"
-HREF="net-snmp-agent-manpages-snmpd.conf.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-unimplemented-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-MIB-COMPILER">MIB Compiler</H1
-><P
->In the directory
-         <TT
-CLASS="FILENAME"
->/snmp/agent/VERSION/utils/mib2c</TT
->,
-there are the following files:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->README-eCos             notes about running with a nonstandard 
-                        perl path.
-README.mib2c            the README from UCD; full instructions on
-                        using mib2c   
-mib2c                   the perl program
-mib2c.conf              a configuration file altered to include the
-                        eCos/UCD   
-mib2c.conf-ORIG         copyright and better #include paths; and
-                        the ORIGinal.   
-mib2c.storage.conf      other config files, not modified.   
-mib2c.vartypes.conf</PRE
-></TD
-></TR
-></TABLE
-><P
->mib2c is provided BUT it requires the SNMP perl package SNMP-3.1.0,
-and that in turn requires perl nsPerl5.005_03 (part of
-Red Hat Linux from 6.0, April 1999).</P
-><P
->These are available from the CPAN (&#8220;the Comprehensive
-Perl Archive Network&#8221;) as usual;
-<A
-HREF="http://www.cpan.org/"
-TARGET="_top"
->http://www.cpan.org/</A
->
-and links from there. Specifically:</P
-><P
-></P
-><UL
-><LI
-><P
->PERL itself:
-<A
-HREF="http://people.netscape.com/kristian/nsPerl/"
-TARGET="_top"
->http://people.netscape.com/kristian/nsPerl/</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://people.netscape.com/richm/nsPerl/nsPerl5.005_03-11-i686-linux.tar.gz"
-TARGET="_top"
->http://people.netscape.com/richm/nsPerl/nsPerl5.005_03-11-i686-linux.tar.gz</A
-></P
-></LI
-><LI
-><P
->SNMP.pl
-<A
-HREF="http://www.cpan.org/modules/01modules.index.html"
-TARGET="_top"
->http://www.cpan.org/modules/01modules.index.html</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://cpan.valueclick.com/modules/by-category/05_Networking_Devices_IPC/SNMP/"
-TARGET="_top"
->http://cpan.valueclick.com/modules/by-category/05_Networking_Devices_IPC/SNMP/</A
-></P
-></LI
-><LI
-><P
-><A
-HREF="http://www.cpan.org/authors/id/G/GS/GSM/SNMP.tar.gz"
-TARGET="_top"
->http://www.cpan.org/authors/id/G/GS/GSM/SNMP.tar.gz</A
-></P
-></LI
-></UL
-><P
->(note that the .tar.gz files are not browsable)</P
-><P
->For documentation on the files produced, see the documentation
-available at
-<A
-HREF="http://ucd-snmp.ucdavis.edu/"
-TARGET="_top"
->http://ucd-snmp.ucdavis.edu/</A
->
-in general, and file <TT
-CLASS="FILENAME"
->AGENT.txt</TT
-> in particular.</P
-><P
->It is likely that the output of mib2c will be further customized
-depending on eCos customer needs; it&#8217;s easy to do this
-by editing the mib2c.conf file to add or remove whatever you need
-with the resulting C sources.</P
-><P
->The UCD autoconf-style configuration does not apply to eCos.
- So if you add a completely new MIB to the agent, and support it
-using mib2c so that the my_new_mib.c file contains
-a init_my_new_mib() routine to register
-the MIB handler, you will also need to edit a couple of control
-files; these claim to be auto-generated, but in the eCos release,
-they&#8217;re not, don&#8217;t worry.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->PACKAGES/net/snmp/agent/VERSION/include/mib_module_includes.h</PRE
-></TD
-></TR
-></TABLE
-><P
->contains a number of lines like</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &#8220;mibgroup/mibII/interfaces.h&#8221;</PRE
-></TD
-></TR
-></TABLE
-><P
->so add your new MIB thus:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &#8220;mibgroup/mibII/my_new_mib.h&#8221;</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->PACKAGES/net/snmp/agent/VERSION/include/mib_module_inits.h </PRE
-></TD
-></TR
-></TABLE
-><P
->contains a number of lines like</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->init_interfaces();         
-init_dot3(); </PRE
-></TD
-></TR
-></TABLE
-><P
->and so on; add your new MIB as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->init_my_new_mib(); </PRE
-></TD
-></TR
-></TABLE
-><P
->and this should work correctly.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-unimplemented-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-agent-manpages-snmpd.conf.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Unimplemented features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->snmpd.conf</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-mibs-supported.html b/doc/html/ref/net-snmp-mibs-supported.html
deleted file mode 100644 (file)
index ff2b4b6..0000000
+++ /dev/null
@@ -1,227 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MIBs supported</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="SNMP packages in the eCos source repository"
-HREF="net-snmp-package-contents.html"><LINK
-REL="NEXT"
-TITLE="Changes to eCos sources"
-HREF="net-snmp-ecos-changes.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-package-contents.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-ecos-changes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-MIBS-SUPPORTED">MIBs supported</H1
-><P
->The standard set in MIB-II, together with the Ether-Like MIB, are supported
-by default.  The MIB files used to compile the handlers in the agent and to
-&#8220;drive&#8221; the testing (<B
-CLASS="COMMAND"
->snmpwalk</B
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->et
-al</I
-></SPAN
-> under <TT
-CLASS="LITERAL"
->LINUX</TT
->)
-are those acquired from that same UCD distribution.</P
-><P
->These are the supported MIBs; all are below mib2 == 1.3.6.1.2.1:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->system        { mib2 1 }   
-interfaces    { mib2 2 }
-              [ address-translation &#8220;at&#8221; { mib2 3 } is deprecated ]
-ip            { mib2 4 }   
-icmp          { mib2 5 }   
-tcp           { mib2 6 }   
-udp           { mib2 7 }
-              [ exterior gateway protocol &#8220;egp&#8221; { mib2 8 } not supported ]
-              [ cmot { mib2 9 } is &#8220;historic&#8221;, just a placeholder ]
-dot3          { mib2 10 7 } == { transmission 7 } &#8220;EtherLike MIB&#8221;
-snmp          { mib2 11 }</PRE
-></TD
-></TR
-></TABLE
-><P
->On inclusion of SNMPv3 support packages, the following MIBs are added to the
-default set of MIBs enumerated above : </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->snmpEngine    { snmpFrameworkMIBObjects 1 }  SNMP-FRAMEWORK-MIB, as described in
-                                             RFC-2571 for support of SNMPv3
-                                             framework.
-
-usmStats      {           usmMIBObjects 1 }  SNMP-USER-BASED-SM-MIB, as 
-usmUser       {           usmMIBObjects 2 }  specified in RFC-2574 for support 
-                                             of user based security model in 
-                                             SNMPv3 management domains.</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-package-contents.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-changes.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SNMP packages in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> source repository</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Changes to eCos sources</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-package-contents.html b/doc/html/ref/net-snmp-package-contents.html
deleted file mode 100644 (file)
index bd781ea..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SNMP packages in the eCos source repository</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="NEXT"
-TITLE="MIBs supported"
-HREF="net-snmp-mibs-supported.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-mibs-supported.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-PACKAGE-CONTENTS">SNMP packages in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-> source repository</H1
-><P
->The SNMP/eCos package consists of two eCos packages;
-the SNMP library and the SNMP agent.</P
-><P
->The sources are arranged this way partly for consistency with
-the original release from UCD, and so as to accommodate possible
-future use of the SNMP library without having an agent present.
-That could be used to build an eCos-based SNMP client application.</P
-><P
->The library contains support code for talking SNMP over the
-net - the SNMP protocol itself - and a MIB file parser (ASN-1) which
-is not used in the agent case.</P
-><P
->The agent contains the application specific handler files
-to get information about the system into the SNMP world, together
-with the SNMP agent thread
-(<TT
-CLASS="LITERAL"
->snmpd</TT
-> in <TT
-CLASS="LITERAL"
->UNIX</TT
-> terms).</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-mibs-supported.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MIBs supported</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-starting-the-snmp-agent.html b/doc/html/ref/net-snmp-starting-the-snmp-agent.html
deleted file mode 100644 (file)
index b209c10..0000000
+++ /dev/null
@@ -1,331 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Starting the SNMP Agent</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="Changes to eCos sources"
-HREF="net-snmp-ecos-changes.html"><LINK
-REL="NEXT"
-TITLE="Configuring eCos"
-HREF="net-snmp-configuring-ecos.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-ecos-changes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-configuring-ecos.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-STARTING-THE-SNMP-AGENT">Starting the SNMP Agent</H1
-><P
->A routine to instantiate and start the SNMP agent thread in the default
-configuration is provided in
-<TT
-CLASS="FILENAME"
->PACKAGES/net/snmp/agent/VERSION/src/snmptask.c</TT
-></P
-><P
->It starts the snmpd thread at priority
-<TT
-CLASS="LITERAL"
->CYGPKG_NET_THREAD_PRIORITY+1</TT
->
-by default, ie. one step less important than the TCP/IP stack service
-thread.
-It also statically creates and uses a very large stack of around 100
-KiloBytes.
-To use that convenience function, this code fragment may be copied (in
-plain C).</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef CYGPKG_SNMPAGENT
-{
-                extern void cyg_net_snmp_init(void);
-                cyg_net_snmp_init();
-            
-}
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->In case you need to perform initialization, for example setting up SNMPv3
-security features, when the snmp agent starts and every time it restarts,
-you can register a callback function by simply writing the global variable:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->externC void (*<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->snmpd_reinit_function</I
-></SPAN
->)( void );</PRE
-></TD
-></TR
-></TABLE
->
-with a suitable function pointer.</P
-><P
->The entry point to the SNMP agent is
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->externC void <TT
-CLASS="FUNCTION"
->snmpd</TT
->( void (*<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->initfunc</I
-></SPAN
->)( void ) );</PRE
-></TD
-></TR
-></TABLE
->
-so you can of course easily start it in a thread of your choice at another
-priority instead if required, after performing whatever other
-initialization your SNMP MIBs need.  A larger than default stacksize is
-required.  The <TT
-CLASS="LITERAL"
->initfunc</TT
-> parameter is the callback
-function mentioned above &#8212; a NULL parameter there is safe and
-obviously means no callback is registered.</P
-><P
->Note that if you call <TT
-CLASS="LITERAL"
->snmpd();</TT
-> yourself and do
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> call <TT
-CLASS="LITERAL"
->cyg_net_snmp_init();</TT
-> then
-that routine, global variable, and the default large stack will not be
-used.  This is the recommended way control such features from your
-application; create and start the thread yourself at the appropriate
-moment.</P
-><P
->Other APIs from the <TT
-CLASS="LITERAL"
->snmpd</TT
-> module are available,
-specifically:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->SnmpdShutDown</TT
->(int <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->a</I
-></SPAN
->);</PRE
-></TD
-></TR
-></TABLE
->
-which causes the <TT
-CLASS="LITERAL"
->snmpd</TT
-> to restart itself &#8212;
-including the callback to your init function &#8212; as soon as possible.</P
-><P
->The parameter <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->a</I
-></SPAN
-> is ignored.  It is there because in
-<TT
-CLASS="LITERAL"
->snmpd</TT
->'s &#8220;natural environment&#8221; this routine
-is a <TT
-CLASS="LITERAL"
->UNIX</TT
-> signal handler.</P
-><P
->The helper functions in the network stack for managing
-<TT
-CLASS="LITERAL"
->DHCP</TT
->
-leases will call <TT
-CLASS="FUNCTION"
->SnmpdShutDown()</TT
->
-when necessary, for example if network interfaces go down and/or come up
-again.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-changes.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-configuring-ecos.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Changes to eCos sources</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuring eCos</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-test-cases.html b/doc/html/ref/net-snmp-test-cases.html
deleted file mode 100644 (file)
index 8ecb1a6..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Test cases</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuring eCos"
-HREF="net-snmp-configuring-ecos.html"><LINK
-REL="NEXT"
-TITLE="SNMP clients and package use"
-HREF="net-snmp-clients-and-package-use.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-configuring-ecos.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-clients-and-package-use.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-TEST-CASES">Test cases</H1
-><P
->Currently only one test program is provided which uses SNMP.</P
-><P
->"snmpping" in the SNMP agent package runs the ping test from
-the TCPIP package, with the snmpd running also. This allows you
-to interrogate it using host tools of your choice. It supports MIBs
-as documented above, so eg. <B
-CLASS="COMMAND"
->snmpwalk
-<TT
-CLASS="REPLACEABLE"
-><I
->&lt;hostname&gt;</I
-></TT
-> public dot3</B
-> under
-Linux/UNIX should have the desired effect.</P
-><P
->For serious testing, you should increase the length of time
-the test runs by setting CYGNUM_SNMPAGENT_TESTS_ITERATIONS
-to something big (e.g., 999999). Build the test
-(<B
-CLASS="COMMAND"
->make -C net/snmp/agent/current tests</B
->)
-and run it on the target.</P
-><P
->Then start several jobs, some for pinging the board (to make
-the stats change) and some for interrogating the snmpd. Set &#0036;IP
-to whatever IP address the board has:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># in a root shell, for flood ping
-while(1)
-date
-ping -f -c 3001 &#0036;IP
-sleep 5
-ping -c 32 -s 2345 &#0036;IP
-end</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># have more than one of these going at once
-setenv MIBS all
-while (1)
-snmpwalk -OS &#0036;IP  public
-date
-end</PRE
-></TD
-></TR
-></TABLE
-><P
->Leave to run for a couple of days or so to test stability.</P
-><P
->The test program can also test snmpd.conf support. It tries to build a minimal
-snmpd.conf file on a RAM filesystem and passes it to the snmp sub-system. With
-this profile on target, the following snmp[cmd] (cmd=walk, get, set) should
-work :</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->snmp[cmd] -v1 $IP crux $OID
-snmp[cmd] -v2 $IP crux $OID
-snmp[cmd] -v3 $IP -u root -L noAuthNoPriv $OID
-snmp[cmd] -v3 $IP -u root -L authNoPriv -A MD5 -a md5passwd $OID</PRE
-></TD
-></TR
-></TABLE
-><P
->The following commands would however fail since they violate the access model :</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->snmp[cmd] $IP public $OID
-snmp[cmd] -v1 $IP public $OID
-snmp[cmd] -v2c $IP public $OID
-snmp[cmd] -v3 $IP -u no_user -L noAuthNoPriv $OID
-snmp[cmd] -v3 $IP -u root -L authNoPriv -A MD5 -a badpasswd $OID</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-configuring-ecos.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-clients-and-package-use.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuring eCos</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SNMP clients and package use</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp-unimplemented-features.html b/doc/html/ref/net-snmp-unimplemented-features.html
deleted file mode 100644 (file)
index 3eae41e..0000000
+++ /dev/null
@@ -1,213 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Unimplemented features</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"><LINK
-REL="PREVIOUS"
-TITLE="SNMP clients and package use"
-HREF="net-snmp-clients-and-package-use.html"><LINK
-REL="NEXT"
-TITLE="MIB Compiler "
-HREF="net-snmp-mib-compiler.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-snmp-clients-and-package-use.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 47. SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-mib-compiler.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-SNMP-UNIMPLEMENTED-FEATURES">Unimplemented features</H1
-><P
->Currently, the filesystem and persistent storage areas are
-left undone, to be implemented by the application.</P
-><P
->The SNMP library package is intended to support client and
-agent code alike.  It therefore contains lots of assumptions about
-the presence of persistent storage ie. a filesystem.  Currently,
-by default, eCos has no such thing, so those areas have been simply
-commented out and made to return empty lists or say &#8220;no
-data here.&#8221;</P
-><P
->Specifically the following files have omitted/unimplemented code :</P
-><P
-><TT
-CLASS="FILENAME"
->PACKAGES/net/snmp/lib/VERSION/src/parse.c</TT
-></P
-><P
->contains code to enumerate MIB files discovered in the system
-MIB directories (&#8220;<TT
-CLASS="FILENAME"
->/usr/share/snmp/mibs</TT
->&#8221;),
-and read them all in, building data structures that are used by
-client programs to interrogate an agent.  This is not required in
-an agent, so the routine which enumerates the directories returns
-an empty list.</P
-><P
-><TT
-CLASS="FILENAME"
->PACKAGES/net/snmp/lib/VERSION/src/read_config.c</TT
->
-contains two systems:</P
-><P
->The first tries to read the configuration file as described in the
-<A
-HREF="net-snmp-configuring-ecos.html"
->snmpd.conf file</A
-> section and 
-the second system contains code to record persistent data as files in a
-directory (typically <TT
-CLASS="FILENAME"
->/var/ucd-snmp</TT
->) thus preserving the 
-state permanently.</P
-><P
->The first part is partially implemented to support multiple profiles and enables
-dispatcher functionality as discussed in <A
-HREF="net-snmp-configuring-ecos.html#NET-SNMP-VERSION-USAGE"
->the Section called <I
->Version usage (v1, v2 or v3)</I
-></A
->.
-The second part is not supported at all in the default implementation. As required, 
-a cleaner interface to permit application code to manage persistent data will be 
-developed in consultation with customers.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-snmp-clients-and-package-use.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-mib-compiler.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SNMP clients and package use</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MIB Compiler</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/net-snmp.html b/doc/html/ref/net-snmp.html
deleted file mode 100644 (file)
index 1e05403..0000000
+++ /dev/null
@@ -1,173 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SNMP</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Calling graph for Transmission and Reception"
-HREF="io-eth-call-graph.html"><LINK
-REL="NEXT"
-TITLE="SNMP for eCos"
-HREF="net-snmp-ecos-port.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-eth-call-graph.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="NET-SNMP"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XV. SNMP</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->47. <A
-HREF="net-snmp-ecos-port.html"
->SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-eth-call-graph.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-snmp-ecos-port.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Calling graph for Transmission and Reception</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SNMP for <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ocelot.html b/doc/html/ref/ocelot.html
deleted file mode 100644 (file)
index a618030..0000000
+++ /dev/null
@@ -1,416 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MIPS/RM7000 PMC-Sierra Ocelot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board "
-HREF="malta.html"><LINK
-REL="NEXT"
-TITLE="MIPS/VR4375 NEC DDB-VRC4375"
-HREF="vrc4375.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="malta.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="vrc4375.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="OCELOT">MIPS/RM7000 PMC-Sierra Ocelot</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6944">Overview</H2
-><P
->RedBoot
-uses the front facing serial port. The default serial port settings are 38400,8,N,1.
-RedBoot also supports ethernet. Management of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6954"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6973">Additional commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the
-loading and execution of Linux kernels, is supported for this architecture
- (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The
-<B
-CLASS="COMMAND"
->exec</B
-> parameters used for MIPS boards are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Location to store command line and environment passed to kernel</P
-></DD
-><DT
->-w <TT
-CLASS="REPLACEABLE"
-><I
->&lt;time&#62;</I
-></TT
-></DT
-><DD
-><P
->Wait time in seconds before starting kernel</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"params"</I
-></TT
-></DT
-><DD
-><P
->Parameters passed to kernel</P
-></DD
-><DT
-><TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Kernel entry point, defaulting to the entry point of the last image
-loaded</P
-></DD
-></DL
-></DIV
-><P
->Linux kernels on MIPS platforms expect the entry point to be called with arguments
-in the registers equivalent to a C call with prototype:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void Linux(int argc, char **argv, char **envp);</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->RedBoot will place the appropriate data at the offset specified by the
-<TT
-CLASS="PARAMETER"
-><I
->-b</I
-></TT
-> parameter, or by default at address 0x80080000, and will set the
-arguments accordingly when calling into the kernel.</P
-><P
->The default entry point, if no image with explicit entry point has been loaded and
-none is specified, is 0x80000750.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7005">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the Ocelot board. </P
-><P
->Note that these addresses are accessed through kseg0/1 and thus translate
-to the actual address range 0x80000000-0xbfffffff, depending on the need for
-caching/non-caching access to the bus.<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range Description
------------------------ -----------
-0x00000000 - 0x0fffffff SDRAM
-0x10000000 - 0x10ffffff PCI I/O space
-0x12000000 - 0x13ffffff PCI Memory space
-0x14000000 - 0x1400ffff Galileo system controller
-0x1c000000 - 0x1c0000ff PLD (board logic)
-0x1fc00000 - 0x1fc7ffff flash</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7013">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=ocelot
-export ARCH_DIR=mips
-export PLATFORM_DIR=rm7000/ocelot</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="malta.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="vrc4375.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Malta Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MIPS/VR4375 NEC DDB-VRC4375</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/overview.png b/doc/html/ref/overview.png
deleted file mode 100644 (file)
index 00f5c4e..0000000
Binary files a/doc/html/ref/overview.png and /dev/null differ
diff --git a/doc/html/ref/pci-library-reference.html b/doc/html/ref/pci-library-reference.html
deleted file mode 100644 (file)
index d16898b..0000000
+++ /dev/null
@@ -1,1164 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PCI Library reference</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="The eCos PCI Library"
-HREF="ecos-pci-library.html"><LINK
-REL="PREVIOUS"
-TITLE="The eCos PCI Library"
-HREF="ecos-pci-library.html"><LINK
-REL="NEXT"
-TITLE="eCos POSIX compatibility layer"
-HREF="posix-compatibility.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-pci-library.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 30. The eCos PCI Library</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PCI-LIBRARY-REFERENCE">PCI Library reference</H1
-><P
->This document defines the PCI Support Library for eCos.</P
-><P
->The PCI support library provides a set of routines for accessing
-the PCI bus configuration space in a portable manner. This is provided
-by two APIs. The high level API is used by device drivers, or other
-code, to access the PCI configuration space portably. The low level
-API is used by the PCI library itself to access the hardware in
-a platform-specific manner, and may also be used by device drivers
-to access the PCI configuration space directly.</P
-><P
->Underlying the low-level API is HAL support for the basic
-configuration space operations. These should not generally be used
-by any code other than the PCI library, and are present in the HAL
-to allow low level initialization of the PCI bus and devices to
-take place if necessary.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12801">PCI Library API</H2
-><P
->The PCI library provides the following routines and types
-for accessing the PCI configuration space.</P
-><P
->The API for the PCI library is found in the header file
-<TT
-CLASS="FILENAME"
->&lt;cyg/io/pci.h&gt;</TT
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12806">Definitions</H2
-><P
->The header file contains definitions for the common configuration
-structure offsets and specimen values for device, vendor and class
-code.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12809">Types and data structures</H2
-><P
->The following types are defined:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef CYG_WORD32 cyg_pci_device_id;</PRE
-></TD
-></TR
-></TABLE
-><P
->This is comprised of the bus number, device number and functional
-unit numbers packed into a single word. The macro <TT
-CLASS="FUNCTION"
->CYG_PCI_DEV_MAKE_ID()</TT
->, in conjunction with the <TT
-CLASS="FUNCTION"
->CYG_PCI_DEV_MAKE_DEVFN()</TT
->
-macro, may be used to construct a device id from the bus, device and functional
-unit numbers. Similarly the macros <TT
-CLASS="FUNCTION"
->CYG_PCI_DEV_GET_BUS()</TT
->,
-<TT
-CLASS="FUNCTION"
->CYG_PCI_DEV_GET_DEVFN()</TT
->,
-<TT
-CLASS="FUNCTION"
->CYG_PCI_DEV_GET_DEV()</TT
->, and
-<TT
-CLASS="FUNCTION"
->CYG_PCI_DEV_GET_FN()</TT
-> may be used to extract the
-constituent parts of a device id. It should not be necessary to use these
-macros under normal circumstances. The following code fragment demonstrates
-how these macros may be used:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  // Create a packed representation of device 1, function 0
-  cyg_uint8 devfn = CYG_PCI_DEV_MAKE_DEVFN(1,0);
-
-  // Create a packed devid for that device on bus 2
-  cyg_pci_device_id devid = CYG_PCI_DEV_MAKE_ID(2, devfn);
-
-  diag_printf("bus %d, dev %d, func %d\n",
-              CYG_PCI_DEV_GET_BUS(devid),
-              CYG_PCI_DEV_GET_DEV(CYG_PCI_DEV_GET_DEVFN(devid)),
-              CYG_PCI_DEV_GET_FN(CYG_PCI_DEV_GET_DEVFN(devid));</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct cyg_pci_device;</PRE
-></TD
-></TR
-></TABLE
-><P
->This structure is used to contain data read from a PCI device's
-configuration header by <TT
-CLASS="FUNCTION"
->cyg_pci_get_device_info()</TT
->.
-It is also used to record the resource allocations made to the device.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef CYG_WORD64 CYG_PCI_ADDRESS64;
-typedef CYG_WORD32 CYG_PCI_ADDRESS32;</PRE
-></TD
-></TR
-></TABLE
-><P
->Pointers in the PCI address space are 32 bit (IO space) or
-32/64 bit (memory space). In most platform and device configurations
-all of PCI memory will be linearly addressable using only 32 bit
-pointers as read from <TT
-CLASS="VARNAME"
->base_map[]</TT
->.</P
-><P
->The 64 bit type is used to allow handling 64 bit devices in
-the future, should it be necessary, without changing the library's
-API.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12828">Functions</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_init(void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Initialize the PCI library and establish contact with the
-hardware. This function is idempotent and can be called either by
-all drivers in the system, or just from an application initialization
-function.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_find_device( cyg_uint16 vendor,
-                             cyg_uint16 device,
-                             cyg_pci_device_id *devid );</PRE
-></TD
-></TR
-></TABLE
-><P
->Searches the PCI bus configuration space for a device with
-the given <TT
-CLASS="PARAMETER"
-><I
->vendor</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->device</I
-></TT
->
-ids. The search starts at the device pointed to by <TT
-CLASS="PARAMETER"
-><I
->devid</I
-></TT
->,
-or at the first slot if it contains <TT
-CLASS="LITERAL"
->CYG_PCI_NULL_DEVID</TT
->.
-<TT
-CLASS="PARAMETER"
-><I
->*devid</I
-></TT
-> will be updated with the ID of the next device
-found. Returns <TT
-CLASS="CONSTANT"
->true</TT
-> if one is found and <TT
-CLASS="CONSTANT"
->false</TT
-> if not.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_find_class( cyg_uint32 dev_class,
-                            cyg_pci_device_id *devid );</PRE
-></TD
-></TR
-></TABLE
-><P
->Searches the PCI bus configuration space for a device with
-the given <TT
-CLASS="PARAMETER"
-><I
->dev_class</I
-></TT
-> class code.  The search starts at the
-device pointed to by <TT
-CLASS="PARAMETER"
-><I
->devid</I
-></TT
->, or at the first slot if it
-contains <TT
-CLASS="LITERAL"
->CYG_PCI_NULL_DEVID</TT
->.</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->*devid</I
-></TT
-> will be updated with the ID of the next
-device found. Returns <TT
-CLASS="CONSTANT"
->true</TT
-> if one is found and
-<TT
-CLASS="CONSTANT"
->false</TT
-> if not.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_find_next( cyg_pci_device_id cur_devid,
-                           cyg_pci_device_id *next_devid );</PRE
-></TD
-></TR
-></TABLE
-><P
->Searches the PCI configuration space for the next valid device
-after <TT
-CLASS="PARAMETER"
-><I
->cur_devid</I
-></TT
->. If <TT
-CLASS="PARAMETER"
-><I
->cur_devid</I
-></TT
->
-is given the value <TT
-CLASS="LITERAL"
->CYG_PCI_NULL_DEVID</TT
->, then the search starts
-at the first slot. It is permitted for <TT
-CLASS="PARAMETER"
-><I
->next_devid</I
-></TT
-> to
-point to <TT
-CLASS="PARAMETER"
-><I
->cur_devid</I
-></TT
->.  Returns <TT
-CLASS="CONSTANT"
->true</TT
->
-if another device is found and <TT
-CLASS="CONSTANT"
->false</TT
-> if not.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_find_matching( cyg_pci_match_func *matchp,
-                                void * match_callback_data,
-                               cyg_pci_device_id *devid );</PRE
-></TD
-></TR
-></TABLE
-><P
->Searches the PCI bus configuration space for a device whose properties
-match those required by the caller supplied <TT
-CLASS="PARAMETER"
-><I
->cyg_pci_match_func</I
-></TT
->.
-The search starts at the device pointed to by <TT
-CLASS="PARAMETER"
-><I
->devid</I
-></TT
->, or
-at the first slot if it contains <TT
-CLASS="CONSTANT"
->CYG_PCI_NULL_DEVID</TT
->. The
-<TT
-CLASS="PARAMETER"
-><I
->devid</I
-></TT
-> will be updated with the ID of the next device found.
-This function returns <TT
-CLASS="CONSTANT"
->true</TT
-> if a matching device is found
-and <TT
-CLASS="CONSTANT"
->false</TT
-> if not.</P
-><P
->The match_func has a type declared as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef cyg_bool (cyg_pci_match_func)( cyg_uint16 vendor,
-                                       cyg_uint16 device,
-                                       cyg_uint32 class,
-                                       void *     user_data);</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->vendor</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->device</I
-></TT
->, and
-<TT
-CLASS="PARAMETER"
-><I
->class</I
-></TT
-> are from the device configuration space. The
-<TT
-CLASS="PARAMETER"
-><I
->user_data</I
-></TT
-> is the callback data passed to <TT
-CLASS="FUNCTION"
->cyg_pci_find_matching</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_get_device_info ( cyg_pci_device_id devid,
-                              cyg_pci_device *dev_info );</PRE
-></TD
-></TR
-></TABLE
-><P
->This function gets the PCI configuration information for the
-device indicated in <TT
-CLASS="PARAMETER"
-><I
->devid</I
-></TT
->. The common fields of the
-<SPAN
-CLASS="STRUCTNAME"
->cyg_pci_device</SPAN
-> structure, and the appropriate fields
-of the relevant header union member are filled in from the device's
-configuration space.
-If the device has not been enabled, then this function will also fetch
-the size and type information from the base address registers and
-place it in the <TT
-CLASS="VARNAME"
->base_size[]</TT
-> array.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_set_device_info ( cyg_pci_device_id devid,
-                              cyg_pci_device *dev_info );</PRE
-></TD
-></TR
-></TABLE
-><P
->This function sets the PCI configuration information for the
-device indicated in <TT
-CLASS="PARAMETER"
-><I
->devid</I
-></TT
->. Only the configuration space
-registers that are writable are actually written. Once all the fields have
-been written, the device info will be read back into <TT
-CLASS="PARAMETER"
-><I
->*dev_info</I
-></TT
->, so that it reflects the true state of the hardware.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_read_config_uint8(  cyg_pci_device_id devid,
-                                cyg_uint8 offset, cyg_uint8 *val );
-void cyg_pci_read_config_uint16( cyg_pci_device_id devid,
-                                cyg_uint8 offset, cyg_uint16 *val );
-void cyg_pci_read_config_uint32( cyg_pci_device_id devid,
-                                cyg_uint8 offset, cyg_uint32 *val );</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions read registers of the appropriate size from
-the configuration space of the given device. They should mainly
-be used to access registers that are device specific. General PCI
-registers are best accessed through <TT
-CLASS="FUNCTION"
->cyg_pci_get_device_info()</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_write_config_uint8(  cyg_pci_device_id devid,
-                                 cyg_uint8 offset, cyg_uint8 val );
-void cyg_pci_write_config_uint16( cyg_pci_device_id devid,
-                                 cyg_uint8 offset, cyg_uint16 val );
-void cyg_pci_write_config_uint32( cyg_pci_device_id devid,
-                                 cyg_uint8 offset, cyg_uint32 val );</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions write registers of the appropriate size to
-the configuration space of the given device. They should mainly
-be used to access registers that are device specific. General PCI
-registers are best accessed through <TT
-CLASS="FUNCTION"
->cyg_pci_get_device_info()</TT
->. Writing the general registers this way may render the contents of
-a <SPAN
-CLASS="STRUCTNAME"
->cyg_pci_device</SPAN
-> structure invalid.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12891">Resource allocation</H2
-><P
->These routines allocate memory and I/O space to PCI devices.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_configure_device( cyg_pci_device *dev_info )</PRE
-></TD
-></TR
-></TABLE
-><P
->Allocate memory and IO space to all base address registers
-using the current memory and IO base addresses in the library. The
-allocated base addresses, translated into directly usable values,
-will be put into the matching <TT
-CLASS="VARNAME"
->base_map[]</TT
-> entries
-in <TT
-CLASS="PARAMETER"
-><I
->*dev_info</I
-></TT
->. If <TT
-CLASS="PARAMETER"
-><I
->*dev_info</I
-></TT
-> does
-not contain valid <TT
-CLASS="VARNAME"
->base_size[]</TT
-> entries, then the result is
-<TT
-CLASS="CONSTANT"
->false</TT
->. This function will also call <TT
-CLASS="FUNCTION"
->cyg_pci_translate_interrupt()</TT
-> to put the interrupt vector into the
-HAL vector entry.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_configure_bus( cyg_uint8 bus, cyg_uint8 *next_bus )</PRE
-></TD
-></TR
-></TABLE
-><P
->Allocate memory and IO space to all base address registers on all devices
-on the given bus and all subordinate busses. If a PCI-PCI bridge is found on
-<TT
-CLASS="PARAMETER"
-><I
->bus</I
-></TT
->, this function will call itself recursively in order
-to configure the bus on the other side of the bridge. Because of the nature of
-bridge devices, all devices on the secondary side of a bridge must be allocated
-memory and IO space before the memory and IO windows on the bridge device can be
-properly configured. The <TT
-CLASS="PARAMETER"
-><I
->next_bus</I
-></TT
-> argument points to the
-bus number to assign to the next subordinate bus found. The number will be
-incremented as new busses are discovered. If successful, <TT
-CLASS="CONSTANT"
->true</TT
->
-is returned. Otherwise, <TT
-CLASS="CONSTANT"
->false</TT
-> is returned.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_translate_interrupt( cyg_pci_device *dev_info,
-                                     CYG_ADDRWORD *vec );</PRE
-></TD
-></TR
-></TABLE
-><P
->Translate the device's PCI interrupt (INTA#-INTD#)
-to the associated HAL vector. This may also depend on which slot
-the device occupies. If the device may generate interrupts, the
-translated vector number will be stored in <TT
-CLASS="PARAMETER"
-><I
->vec</I
-></TT
-> and the
-result is <TT
-CLASS="CONSTANT"
->true</TT
->. Otherwise the result is <TT
-CLASS="CONSTANT"
->false</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pci_allocate_memory( cyg_pci_device *dev_info,
-                                  cyg_uint32 bar, 
-                                  CYG_PCI_ADDRESS64 *base );
-cyg_bool cyg_pci_allocate_io( cyg_pci_device *dev_info,
-                              cyg_uint32 bar, 
-                              CYG_PCI_ADDRESS32 *base );</PRE
-></TD
-></TR
-></TABLE
-><P
->These routines allocate memory or I/O space to the base address
-register indicated by <TT
-CLASS="PARAMETER"
-><I
->bar</I
-></TT
->. The base address in
-<TT
-CLASS="PARAMETER"
-><I
->*base</I
-></TT
-> will be correctly aligned and the address of the
-next free location will be written back into it if the allocation succeeds. If
-the base address register is of the wrong type for this allocation, or
-<TT
-CLASS="PARAMETER"
-><I
->dev_info</I
-></TT
-> does not contain valid <TT
-CLASS="VARNAME"
->base_size[]</TT
-> entries, the result is <TT
-CLASS="CONSTANT"
->false</TT
->. These functions
-allow a device driver to set up its own mappings if it wants. Most devices
-should probably use <TT
-CLASS="FUNCTION"
->cyg_pci_configure_device()</TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pci_set_memory_base( CYG_PCI_ADDRESS64 base );
-void cyg_pci_set_io_base( CYG_PCI_ADDRESS32 base );</PRE
-></TD
-></TR
-></TABLE
-><P
->These routines set the base addresses for memory and I/O mappings
-to be used by the memory allocation routines. Normally these base
-addresses will be set to default values based on the platform. These
-routines allow these to be changed by application code if necessary.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12923">PCI Library Hardware API</H2
-><P
->This API is used by the PCI library to access the PCI bus
-configuration space. Although it should not normally be necessary,
-this API may also be used by device driver or application code to
-perform PCI bus operations not supported by the PCI library.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pcihw_init(void);</PRE
-></TD
-></TR
-></TABLE
-><P
->Initialize the PCI hardware so that the configuration space
-may be accessed.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pcihw_read_config_uint8(  cyg_uint8 bus,
-               cyg_uint8 devfn, cyg_uint8 offset, cyg_uint8 *val);
-void cyg_pcihw_read_config_uint16( cyg_uint8 bus,
-               cyg_uint8 devfn, cyg_uint8 offset, cyg_uint16 *val);
-void cyg_pcihw_read_config_uint32( cyg_uint8 bus,
-               cyg_uint8 devfn, cyg_uint8 offset, cyg_uint32 *val);</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions read a register of the appropriate size from
-the PCI configuration space at an address composed from the <TT
-CLASS="PARAMETER"
-><I
->bus</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->devfn</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->offset</I
-></TT
->
-arguments.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void cyg_pcihw_write_config_uint8(  cyg_uint8 bus,
-                cyg_uint8 devfn, cyg_uint8 offset, cyg_uint8 val);
-void cyg_pcihw_write_config_uint16( cyg_uint8 bus,
-                cyg_uint8 devfn, cyg_uint8 offset, cyg_uint16 val);
-void cyg_pcihw_write_config_uint32( cyg_uint8 bus,
-                cyg_uint8 devfn, cyg_uint8 offset, cyg_uint32 val);</PRE
-></TD
-></TR
-></TABLE
-><P
->These functions write a register of the appropriate size to
-the PCI configuration space at an address composed from the
-<TT
-CLASS="PARAMETER"
-><I
->bus</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->devfn</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->offset</I
-></TT
-> arguments.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cyg_bool cyg_pcihw_translate_interrupt( cyg_uint8 bus,
-                                       cyg_uint8 devfn,
-                                       CYG_ADDRWORD *vec);</PRE
-></TD
-></TR
-></TABLE
-><P
->This function interrogates the device and determines which
-HAL interrupt vector it is connected to.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12940">HAL PCI support</H2
-><P
->HAL support consists of a set of C macros that provide the
-implementation of the low level PCI API.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_INIT()</PRE
-></TD
-></TR
-></TABLE
-><P
->Initialize the PCI bus.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_READ_UINT8( bus, devfn, offset, val )
-HAL_PCI_READ_UINT16( bus, devfn, offset, val )
-HAL_PCI_READ_UINT32( bus, devfn, offset, val )</PRE
-></TD
-></TR
-></TABLE
-><P
->Read a value from the PCI configuration space of the appropriate
-size at an address composed from the <TT
-CLASS="PARAMETER"
-><I
->bus</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->devfn</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->offset</I
-></TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_WRITE_UINT8( bus, devfn, offset, val )
-HAL_PCI_WRITE_UINT16( bus, devfn, offset, val )
-HAL_PCI_WRITE_UINT32( bus, devfn, offset, val )</PRE
-></TD
-></TR
-></TABLE
-><P
->Write a value to the PCI configuration space of the appropriate
-size at an address composed from the <TT
-CLASS="PARAMETER"
-><I
->bus</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->devfn</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->offset</I
-></TT
->.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_TRANSLATE_INTERRUPT( bus, devfn, *vec, valid )</PRE
-></TD
-></TR
-></TABLE
-><P
->Translate the device's interrupt line into a HAL
-interrupt vector.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_ALLOC_BASE_MEMORY
-HAL_PCI_ALLOC_BASE_IO</PRE
-></TD
-></TR
-></TABLE
-><P
->These macros define the default base addresses used to initialize
-the memory and I/O allocation pointers.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_PHYSICAL_MEMORY_BASE
-HAL_PCI_PHYSICAL_IO_BASE</PRE
-></TD
-></TR
-></TABLE
-><P
->PCI memory and IO range do not always correspond directly
-to physical memory or IO addresses. Frequently the PCI address spaces
-are windowed into the processor's address range at some
-offset. These macros define offsets to be added to the PCI base
-addresses to translate PCI bus addresses into physical memory addresses
-that can be used to access the allocated memory or IO space.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The chunk of PCI memory space directly addressable though
-the window by the CPU may be smaller than the amount of PCI memory
-actually provided. In that case drivers will have to access PCI
-memory space in segments. Doing this will be platform specific and
-is currently beyond the scope of the HAL.</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HAL_PCI_IGNORE_DEVICE( bus, dev, fn )</PRE
-></TD
-></TR
-></TABLE
-><P
->This macro, if defined, may be used to limit the devices which are
-found by the bus scanning functions. This is sometimes necessary for
-devices which need special handling. If this macro evaluates to <TT
-CLASS="CONSTANT"
->true</TT
->, the given device will not be found by <TT
-CLASS="FUNCTION"
->cyg_pci_find_next</TT
-> or other bus scanning functions.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-pci-library.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The eCos PCI Library</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-pci-library.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->eCos POSIX compatibility layer</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/persistent-state-flash.html b/doc/html/ref/persistent-state-flash.html
deleted file mode 100644 (file)
index 44c8a5c..0000000
+++ /dev/null
@@ -1,730 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Persistent State Flash-based Configuration and Control</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot Commands and Examples"
-HREF="redboot-commands-and-examples.html"><LINK
-REL="PREVIOUS"
-TITLE="fis write"
-HREF="fis-write-command.html"><LINK
-REL="NEXT"
-TITLE="Executing Programs from RedBoot"
-HREF="executing-programs.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fis-write-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 2. RedBoot Commands and Examples</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="executing-programs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PERSISTENT-STATE-FLASH">Persistent State Flash-based Configuration and Control</H1
-><P
-></P
-><P
->RedBoot provides flash management support for storage in the flash memory
-of multiple executable images and of non-volatile information such as IP addresses
-and other network information.</P
-><P
->RedBoot on platforms that support flash based configuration information
-will report the following message the first time that RedBoot is booted on
-the target:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->flash configuration checksum error or invalid key</PRE
-></TD
-></TR
-></TABLE
-><P
->This error can be ignored if no flash based configuration is desired,
-or can be silenced by running the <B
-CLASS="COMMAND"
->fconfig</B
->
-command as described below. At this point you may also wish to run the <B
-CLASS="COMMAND"
->fis init</B
-> command. See other fis commands in <A
-HREF="flash-image-system.html"
->the Section called <I
->Flash Image System (FIS)</I
-></A
->.</P
-><P
->Certain control and configuration information used by RedBoot can be
-stored in flash. </P
-><P
->The details of what information is maintained in flash differ, based
-on the platform and the configuration. However, the basic operation used to
-maintain this information is the same. Using the <B
-CLASS="COMMAND"
->fconfig -l</B
-> command, the information may be displayed and/or changed.</P
-><P
->If the optional flag <TT
-CLASS="COMPUTEROUTPUT"
->-i</TT
-> is specified,
-then the configuration database will be reset to its default
-state. This is also needed the first time RedBoot is installed on the
-target, or when updating to a newer RedBoot with different
-configuration keys.</P
-><P
->If the optional flag <TT
-CLASS="COMPUTEROUTPUT"
->-l</TT
-> is specified,
-the configuration data is simply listed. Otherwise, each configuration parameter
-will be displayed and you are given a chance to change it. The entire value
-must be typed - typing just carriage return will leave a value unchanged.
-Boolean values may be entered using the first letter (<TT
-CLASS="COMPUTEROUTPUT"
->t</TT
->
-for true, <TT
-CLASS="COMPUTEROUTPUT"
->f</TT
-> for false). At any time the editing
-process may be stopped simply by entering a period (.) on the line. Entering
-the caret (^) moves the editing back to the previous item. See &#8220;RedBoot
-Editing Commands&#8221;, <A
-HREF="redboot-editing-commands.html"
->the Section called <I
->RedBoot Editing Commands</I
-> in Chapter 1</A
->. </P
-><P
->If any changes are made in the configuration, then the updated data
-will be written back to flash after getting acknowledgment from the user.</P
-><P
->If the optional flag <TT
-CLASS="COMPUTEROUTPUT"
->-n</TT
-> is specified
-(with or without <TT
-CLASS="COMPUTEROUTPUT"
->-l</TT
->) then &#8220;nicknames&#8221;
-of the entries are used.  These are shorter and less descriptive than
-&#8220;full&#8221; names.  The full name may also be displayed by adding the
-<TT
-CLASS="COMPUTEROUTPUT"
->-f</TT
-> flag.</P
-><P
->The reason for telling you nicknames is that a quick way to set a single
-entry is provided, using the format
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig <TT
-CLASS="REPLACEABLE"
-><I
->nickname</I
-></TT
-> <TT
-CLASS="REPLACEABLE"
-><I
->value</I
-></TT
-></B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-If no
-value is supplied, the command will list and prompt for only that entry.
-If a value is supplied, then the entry will be set to that value.  You will
-be prompted whether to write the new information into flash if any change
-was made.  For example
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig -l -n</B
-></TT
->
-  boot_script: false
-  bootp: false
-  bootp_my_ip: 10.16.19.176
-  bootp_server_ip: 10.16.19.66
-  dns_ip: 10.16.19.1
-  gdb_port: 9000
-  net_debug: false
-  RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig bootp_my_ip 10.16.19.177</B
-></TT
->
-  bootp_my_ip: 10.16.19.176 Setting to 10.16.19.177
-  Update RedBoot non-volatile configuration - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-  ... Unlock from 0x507c0000-0x507e0000: .
-  ... Erase from 0x507c0000-0x507e0000: .
-  ... Program from 0x0000a8d0-0x0000acd0 at 0x507c0000: .
-  ... Lock from 0x507c0000-0x507e0000: .
-  RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Additionally, nicknames can be used like aliases via the format %{nickname}.
-This allows the values stored by <TT
-CLASS="USERINPUT"
-><B
->fconfig</B
-></TT
-> to be used
-directly by scripts and commands.</P
-><P
->Depending on how your terminal program is connected and its
-capabilities, you might find that you are unable to use line-editing to
-delete the &#8216;old&#8217; value when using the default behaviour of
-<B
-CLASS="COMMAND"
->fconfig <TT
-CLASS="REPLACEABLE"
-><I
->nickname</I
-></TT
-></B
-> or just
-plain <B
-CLASS="COMMAND"
->fconfig</B
->, as shown in this example:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fco bootp</B
-></TT
->
-bootp: false&#0095;</PRE
-></TD
-></TR
-></TABLE
->
-The user deletes the word &#8220;false;&#8221; and enters &#8220;true&#8221;
-so the display looks like this:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fco bootp</B
-></TT
->
-bootp: <TT
-CLASS="USERINPUT"
-><B
->true</B
-></TT
->
-Update RedBoot non-volatile configuration - continue (y/n)? y
-... Unlock from ...
-RedBoot&#62; &#0095;</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->To edit when you cannot backspace, use the optional flag
-<TT
-CLASS="COMPUTEROUTPUT"
->-d</TT
-> (for &#8220;dumb terminal&#8221;)
-to provide a simpler interface thus:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fco -d bootp</B
-></TT
->
-bootp: false ? &#0095;</PRE
-></TD
-></TR
-></TABLE
->
-and you enter the value in the obvious manner thus:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fco -d bootp</B
-></TT
->
-bootp: false ? <TT
-CLASS="USERINPUT"
-><B
->true</B
-></TT
->
-Update RedBoot non-volatile configuration - continue (y/n)? y
-... Unlock from ...
-RedBoot&#62; &#0095;</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->One item which is always present in the configuration data is the ability
-to execute a script at boot time. A sequence of RedBoot commands can be entered
-which will be executed when the system starts up. Optionally, a time-out period
-can be provided which allows the user to abort the startup script and proceed
-with normal command processing from the console.     </P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig -l</B
-></TT
->
-Run script at boot: false
-Use BOOTP for network configuration: false
-Local IP address: 192.168.1.29
-Default server IP address: 192.168.1.101
-DNS server IP address: 192.168.1.1
-GDB connection port: 9000
-Network debug at boot time: false</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The following example sets a boot script and then shows it running.
-    </P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fconfig</B
-></TT
->
-Run script at boot: false <TT
-CLASS="USERINPUT"
-><B
->t</B
-></TT
->
-      Boot script:
-Enter script, terminate with empty line
-&#62;&#62; <TT
-CLASS="USERINPUT"
-><B
->fi li</B
-></TT
->
-    Boot script timeout: 0 <TT
-CLASS="USERINPUT"
-><B
->10</B
-></TT
->
-Use BOOTP for network configuration: false .
-Update RedBoot non-volatile configuration - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0xa0fc0000-0xa0fe0000: .
-... Program from 0x8c021f60-0x8c022360 at 0xa0fc0000: .
-RedBoot&#62;
-RedBoot(tm) debug environment - built 08:22:24, Aug 23 2000
-Copyright (C) 2000, Red Hat, Inc.
-
-
-RAM: 0x8c000000-0x8c800000
-flash: 0xa0000000 - 0xa1000000, 128 blocks of 0x00020000 bytes ea.
-Socket Communications, Inc: Low Power Ethernet CF Revision C \
-5V/3.3V 08/27/98 IP: 192.168.1.29, Default server: 192.168.1.101 \
-== Executing boot script in 10 seconds - enter ^C to abort
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi li</B
-></TT
->
-Name              flash addr   Mem addr    Length    Entry point
-RedBoot          0xA0000000   0xA0000000  0x020000  0x80000000
-RedBoot config   0xA0FC0000   0xA0FC0000  0x020000  0x00000000
-FIS directory    0xA0FE0000   0xA0FE0000  0x020000  0x00000000
-RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The bold characters above indicate where something was entered on the
-console. As you can see, the <B
-CLASS="COMMAND"
->fi li</B
-> command
-at the end came from the script,
-not the console. Once the script is executed, command processing reverts to
-the console. </P
-></BLOCKQUOTE
-></DIV
-><P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->RedBoot supports the notion of a boot script timeout, i.e. a period of
-time that RedBoot waits before executing the boot time script.  This period
-is primarily to allow the possibility of canceling the script.  Since
-a timeout value of zero (0) seconds would never allow the script to
-be aborted or canceled, this value is not allowed.  If the timeout
-value is zero, then RedBoot will abort the script execution immediately.</P
-></BLOCKQUOTE
-></DIV
->
-On many targets, RedBoot may be configured to run from ROM or it may be
-configured to run from RAM. Other configurations are also possible. All
-RedBoot configurations will execute the boot script, but in certain cases
-it may be desirable to limit the execution of certain script commands to
-one RedBoot configuration or the other. This can be accomplished by
-prepending <TT
-CLASS="COMPUTEROUTPUT"
->{&lt;startup type&#62;}</TT
-> to the
-commands which should be executed only by the RedBoot configured for the
-specified startup type. The following boot script illustrates this concept
-by having the ROM based RedBoot load and run the RAM based RedBoot. The RAM
-based RedBoot will then list flash images.</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fco</B
-></TT
->
-Run script at boot: false <TT
-CLASS="USERINPUT"
-><B
->t</B
-></TT
->
-Boot script:
-Enter script, terminate with empty line
-&#62;&#62; <TT
-CLASS="USERINPUT"
-><B
->{ROM}fis load RedBoot[RAM]</B
-></TT
->
-&#62;&#62; <TT
-CLASS="USERINPUT"
-><B
->{ROM}go</B
-></TT
->
-&#62;&#62; <TT
-CLASS="USERINPUT"
-><B
->{RAM}fis li</B
-></TT
->
-&#62;&#62;
-Boot script timeout (1000ms resolution): <TT
-CLASS="USERINPUT"
-><B
->2</B
-></TT
->
-Use BOOTP for network configuration: <TT
-CLASS="USERINPUT"
-><B
->false</B
-></TT
->
- ...
-Update RedBoot non-volatile configuration - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Unlock from 0x007c0000-0x007e0000: .
-... Erase from 0x007c0000-0x007e0000: .
-... Program from 0xa0015030-0xa0016030 at 0x007df000: .
-... Lock from 0x007c0000-0x007e0000: .
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->reset</B
-></TT
->
-... Resetting.
-+Ethernet eth0: MAC address 00:80:4d:46:01:05
-IP: 192.168.1.153, Default server: 192.168.1.10
-
-RedBoot(tm) bootstrap and debug environment [ROM]
-Red Hat certified release, version R1.xx - built 17:37:36, Aug 14 2001
-
-Platform: IQ80310 (XScale)
-Copyright (C) 2000, 2001, Red Hat, Inc.
-
-RAM: 0xa0000000-0xa2000000, 0xa001b088-0xa1fdf000 available
-FLASH: 0x00000000 - 0x00800000, 64 blocks of 0x00020000 bytes each.
-== Executing boot script in 2.000 seconds - enter ^C to abort
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis load RedBoot[RAM]</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->go</B
-></TT
->
-+Ethernet eth0: MAC address 00:80:4d:46:01:05
-IP: 192.168.1.153, Default server: 192.168.1.10
-
-RedBoot(tm) bootstrap and debug environment [RAM]
-Red Hat certified release, version R1.xx - built 13:03:47, Aug 14 2001
-
-Platform: IQ80310 (XScale)
-Copyright (C) 2000, 2001, Red Hat, Inc.
-
-RAM: 0xa0000000-0xa2000000, 0xa0057fe8-0xa1fdf000 available
-FLASH: 0x00000000 - 0x00800000, 64 blocks of 0x00020000 bytes each.
-== Executing boot script in 2.000 seconds - enter ^C to abort
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis li</B
-></TT
->
-Name              FLASH addr  Mem addr    Length      Entry point
-RedBoot           0x00000000  0x00000000  0x00040000  0x00002000
-RedBoot config    0x007DF000  0x007DF000  0x00001000  0x00000000
-FIS directory     0x007E0000  0x007E0000  0x00020000  0x00000000
-RedBoot&#62;</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fis-write-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="executing-programs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->fis write</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot-commands-and-examples.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Executing Programs from RedBoot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/pid.html b/doc/html/ref/pid.html
deleted file mode 100644 (file)
index 9824fd8..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/ARM7+ARM9 ARM Integrator"
-HREF="integrator.html"><LINK
-REL="NEXT"
-TITLE="ARM/ARM7 Atmel AT91 Evaluation Board (EB40)"
-HREF="at91.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="integrator.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="at91.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PID">ARM/ARM7+ARM9 ARM PID Board and EPI Dev7+Dev9</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5204">Overview</H2
-><P
->RedBoot
-uses either of the serial ports. The default serial port settings are 38400,8,N,1.
-Management of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5214"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5233">Initial Installation Method</H2
-><P
->Device programmer is used to program socketed flash parts with ROM version
-of RedBoot. </P
-><P
->Alternatively, to install RedBoot on a target that already has eCos
-GDB stubs, download the RAM mode image of RedBoot and run it. Initialize the
-flash image directory: <B
-CLASS="COMMAND"
->fis init</B
-> Then
-download the ROM version of RedBoot and program it into flash: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -b %{FREEMEMLO} -m ymodem</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fi cr RedBoot</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5241">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5244">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the PID board. <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range Description
------------------------ -----------
-0x00000000 - 0x0007ffff DRAM
-0x04000000 - 0x04080000 flash
-0x08000000 - 0x09ffffff ASB Expansion
-0x0a000000 - 0x0bffffff APB Reference Peripheral
-0x0c000000 - 0x0fffffff NISA Serial, Parallel and PC Card ports </PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5248">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=pid
-export ARCH_DIR=arm
-export PLATFORM_DIR=pid</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="integrator.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="at91.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/ARM7+ARM9 ARM Integrator</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/ARM7 Atmel AT91 Evaluation Board (EB40)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/ping-command.html b/doc/html/ref/ping-command.html
deleted file mode 100644 (file)
index 501ec6f..0000000
+++ /dev/null
@@ -1,537 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ping</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="mfill"
-HREF="mfill-command.html"><LINK
-REL="NEXT"
-TITLE="reset"
-HREF="reset-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="mfill-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="reset-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="PING-COMMAND">ping</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3744"
-></A
-><H2
->Name</H2
->ping&nbsp;--&nbsp;Verify network connectivity</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3747"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->ping</B
->  [-v ] [-i <TT
-CLASS="REPLACEABLE"
-><I
-> local_IP_address</I
-></TT
->] [-l <TT
-CLASS="REPLACEABLE"
-><I
-> length</I
-></TT
->] [-n <TT
-CLASS="REPLACEABLE"
-><I
-> count</I
-></TT
->] [-t <TT
-CLASS="REPLACEABLE"
-><I
-> timeout</I
-></TT
->] [-r <TT
-CLASS="REPLACEABLE"
-><I
-> rate</I
-></TT
->] {-h <TT
-CLASS="REPLACEABLE"
-><I
-> server_IP_address</I
-></TT
->}</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3763"
-></A
-><H2
->Arguments</H2
-><DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN3765"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Name</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Type</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Default</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-v</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Boolean</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Be verbose, displaying information about each packet sent.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->quiet</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-n <TT
-CLASS="REPLACEABLE"
-><I
->local_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Controls the number of packets to be sent.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->10</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-i <TT
-CLASS="REPLACEABLE"
-><I
->local_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Numeric IP or DNS name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The IP address RedBoot should use.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Value set by <B
-CLASS="COMMAND"
->ip_address</B
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-h <TT
-CLASS="REPLACEABLE"
-><I
->server_IP_address</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Numeric IP or DNS name</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The IP address of the host to contact.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->none</I
-></SPAN
-></TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-l <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->The length of the ICMP data payload.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->64</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-r <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->How fast to deliver packets, i.e. time between successive sends.
-A value of 0 sends packets as quickly as possible.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->1000ms (1 second)</TD
-></TR
-><TR
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-t <TT
-CLASS="REPLACEABLE"
-><I
->length</I
-></TT
-></TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Number</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->How long to wait for the round-trip to complete, specified in milliseconds.</TD
-><TD
-WIDTH="25%"
-ALIGN="LEFT"
-VALIGN="TOP"
->1000ms (1 second)</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3822"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->ping</B
-> command checks the connectivity of the local network by sending
-special (ICMP) packets to a specific host. These packets should be automatically
-returned by that host. The command will indicate how many of these round-trips
-were successfully completed. 
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3826"
-></A
-><H2
->Examples</H2
-><P
->Test connectivity to host 192.168.1.101.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->ping -h 192.168.1.101</B
-></TT
->
-Network PING - from 192.168.1.31 to 192.168.1.101
-PING - received 10 of 10 expected</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
->Test connectivity to host 192.168.1.101, with verbose reporting.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->ping -h 192.168.1.101 -v -n 4</B
-></TT
->
-Network PING - from 192.168.1.31 to 192.168.1.101
- seq: 1, time: 1 (ticks)
- seq: 2, time: 1 (ticks)
- seq: 3, time: 1 (ticks)
- seq: 4, time: 1 (ticks)
-PING - received 10 of 10 expected</PRE
-></TD
-></TR
-></TABLE
-> </P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Test connectivity to a non-existent host (192.168.1.109).
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->ping -h 192.168.1.109 -v -n 4</B
-></TT
->
-PING: Cannot reach server '192.168.1.109' (192.168.1.109)</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="mfill-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="reset-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->mfill</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->reset</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-c-language-services.html b/doc/html/ref/posix-c-language-services.html
deleted file mode 100644 (file)
index dce4120..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->C Language Services [POSIX Section 8]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Device and Class Specific Functions [POSIX Section 7]"
-HREF="posix-device-and-class-specific-functions.html"><LINK
-REL="NEXT"
-TITLE="System Databases [POSIX Section 9]"
-HREF="posix-system-databases.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-device-and-class-specific-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-system-databases.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-C-LANGUAGE-SERVICES">C Language Services &#0091;POSIX Section 8&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13100">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->char &#0042;setlocale( int category, const char &#0042;locale ); 
-int fileno( FILE &#0042;stream ); 
-FILE &#0042;fdopen( int fd, const char &#0042;type ); 
-int getc&#0095;unlocked( FILE &#0042;stream); 
-int getchar&#0095;unlocked( void ); 
-int putc&#0095;unlocked( FILE &#0042;stream ); 
-int putchar&#0095;unlocked( void ); 
-char &#0042;strtok&#0095;r( char &#0042;s, const char &#0042;sep, 
-                char &#0042;&#0042;lasts ); 
-char &#0042;asctime&#0095;r( const struct tm &#0042;tm, char &#0042;buf ); 
-char &#0042;ctime&#0095;r( const time&#0095;t &#0042;clock, char &#0042;buf ); 
-struct tm &#0042;gmtime&#0095;r( const time&#0095;t &#0042;clock,
-                     struct tm &#0042;result ); 
-struct tm &#0042;localtime&#0095;r( const time&#0095;t &#0042;clock,
-                        struct tm &#0042;result ); 
-int rand&#0095;r( unsigned int &#0042;seed );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13103">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->void flockfile( FILE &#0042;file ); 
-int ftrylockfile( FILE &#0042;file ); 
-void funlockfile( FILE &#0042;file ); 
-int sigsetjmp( sigjmp&#0095;buf env, int savemask );                   &#0047;&#0047; TBA 
-void siglongjmp( sigjmp&#0095;buf env, int val );                      &#0047;&#0047; TBA 
-void tzset(void);                                                       &#0047;&#0047; TBA</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13106">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->          <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->setlocale()</I
-></SPAN
-> is implemented in the C
-           library Internationalization package.
-           </P
-></LI
-><LI
-><P
->          Functions <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->fileno()</I
-></SPAN
-> and
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->fdopen()</I
-></SPAN
-> are implemented in the C
-           library STDIO package.
-           </P
-></LI
-><LI
-><P
->          Functions <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->getc&#0095;unlocked()</I
-></SPAN
->, 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->getchar&#0095;unlocked()</I
-></SPAN
->,
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->putc&#0095;unlocked()</I
-></SPAN
-> and
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->putchar&#0095;unlocked()</I
-></SPAN
-> are defined
-           but are currently identical to their non-unlocked
-           equivalents.
-           </P
-></LI
-><LI
-><P
->          <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->strtok&#0095;r()</I
-></SPAN
->, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->asctime&#0095;r()</I
-></SPAN
->, 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ctime&#0095;r()</I
-></SPAN
->, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->gmtime&#0095;r()</I
-></SPAN
->, 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->localtime&#0095;r()</I
-></SPAN
-> and
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->rand&#0095;r()</I
-></SPAN
-> are all currently in
-           the C library, alongside their non-reentrant versions.
-           </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-device-and-class-specific-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-system-databases.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Device and Class Specific Functions &#0091;POSIX Section 7&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->System Databases &#0091;POSIX Section 9&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-clocks-and-timers.html b/doc/html/ref/posix-clocks-and-timers.html
deleted file mode 100644 (file)
index 401df58..0000000
+++ /dev/null
@@ -1,224 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Clocks and Timers [POSIX Section 14]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Execution Scheduling [POSIX Section 13]"
-HREF="posix-execution-scheduling.html"><LINK
-REL="NEXT"
-TITLE="Message Passing [POSIX Section 15]"
-HREF="posix-message-passing.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-execution-scheduling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-message-passing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-CLOCKS-AND-TIMERS">Clocks and Timers &#0091;POSIX Section 14&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13230">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int clock&#0095;settime( clockid&#0095;t clock&#0095;id,
-const struct timespec &#0042;tp); 
-int clock&#0095;gettime( clockid&#0095;t clock&#0095;id, struct timespec &#0042;tp); 
-int clock&#0095;getres( clockid&#0095;t clock&#0095;id, struct timespec &#0042;tp); 
-int timer&#0095;create( clockid&#0095;t clock&#0095;id, struct sigevent &#0042;evp,
-                 timer&#0095;t &#0042;timer&#0095;id);
-int timer&#0095;delete( timer&#0095;t timer&#0095;id ); 
-int timer&#0095;settime( timer&#0095;t timerid, int flags,
-                  const struct itimerspec &#0042;value,
-                  struct itimerspec &#0042;ovalue ); 
-int timer&#0095;gettime( timer&#0095;t timerid, struct itimerspec &#0042;value ); 
-int timer&#0095;getoverrun( timer&#0095;t timerid ); 
-int nanosleep( const struct timespec &#0042;rqtp, struct timespec &#0042;rmtp);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13233">Functions Omitted</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13236">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->    Currently <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->timer&#0095;getoverrun()</I
-></SPAN
-> only
-    reports timer notifications that are delayed in the timer
-    subsystem.  If they are delayed in the signal subsystem, due to
-    signal masks for example, this is not counted as an overrun.
-    </P
-></LI
-><LI
-><P
->    The option CYGPKG&#0095;POSIX&#0095;TIMERS allows the timer support to be
-    enabled or disabled, and causes &#0095;POSIX&#0095;TIMERS to be defined
-    appropriately. This will cause other parts of the POSIX system to
-    have limited functionality.
-    </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-execution-scheduling.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-message-passing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Execution Scheduling &#0091;POSIX Section 13&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Message Passing &#0091;POSIX Section 15&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-compatibility.html b/doc/html/ref/posix-compatibility.html
deleted file mode 100644 (file)
index 2f678df..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos POSIX compatibility layer</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="PCI Library reference"
-HREF="pci-library-reference.html"><LINK
-REL="NEXT"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="pci-library-reference.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="POSIX-COMPATIBILITY"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->VIII. eCos POSIX compatibility layer</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->31. <A
-HREF="posix-standard-support.html"
->POSIX Standard Support</A
-></DT
-><DT
-><A
-HREF="posix-compatibility.html#POSIX-REFERENCES-AND-BIBLIOGRAPHY"
->References and Bibliography</A
-></DT
-></DL
-></DIV
-></DIV
-><H3
-><A
-NAME="POSIX-REFERENCES-AND-BIBLIOGRAPHY"
->References and Bibliography</A
-></H3
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13327"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;Lewine&#0093;
-      <SPAN
-CLASS="AUTHOR"
->Donald A. Lweine</SPAN
->
-      <I
->Posix Programmer&#8217;s Guide: Writing Portable Unix
-       Programs With the POSIX.1 Standard O&#8217;Reilly &amp;
-       Associates; ISBN: 0937175730.</I
-></P
-></DIV
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13334"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;Lewis1&#0093;
-      <SPAN
-CLASS="AUTHOR"
->Bil Lewis</SPAN
->
-      <SPAN
-CLASS="AUTHOR"
->Daniel J. Berg</SPAN
->
-      <I
->Threads Primer: A Guide to Multithreaded Programming</I
->
-      Prentice Hall
-      ISBN: 013443698
-    </P
-></DIV
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13346"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;Lewis2&#0093;
-      <SPAN
-CLASS="AUTHOR"
->Bil Lewis</SPAN
->
-      <SPAN
-CLASS="AUTHOR"
->Daniel J. Berg</SPAN
->
-      <I
->Multithreaded Programming With Pthreads</I
->
-      Prentice Hall Computer Books
-      ISBN: 0136807291
-    </P
-></DIV
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13359"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;Nichols&#0093;
-      <SPAN
-CLASS="AUTHOR"
->Bradford Nichols</SPAN
->
-      <SPAN
-CLASS="AUTHOR"
->Dick Buttlar</SPAN
->
-      <SPAN
-CLASS="AUTHOR"
->Jacqueline Proulx Farrell</SPAN
->
-      <I
->Pthreads Programming: A POSIX Standard for Better
-       Multiprocessing (O&#8217;Reilly Nutshell)</I
->
-      O&#8217;Reilly &amp; Associates
-      ISBN: 1565921151
-    </P
-></DIV
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13375"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;Norton&#0093;
-      <SPAN
-CLASS="AUTHOR"
->Scott J. Norton</SPAN
->
-      <SPAN
-CLASS="AUTHOR"
->Mark D. Depasquale</SPAN
->
-      <I
->Thread Time: The MultiThreaded Programming Guide</I
->
-      Prentice Hall
-      ISBN: 0131900676</P
-></DIV
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13389"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;POSIX&#0093;
-      <I
->Portable Operating System Interface(POSIX) -
-Part 1: System Application Programming Interface (API)&#0091;C
-Language&#0093;</I
->
-      ISO&#0047;IEC 9945-1:1996, IEEE</P
-></DIV
-><DIV
-CLASS="BIBLIOMIXED"
-><A
-NAME="AEN13393"
-></A
-><P
-CLASS="BIBLIOMIXED"
->      &#0091;SUS2&#0093;
-      <I
->Open Group; Single Unix Specification, Version 2</I
->
-      <A
-HREF="http://www.opengroup.org/public/pubs/online/7908799/index.html"
-TARGET="_top"
->http://www.opengroup.org/public/pubs/online/7908799/index.html</A
->
-    </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="pci-library-reference.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PCI Library reference</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->POSIX Standard Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-data-interchange-format.html b/doc/html/ref/posix-data-interchange-format.html
deleted file mode 100644 (file)
index 9f2bd93..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Data Interchange Format [POSIX Section 10]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="System Databases [POSIX Section 9]"
-HREF="posix-system-databases.html"><LINK
-REL="NEXT"
-TITLE="Synchronization [POSIX Section 11]"
-HREF="posix-synchronization.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-system-databases.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-synchronization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-DATA-INTERCHANGE-FORMAT">Data Interchange Format &#0091;POSIX Section 10&#0093;</H1
-><P
->This section details <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tar</I
-></SPAN
-> and
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->cpio</I
-></SPAN
-> formats. Neither of these is supported by
-eCos.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-system-databases.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-synchronization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->System Databases &#0091;POSIX Section 9&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Synchronization &#0091;POSIX Section 11&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-device-and-class-specific-functions.html b/doc/html/ref/posix-device-and-class-specific-functions.html
deleted file mode 100644 (file)
index 50157c6..0000000
+++ /dev/null
@@ -1,253 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Device and Class Specific Functions [POSIX Section 7]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Input and Output [POSIX Section 6]"
-HREF="posix-input-and-output.html"><LINK
-REL="NEXT"
-TITLE="C Language Services [POSIX Section 8]"
-HREF="posix-c-language-services.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-input-and-output.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-c-language-services.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-DEVICE-AND-CLASS-SPECIFIC-FUNCTIONS">Device and Class Specific Functions &#0091;POSIX Section 7&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13079">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->speed&#0095;t cfgetospeed( const struct termios &#0042;termios&#0095;p ); 
-int cfsetospeed( struct termios &#0042;termios&#0095;p, speed&#0095;t speed ); 
-speed&#0095;t cfgetispeed( const struct termios &#0042;termios&#0095;p ); 
-int cfsetispeed( struct termios &#0042;termios&#0095;p, speed&#0095;t speed ); 
-int tcgetattr( int fd, struct termios &#0042;termios&#0095;p ); 
-int tcsetattr( int fd, int optional&#0095;actions,
-              const struct termios &#0042;termios&#0095;p ); 
-int tcsendbreak( int fd, int duration ); 
-int tcdrain( int fd );
-int tcflush( int fd, int queue&#0095;selector ); 
-int tcsendbreak( int fd, int action );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13082">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->pid&#0095;t tcgetpgrp( int fd ); 
-int tcsetpgrp( int fd, pid&#0095;t pgrp );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13085">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->          Only the functionality relevant to basic serial device
-           control is implemented. Only very limited support for
-           canonical input is provided, and then only via the
-           &#8220;tty&#8221; devices, not the &#8220;serial&#8221;
-           devices. None of the functionality relevant to job
-           control, controlling terminals and sessions is
-           implemented.
-           </P
-></LI
-><LI
-><P
->          Only <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->MIN</I
-></SPAN
-> &#0061; 0 and
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->TIME</I
-></SPAN
-> &#0061; 0 functionality is
-           provided.
-           </P
-></LI
-><LI
-><P
->          Hardware flow control is supported if the underlying
-           device driver and serial port support it.
-           </P
-></LI
-><LI
-><P
->          Support for break, framing and parity errors depends on
-           the functionality of the hardware and device driver.
-           </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-input-and-output.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-c-language-services.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Input and Output &#0091;POSIX Section 6&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->C Language Services &#0091;POSIX Section 8&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-execution-scheduling.html b/doc/html/ref/posix-execution-scheduling.html
deleted file mode 100644 (file)
index b0a3612..0000000
+++ /dev/null
@@ -1,372 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Execution Scheduling [POSIX Section 13]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Memory Management [POSIX Section 12]"
-HREF="posix-memory-management.html"><LINK
-REL="NEXT"
-TITLE="Clocks and Timers [POSIX Section 14]"
-HREF="posix-clocks-and-timers.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-memory-management.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-clocks-and-timers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-EXECUTION-SCHEDULING">Execution Scheduling &#0091;POSIX Section 13&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13195">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int sched&#0095;yield(void); 
-int sched&#0095;get&#0095;priority&#0095;max(int policy); 
-int sched&#0095;get&#0095;priority&#0095;min(int policy); 
-int sched&#0095;rr&#0095;get&#0095;interval(pid&#0095;t pid, struct timespec &#0042;t); 
-int pthread&#0095;attr&#0095;setscope(pthread&#0095;attr&#0095;t &#0042;attr, int scope); 
-int pthread&#0095;attr&#0095;getscope(const pthread&#0095;attr&#0095;t &#0042;attr, int &#0042;scope); 
-int pthread&#0095;attr&#0095;setinheritsched(pthread&#0095;attr&#0095;t &#0042;attr, int inherit); 
-int pthread&#0095;attr&#0095;getinheritsched(const pthread&#0095;attr&#0095;t &#0042;attr, int &#0042;inherit); 
-int pthread&#0095;attr&#0095;setschedpolicy(pthread&#0095;attr&#0095;t &#0042;attr, int policy); 
-int pthread&#0095;attr&#0095;getschedpolicy(const pthread&#0095;attr&#0095;t &#0042;attr, int &#0042;policy);
-int pthread&#0095;attr&#0095;setschedparam( pthread&#0095;attr&#0095;t &#0042;attr, const struct sched&#0095;param &#0042;param); 
-int pthread&#0095;attr&#0095;getschedparam( const pthread&#0095;attr&#0095;t &#0042;attr,
-                               struct sched&#0095;param &#0042;param); 
-int pthread&#0095;setschedparam(pthread&#0095;t thread, int policy,
-                         const struct sched&#0095;param &#0042;param); 
-int pthread&#0095;getschedparam(pthread&#0095;t thread, int &#0042;policy,
-                         struct sched&#0095;param &#0042;param); 
-int pthread&#0095;mutexattr&#0095;setprotocol( pthread&#0095;mutexattr&#0095;t &#0042;attr,
-                                   int protocol);
-int pthread&#0095;mutexattr&#0095;getprotocol( pthread&#0095;mutexattr&#0095;t &#0042;attr,
-                                   int &#0042;protocol); 
-int pthread&#0095;mutexattr&#0095;setprioceiling( pthread&#0095;mutexattr&#0095;t &#0042;attr,
-                                      int prioceiling); 
-int pthread&#0095;mutexattr&#0095;getprioceiling( pthread&#0095;mutexattr&#0095;t &#0042;attr,
-                                     int &#0042;prioceiling);
-int pthread&#0095;mutex&#0095;setprioceiling( pthread&#0095;mutex&#0095;t &#0042;mutex,
-                                 int prioceiling,
-                                 int &#0042;old&#0095;ceiling); 
-int pthread&#0095;mutex&#0095;getprioceiling( pthread&#0095;mutex&#0095;t &#0042;mutex,
-                                  int &#0042;prioceiling);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13198">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int sched&#0095;setparam(pid&#0095;t pid, const struct sched&#0095;param &#0042;param); 
-int sched&#0095;getparam(pid&#0095;t pid, struct sched&#0095;param &#0042;param); 
-int sched&#0095;setscheduler(pid&#0095;t pid, int policy,
-                      const struct sched&#0095;param &#0042;param); 
-int sched&#0095;getscheduler(pid&#0095;t pid);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13201">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->        The functions <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sched&#0095;setparam()</I
-></SPAN
->, 
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sched&#0095;getparam()</I
-></SPAN
->,
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sched&#0095;setscheduler()</I
-></SPAN
-> and
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sched&#0095;getscheduler()</I
-></SPAN
-> are present
-         but always return an error.
-         </P
-></LI
-><LI
-><P
->        The scheduler policy <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->SCHED&#0095;OTHER</I
-></SPAN
-> is
-         equivalent to <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->SCHED&#0095;RR</I
-></SPAN
->.
-         </P
-></LI
-><LI
-><P
->        Only <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->PTHREAD&#0095;SCOPE&#0095;SYSTEM</I
-></SPAN
->
-         is supported as a
-         <SPAN
-CLASS="strong"
-><B
-CLASS="EMPHASIS"
->contentionscope</B
-></SPAN
->
-         attribute.
-         </P
-></LI
-><LI
-><P
->        The default thread scheduling attributes are:
-         <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->        contentionscope          PTHREAD&#0095;SCOPE&#0095;SYSTEM
-         inheritsched             PTHREAD&#0095;INHERIT&#0095;SCHED
-         schedpolicy              SCHED&#0095;OTHER
-         schedparam.sched         0
-         </PRE
-></TD
-></TR
-></TABLE
->
-          </P
-></LI
-><LI
-><P
->        Mutex priority inversion protection is controlled by a
-         number of kernel configuration options.
-         If CYGSEM&#0095;KERNEL&#0095;SYNCH&#0095;MUTEX&#0095;PRIORITY&#0095;INVERSION&#0095;PROTOCOL&#0095;INHERIT
-         is defined then
-         &#0123;&#0095;POSIX&#0095;THREAD&#0095;PRIO&#0095;INHERIT&#0125;
-         will be defined and PTHREAD&#0095;PRIO&#0095;INHERIT may
-         be set as the protocol in a
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;mutexattr&#0095;t</I
-></SPAN
->
-         object.
-         If CYGSEM&#0095;KERNEL&#0095;SYNCH&#0095;MUTEX&#0095;PRIORITY&#0095;INVERSION&#0095;PROTOCOL&#0095;CEILING
-         is defined then
-         &#0123;&#0095;POSIX&#0095;THREAD&#0095;PRIO&#0095;PROTECT&#0125;
-         will be defined and PTHREAD&#0095;PRIO&#0095;PROTECT may
-         be set as the protocol in a
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;mutexattr&#0095;t</I
-></SPAN
-> object.
-          </P
-></LI
-><LI
-><P
->        The default attribute values set by
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;mutexattr&#0095;init()</I
-></SPAN
->
-         is to set the protocol attribute to
-         PTHREAD&#0095;PRIO&#0095;NONE and the prioceiling
-         attribute to zero.
-         </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-memory-management.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-clocks-and-timers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Memory Management &#0091;POSIX Section 12&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Clocks and Timers &#0091;POSIX Section 14&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-files-and-directories.html b/doc/html/ref/posix-files-and-directories.html
deleted file mode 100644 (file)
index 5c30874..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Files and Directories [POSIX Section 5]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Process Environment [POSIX Section 4]"
-HREF="posix-process-environment.html"><LINK
-REL="NEXT"
-TITLE="Input and Output [POSIX Section 6]"
-HREF="posix-input-and-output.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-process-environment.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-input-and-output.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-FILES-AND-DIRECTORIES">Files and Directories &#0091;POSIX Section 5&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13039">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->DIR &#0042;opendir( const char &#0042;dirname ); 
-struct dirent &#0042;readdir( DIR &#0042;dirp ); 
-int readdir&#0095;r( DIR &#0042;dirp, struct dirent &#0042;entry,
-               struct dirent &#0042;&#0042;result ); 
-void rewinddir( DIR &#0042;dirp ); 
-int closedir( DIR &#0042;dirp ); 
-int chdir( const char &#0042;path ); 
-char &#0042;getcwd( char &#0042;buf, size&#0095;t size );
-int open( const char &#0042; path , int oflag , ... ); 
-int creat( const char &#0042; path, mode&#0095;t mode ); 
-int link( const char &#0042;existing, const char &#0042;new ); 
-int mkdir( const char &#0042;path, mode&#0095;t mode ); 
-int unlink( const char &#0042;path ); 
-int rmdir( const char &#0042;path ); 
-int rename( const char &#0042;old, const char &#0042;new ); 
-int stat( const char &#0042;path, struct stat &#0042;buf ); 
-int fstat( int fd, struct stat &#0042;buf ); 
-int access( const char &#0042;path, int amode ); 
-long pathconf(const char &#0042;path, int name); 
-long fpathconf(int fd, int name);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13042">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->mode&#0095;t umask( mode&#0095;t cmask ); 
-int mkfifo( const char &#0042;path, mode&#0095;t mode ); 
-int chmod( const char &#0042;path, mode&#0095;t mode );                        &#0047;&#0047; TBA 
-int fchmod( int fd, mode&#0095;t mode );                               &#0047;&#0047; TBA 
-int chown( const char &#0042;path, uid&#0095;t owner, gid&#0095;t group ); 
-int utime( const char &#0042;path, const struct utimbuf &#0042;times );        &#0047;&#0047; TBA 
-int ftruncate( int fd, off&#0095;t length );                          &#0047;&#0047; TBA</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13045">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->          If a call to <TT
-CLASS="FUNCTION"
->open()</TT
-> or <TT
-CLASS="FUNCTION"
->creat()</TT
-> supplies
-           the third &#0095;mode&#0095; parameter, it will
-           currently be ignored.
-           </P
-></LI
-><LI
-><P
->          Most of the functionality of these functions depends on
-           the underlying filesystem.
-           </P
-></LI
-><LI
-><P
->          Currently<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-> access()</I
-></SPAN
-> only checks the 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->F&#0095;OK</I
-></SPAN
-> mode explicitly, the others are
-           all assumed to be true by default.
-           </P
-></LI
-><LI
-><P
->          The maximum number of open files allowed is supplied by
-           the CYGNUM&#0095;FILEIO&#0095;NFILE option. The maximum number
-           of file descriptors is supplied by the CYGNUM&#0095;FILEIO&#0095;NFD
-           option.  
-           </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-process-environment.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-input-and-output.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Process Environment &#0091;POSIX Section 4&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Input and Output &#0091;POSIX Section 6&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-input-and-output.html b/doc/html/ref/posix-input-and-output.html
deleted file mode 100644 (file)
index 0d6f262..0000000
+++ /dev/null
@@ -1,243 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Input and Output [POSIX Section 6]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Files and Directories [POSIX Section 5]"
-HREF="posix-files-and-directories.html"><LINK
-REL="NEXT"
-TITLE="Device and Class Specific Functions [POSIX Section 7]"
-HREF="posix-device-and-class-specific-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-files-and-directories.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-device-and-class-specific-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-INPUT-AND-OUTPUT">Input and Output &#0091;POSIX Section 6&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13062">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int dup( int fd ); 
-int dup2( int fd, int fd2 ); 
-int close(int fd); 
-ssize&#0095;t  read(int fd, void &#0042;buf, size&#0095;t nbyte); 
-ssize&#0095;t  write(int fd, const void &#0042;buf, size&#0095;t nbyte); 
-int fcntl( int fd, int cmd, ... ); 
-off&#0095;t lseek(int fd, off&#0095;t offset, int whence); 
-int fsync( int fd );
-int fdatasync( int fd );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13065">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int pipe( int fildes&#0091;2&#0093; ); 
-int aio&#0095;read( struct aiocb &#0042;aiocbp );                              &#0047;&#0047; TBA 
-int aio&#0095;write( struct aiocb &#0042;aiocbp );                             &#0047;&#0047; TBA 
-int lio&#0095;listio( int mode, struct aiocb &#0042;const list&#0091;&#0093;,
-                int nent, struct sigevent &#0042;sig);         &#0047;&#0047; TBA 
-int aio&#0095;error( struct aiocb &#0042;aiocbp );                             &#0047;&#0047; TBA 
-int aio&#0095;return( struct aiocb &#0042;aiocbp );                            &#0047;&#0047; TBA 
-int aio&#0095;cancel( int fd, struct aiocb &#0042;aiocbp );                    &#0047;&#0047; TBA 
-int aio&#0095;suspend( const struct aiocb &#0042;const list&#0091;&#0093;,
-                 int nent, const struct timespec &#0042;timeout );     &#0047;&#0047; TBA 
-int aio&#0095;fsync( int op, struct aiocb &#0042;aiocbp );
-&#0047;&#0047; TBA</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13068">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->          Only the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->F&#0095;DUPFD</I
-></SPAN
-> command
-           of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->fcntl()</I
-></SPAN
-> is currently implemented.
-           </P
-></LI
-><LI
-><P
->          Most of the functionality of these functions depends on
-           the underlying filesystem.
-           </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-files-and-directories.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-device-and-class-specific-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Files and Directories &#0091;POSIX Section 5&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Device and Class Specific Functions &#0091;POSIX Section 7&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-memory-management.html b/doc/html/ref/posix-memory-management.html
deleted file mode 100644 (file)
index 7fda5d5..0000000
+++ /dev/null
@@ -1,199 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Memory Management [POSIX Section 12]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Synchronization [POSIX Section 11]"
-HREF="posix-synchronization.html"><LINK
-REL="NEXT"
-TITLE="Execution Scheduling [POSIX Section 13]"
-HREF="posix-execution-scheduling.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-synchronization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-execution-scheduling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-MEMORY-MANAGEMENT">Memory Management &#0091;POSIX Section 12&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13184">Functions Implemented</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13187">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int mlockall( int flags ); 
-int munlockall( void ); 
-int mlock( const void &#0042;addr, size&#0095;t len ); 
-int munlock( const void &#0042;addr, size&#0095;t len ); 
-void mmap( void &#0042;addr, size&#0095;t len, int prot, int flags,     
-          int fd, off&#0095;t off ); 
-int munmap( void &#0042;addr, size&#0095;t len ); 
-int mprotect( const void &#0042;addr, size&#0095;t len, int prot ); 
-int msync( void &#0042;addr, size&#0095;t len, int flags ); 
-int shm&#0095;open( const char &#0042;name, int oflag, mode&#0095;t mode ); 
-int shm&#0095;unlink( const char &#0042;name );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13190">Notes</H2
-><P
->None of these functions are currently provided. Some may
-be implemented in a restricted form in the future.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-synchronization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-execution-scheduling.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Synchronization &#0091;POSIX Section 11&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Execution Scheduling &#0091;POSIX Section 13&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-message-passing.html b/doc/html/ref/posix-message-passing.html
deleted file mode 100644 (file)
index d3ad633..0000000
+++ /dev/null
@@ -1,233 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Message Passing [POSIX Section 15]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Clocks and Timers [POSIX Section 14]"
-HREF="posix-clocks-and-timers.html"><LINK
-REL="NEXT"
-TITLE="Thread Management [POSIX Section 16]"
-HREF="posix-thread-management.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-clocks-and-timers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-thread-management.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-MESSAGE-PASSING">Message Passing &#0091;POSIX Section 15&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13246">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->mqd&#0095;t mq&#0095;open( const char &#0042;name, int  oflag, ... ); 
-int mq&#0095;close( mqd&#0095;t  mqdes ); 
-int mq&#0095;unlink( const char &#0042;name );
-int mq&#0095;send( mqd&#0095;t mqdes, const char &#0042;msg&#0095;ptr,
-            size&#0095;t msg&#0095;len, unsigned int msg&#0095;prio ); 
-ssize&#0095;t mq&#0095;receive( mqd&#0095;t mqdes, char &#0042;msg&#0095;ptr,
-                   size&#0095;t msg&#0095;len, unsigned int &#0042;msg&#0095;prio );
-int mq&#0095;setattr( mqd&#0095;t mqdes, const struct mq&#0095;attr &#0042;mqstat,
-               struct mq&#0095;attr &#0042;omqstat ); 
-int mq&#0095;getattr( mqd&#0095;t mqdes, struct mq&#0095;attr &#0042;mqstat ); 
-int mq&#0095;notify( mqd&#0095;t mqdes, const struct sigevent &#0042;notification );</PRE
-></TD
-></TR
-></TABLE
-><P
->From POSIX 1003.1d draft: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int mq&#0095;send( mqd&#0095;t mqdes, const char &#0042;msg&#0095;ptr,
-            size&#0095;t msg&#0095;len, unsigned int msg&#0095;prio,
-             const struct timespec *abs_timeout ); 
-ssize&#0095;t mq&#0095;receive( mqd&#0095;t mqdes, char &#0042;msg&#0095;ptr,
-                   size&#0095;t msg&#0095;len, unsigned int &#0042;msg&#0095;prio,
-             const struct timespec *abs_timeout );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13251">Functions Omitted</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13254">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->    The presence of message queues is controlled by the
-    CYGPKG&#0095;POSIX&#0095;MQUEUES option.  Setting this will
-    cause &#0091;&#0095;POSIX&#0095;MESSAGE&#0095;PASSING&#0093; to
-    be defined and the message queue API to be made available.
-    </P
-></LI
-><LI
-><P
->    Message queues are not currently filesystem objects. They live in
-    their own name and descriptor spaces.
-    </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-clocks-and-timers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-thread-management.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Clocks and Timers &#0091;POSIX Section 14&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread Management &#0091;POSIX Section 16&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-non-posix-functions.html b/doc/html/ref/posix-non-posix-functions.html
deleted file mode 100644 (file)
index 852513d..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Non-POSIX Functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread Cancellation [POSIX Section 18]"
-HREF="posix-thread-cancellation.html"><LINK
-REL="NEXT"
-TITLE="µITRON"
-HREF="compat-uitron.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-thread-cancellation.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compat-uitron.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-NON-POSIX-FUNCTIONS">Non-POSIX Functions</H1
-><P
->In addition to the standard POSIX functions defined above, the
-following non-POSIX functions are defined in the FILEIO package.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13314">General I&#0047;O Functions</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int ioctl( int fd, CYG&#0095;ADDRWORD com, CYG&#0095;ADDRWORD data ); 
-int select( int nfd, fd&#0095;set &#0042;in, fd&#0095;set &#0042;out, fd&#0095;set &#0042;ex, struct timeval &#0042;tv);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13317">Socket Functions</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int socket( int domain, int type, int protocol); 
-int bind( int s, const struct sockaddr &#0042;sa, unsigned int len); 
-int listen( int s, int len); 
-int accept( int s, struct sockaddr &#0042;sa, socklen&#0095;t &#0042;addrlen); 
-int connect( int s, const struct sockaddr &#0042;sa, socklen&#0095;t len); 
-int getpeername( int s, struct sockaddr &#0042;sa, socklen&#0095;t &#0042;len); 
-int getsockname( int s, struct sockaddr &#0042;sa, socklen&#0095;t &#0042;len); 
-int setsockopt( int s, int level, int optname, const void &#0042;optval,
-               socklen&#0095;t optlen); 
-int getsockopt( int s, int level, int optname, void &#0042;optval,
-               socklen&#0095;t &#0042;optlen); 
-ssize&#0095;t recvmsg( int s, struct msghdr &#0042;msg, int flags); 
-ssize&#0095;t recvfrom( int s, void &#0042;buf, size&#0095;t len, int flags, 
-                 struct sockaddr &#0042;from, socklen&#0095;t &#0042;fromlen); 
-ssize&#0095;t recv( int s, void &#0042;buf, size&#0095;t len, int flags); 
-ssize&#0095;t sendmsg( int s, const struct msghdr &#0042;msg, int flags); 
-ssize&#0095;t sendto( int s, const void &#0042;buf, size&#0095;t len, int flags, 
-               const struct sockaddr &#0042;to, socklen&#0095;t tolen); 
-ssize&#0095;t send( int s, const void &#0042;buf, size&#0095;t len, int flags); 
-int shutdown( int s, int how);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13320">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->   The precise behaviour of these functions depends mainly on the
-   functionality of the underlying filesystem or network stack to
-   which they are applied.
-   </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-thread-cancellation.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compat-uitron.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread Cancellation &#0091;POSIX Section 18&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&micro;ITRON</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-process-environment.html b/doc/html/ref/posix-process-environment.html
deleted file mode 100644 (file)
index 8227327..0000000
+++ /dev/null
@@ -1,313 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Process Environment [POSIX Section 4]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="NEXT"
-TITLE="Files and Directories [POSIX Section 5]"
-HREF="posix-files-and-directories.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-files-and-directories.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-PROCESS-ENVIRONMENT">Process Environment &#0091;POSIX Section 4&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13011">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int uname( struct utsname &#0042;name ); 
-time&#0095;t time( time&#0095;t &#0042;tloc ); 
-char &#0042;getenv( const char &#0042;name ); 
-int isatty( int fd );
-long sysconf( int name );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13014">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->pid&#0095;t getpid( void ); 
-pid&#0095;t getppid( void ); 
-uid&#0095;t getuid( void ); 
-uid&#0095;t geteuid( void ); 
-gid&#0095;t getgid( void ); 
-gid&#0095;t getegid( void ); 
-int setuid( uid&#0095;t uid ); 
-int setgid( gid&#0095;t gid ); 
-int getgroups( int gidsetsize, gid&#0095;t grouplist&#0091;&#0093; ); 
-char &#0042;getlogin( void ); 
-int getlogin&#0095;r( char &#0042;name, size&#0095;t namesize ); 
-pid&#0095;t getpgrp( void ); 
-pid&#0095;t setsid( void );
-int setpgid( pid&#0095;t pid, pid&#0095;t pgid ); 
-char &#0042;ctermid( char &#0042;s); 
-char &#0042;ttyname( int fd );                             &#0047;&#0047; TBA 
-int ttyname&#0095;r( int fd, char &#0042;name, size&#0095;t namesize); &#0047;&#0047; TBA 
-clock&#0095;t times( struct tms &#0042;buffer );                 &#0047;&#0047; TBA</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13017">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->The fields of the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->utsname</I
-></SPAN
->
-           structure are initialized as follows:
-            <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->          sysname     &#8220;eCos&#8221; 
-           nodename    &#8220;&#8221;  (gethostname() is currently not available)
-           
-           release             Major version number of the kernel 
-           version             Minor version number of the kernel 
-           machine     &#8220;&#8221;  (Requires some config tool changes)
-            </PRE
-></TD
-></TR
-></TABLE
->
-           </P
-><P
->          The sizes of these strings are defined by
-           CYG&#0095;POSIX&#0095;UTSNAME&#0095;LENGTH and
-           CYG&#0095;POSIX&#0095;UTSNAME&#0095;NODENAME&#0095;LENGTH. The
-           latter defaults to the value of the former, but may also
-           be set independently to accommodate a longer node name.
-           </P
-></LI
-><LI
-><P
->          The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->time()</I
-></SPAN
-> function is currently
-           implemented in the C library.
-           </P
-></LI
-><LI
-><P
->A set of environment strings may be defined at configuration
-           time with the CYGDAT&#0095;LIBC&#0095;DEFAULT&#0095;ENVIRONMENT
-           option. The application may also define an environment by direct
-           assignment to the <SPAN
-CLASS="strong"
-><B
-CLASS="EMPHASIS"
->environ</B
-></SPAN
->
-           variable.
-           </P
-></LI
-><LI
-><P
->          At present <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->isatty()</I
-></SPAN
-> assumes that
-           any character device is a tty and that all other devices are not
-           ttys. Since the only kind of device that eCos currently supports
-           is serial character devices, this is an adequate
-           distinction.
-           </P
-></LI
-><LI
-><P
->          All system variables supported by sysconf will yield a
-           value. However, those that are irrelevant to eCos will
-           either return the default minimum defined in
-           <TT
-CLASS="FILENAME"
->&lt;limits.h&gt;</TT
->,
-           or zero.
-           </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-files-and-directories.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->POSIX Standard Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Files and Directories &#0091;POSIX Section 5&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-standard-support.html b/doc/html/ref/posix-standard-support.html
deleted file mode 100644 (file)
index c73d367..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->POSIX Standard Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos POSIX compatibility layer"
-HREF="posix-compatibility.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos POSIX compatibility layer"
-HREF="posix-compatibility.html"><LINK
-REL="NEXT"
-TITLE="Process Environment [POSIX Section 4]"
-HREF="posix-process-environment.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-process-environment.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="POSIX-STANDARD-SUPPORT">Chapter 31. POSIX Standard Support</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="posix-standard-support.html#POSIX-PROCESS-PRIMITIVES"
->Process Primitives &#0091;POSIX Section 3&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-process-environment.html"
->Process Environment &#0091;POSIX Section 4&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-files-and-directories.html"
->Files and Directories &#0091;POSIX Section 5&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-input-and-output.html"
->Input and Output &#0091;POSIX Section 6&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-device-and-class-specific-functions.html"
->Device and Class Specific Functions &#0091;POSIX Section 7&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-c-language-services.html"
->C Language Services &#0091;POSIX Section 8&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-system-databases.html"
->System Databases &#0091;POSIX Section 9&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-data-interchange-format.html"
->Data Interchange Format &#0091;POSIX Section 10&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-synchronization.html"
->Synchronization &#0091;POSIX Section 11&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-memory-management.html"
->Memory Management &#0091;POSIX Section 12&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-execution-scheduling.html"
->Execution Scheduling &#0091;POSIX Section 13&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-clocks-and-timers.html"
->Clocks and Timers &#0091;POSIX Section 14&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-message-passing.html"
->Message Passing &#0091;POSIX Section 15&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-thread-management.html"
->Thread Management &#0091;POSIX Section 16&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-thread-specific-data.html"
->Thread-Specific Data &#0091;POSIX Section 17&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-thread-cancellation.html"
->Thread Cancellation &#0091;POSIX Section 18&#0093;</A
-></DT
-><DT
-><A
-HREF="posix-non-posix-functions.html"
->Non-POSIX Functions</A
-></DT
-></DL
-></DIV
-><P
->      eCos contains support for the POSIX Specification (ISO&#0047;IEC
-      9945-1)&#0091;POSIX&#0093;.
-    </P
-><P
->      POSIX support is divided between the POSIX and the FILEIO
-      packages. The POSIX package provides support for threads,
-      signals, synchronization, timers and message queues. The FILEIO
-      package provides support for file and device I&#0047;O. The two
-      packages may be used together or separately, depending on
-      configuration.
-    </P
-><P
->      This document takes a functional approach to the POSIX
-      library. Support for a function implies that the data types and
-      definitions necessary to support that function, and the objects
-      it manipulates, are also defined. Any exceptions to this are
-      noted, and unless otherwise noted, implemented functions behave
-      as specified in the POSIX standard.
-    </P
-><P
->      This document only covers the differences between the eCos
-      implementation and the standard; it does not provide complete
-      documentation. For full information, see the POSIX standard
-      &#0091;POSIX&#0093;. Online, the Open Group Single Unix
-      Specification &#0091;SUS2&#0093; provides complete documentation
-      of a superset of POSIX. If you have access to a Unix system with
-      POSIX compatibility, then the manual pages for this will be of
-      use.  There are also a number of books available.
-      &#0091;Lewine&#0093; covers the process, signal, file and I&#0047;O
-      functions, while &#0091;Lewis1&#0093;, &#0091;Lewis2&#0093;,
-      &#0091;Nichols&#0093; and &#0091;Norton&#0093; cover Pthreads and
-      related topics (see Bibliography, xref). However, many of these
-      books are oriented toward using POSIX in non-embedded systems,
-      so care should be taken in applying them to programming under
-      eCos.
-    </P
-><P
->      The remainder of this chapter broadly follows the structure
-      of the POSIX Specification. References to the appropriate
-      section of the Standard are included.
-    </P
-><P
->      Omitted functions marked with &#8220;&#0047;&#0047; TBA&#8221;
-      are potential candidates for later implementation.
-    </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-PROCESS-PRIMITIVES">Process Primitives &#0091;POSIX Section 3&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12979">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int kill(pid&#0095;t pid, int sig); 
-int pthread&#0095;kill(pthread&#0095;t thread, int sig); 
-int sigaction(int sig, const struct sigaction &#0042;act,
-              struct sigaction &#0042;oact); 
-int sigqueue(pid&#0095;t pid, int sig, const union sigval value); 
-int sigprocmask(int how, const sigset&#0095;t &#0042;set,
-                sigset&#0095;t &#0042;oset); 
-int pthread&#0095;sigmask(int how, const sigset&#0095;t &#0042;set,
-                    sigset&#0095;t &#0042;oset); 
-int sigpending(sigset&#0095;t &#0042;set);
-int sigsuspend(const sigset&#0095;t &#0042;set); 
-int sigwait(const sigset&#0095;t &#0042;set, int &#0042;sig); 
-int sigwaitinfo(const sigset&#0095;t &#0042;set, siginfo&#0095;t &#0042;info); 
-int sigtimedwait(const sigset&#0095;t &#0042;set, siginfo&#0095;t &#0042;info,
-                 const struct timespec &#0042;timeout); 
-int sigemptyset(sigset&#0095;t &#0042;set); 
-int sigfillset(sigset&#0095;t &#0042;set); 
-int sigaddset(sigset&#0095;t &#0042;set, int signo); 
-int sigdelset(sigset&#0095;t &#0042;set, int signo); 
-int sigismember(const sigset&#0095;t &#0042;set, int signo);
-unsigned int alarm( unsigned int seconds );
-int pause( void ); 
-unsigned int sleep( unsigned int seconds );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12982">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->pid&#0095;t fork(void); 
-int execl( const char &#0042;path, const char &#0042;arg, ... ); 
-int execv( const char &#0042;path, char &#0042;const argv&#0091;&#0093; ); 
-int execle( const char &#0042;path, const char &#0042;arg, ... ); 
-int execve( const char &#0042;path, char &#0042;const argv&#0091;&#0093;,
-            char &#0042;const envp&#0091;&#0093; ); 
-int execlp( const char &#0042;path, const char &#0042;arg, ... ); 
-int execvp( const char &#0042;path, char &#0042;const argv&#0091;&#0093; ); 
-int pthread&#0095;atfork( void(&#0042;prepare)(void),
-                    void (&#0042;parent)(void),
-                    void (&#0042;child)() );
-pid&#0095;t wait( int &#0042;stat&#0095;loc );             
-pid&#0095;t waitpid( pid&#0095;t pid, int &#0042;stat&#0095;loc,
-               int options ); 
-void &#0095;exit( int status );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN12985">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->    Signal handling may be enabled or disabled with the
-    CYGPKG&#0095;POSIX&#0095;SIGNALS option. Since signals are used
-    by other POSIX components, such as timers, disabling signals will
-    disable those components too.
-    </P
-></LI
-><LI
-><P
->    <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->kill()</I
-></SPAN
-> and
-    <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sigqueue()</I
-></SPAN
-> may only take a 
-    <SPAN
-CLASS="strong"
-><B
-CLASS="EMPHASIS"
->pid</B
-></SPAN
-> argument of zero,
-    which maps to the current process.
-    </P
-></LI
-><LI
-><P
->    The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->SIGEV&#0095;THREAD</I
-></SPAN
-> notification type is
-           not currently implemented.
-    </P
-></LI
-><LI
-><P
->    Job Control and Memory Protection signals are
-           not supported.
-    </P
-></LI
-><LI
-><P
->    An extra implementation defined
-    <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->si&#0095;code</I
-></SPAN
-> value,
-    <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->SI&#0095;EXCEPT</I
-></SPAN
->, is defined to
-    distinguish hardware generated exceptions from
-    others.
-    </P
-></LI
-><LI
-><P
->    Extra signals are defined:
-    &#0095;SIGTRAP&#0095;,&#0095;SIGIOT&#0095;,
-    &#0095;SIGEMT&#0095;, and &#0095;SIGSYS&#0095;. These are
-    largely to maintain compatibility with the signal numbers used by
-    GDB.
-    </P
-></LI
-><LI
-><P
->    Signal delivery may currently occur at unexpected places in some
-    API functions. Using <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->longjmp()</I
-></SPAN
-> to transfer
-    control out of a signal handler may result in the interrupted
-    function not being able to complete properly. This may result in
-    later function calls failing or deadlocking.
-    </P
-></LI
-></UL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-process-environment.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos POSIX compatibility layer</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-compatibility.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Process Environment &#0091;POSIX Section 4&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-synchronization.html b/doc/html/ref/posix-synchronization.html
deleted file mode 100644 (file)
index 7f317c1..0000000
+++ /dev/null
@@ -1,361 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Synchronization [POSIX Section 11]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Data Interchange Format [POSIX Section 10]"
-HREF="posix-data-interchange-format.html"><LINK
-REL="NEXT"
-TITLE="Memory Management [POSIX Section 12]"
-HREF="posix-memory-management.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-data-interchange-format.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-memory-management.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-SYNCHRONIZATION">Synchronization &#0091;POSIX Section 11&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13150">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int sem&#0095;init(sem&#0095;t &#0042;sem, int pshared, unsigned int value); 
-int sem&#0095;destroy(sem&#0095;t &#0042;sem); 
-int sem&#0095;wait(sem&#0095;t &#0042;sem); 
-int sem&#0095;trywait(sem&#0095;t &#0042;sem); 
-int sem&#0095;post(sem&#0095;t &#0042;sem);
-int sem&#0095;getvalue(sem&#0095;t &#0042;sem, int &#0042;sval); 
-int pthread&#0095;mutexattr&#0095;init( pthread&#0095;mutexattr&#0095;t &#0042;attr); 
-int pthread&#0095;mutexattr&#0095;destroy( pthread&#0095;mutexattr&#0095;t &#0042;attr); 
-int pthread&#0095;mutex&#0095;init(pthread&#0095;mutex&#0095;t &#0042;mutex,
-                      const pthread&#0095;mutexattr&#0095;t &#0042;mutex&#0095;attr); 
-int pthread&#0095;mutex&#0095;destroy(pthread&#0095;mutex&#0095;t &#0042;mutex); 
-int pthread&#0095;mutex&#0095;lock(pthread&#0095;mutex&#0095;t &#0042;mutex); 
-int pthread&#0095;mutex&#0095;trylock(pthread&#0095;mutex&#0095;t &#0042;mutex); 
-int pthread&#0095;mutex&#0095;unlock(pthread&#0095;mutex&#0095;t &#0042;mutex); 
-int pthread&#0095;condattr&#0095;init(pthread&#0095;condattr&#0095;t &#0042;attr); 
-int pthread&#0095;condattr&#0095;destroy(pthread&#0095;condattr&#0095;t &#0042;attr); 
-int pthread&#0095;cond&#0095;init(pthread&#0095;cond&#0095;t &#0042;cond, 
-                      const pthread&#0095;condattr&#0095;t &#0042;attr); 
-int pthread&#0095;cond&#0095;destroy(pthread&#0095;cond&#0095;t &#0042;cond); 
-int pthread&#0095;cond&#0095;signal(pthread&#0095;cond&#0095;t &#0042;cond); 
-int pthread&#0095;cond&#0095;broadcast(pthread&#0095;cond&#0095;t &#0042;cond); 
-int pthread&#0095;cond&#0095;wait(pthread&#0095;cond&#0095;t &#0042;cond, 
-                      pthread&#0095;mutex&#0095;t &#0042;mutex);
-int pthread&#0095;cond&#0095;timedwait(pthread&#0095;cond&#0095;t &#0042;cond,
-                          pthread&#0095;mutex&#0095;t &#0042;mutex,
-                          const struct timespec &#0042;abstime);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13153">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->sem&#0095;t &#0042;sem&#0095;open(const char &#0042;name, int oflag, ...);            &#0047;&#0047; TBA 
-int sem&#0095;close(sem&#0095;t &#0042;sem);                                   &#0047;&#0047; TBA 
-int sem&#0095;unlink(const char &#0042;name);                          &#0047;&#0047; TBA 
-int pthread&#0095;mutexattr&#0095;getpshared( const pthread&#0095;mutexattr&#0095;t &#0042;attr,
-                                 int &#0042;pshared );
-int pthread&#0095;mutexattr&#0095;setpshared( const pthread&#0095;mutexattr&#0095;t &#0042;attr,
-                                 int pshared );
-int  pthread&#0095;condattr&#0095;getpshared( const pthread&#0095;condattr&#0095;t &#0042;attr, 
-                                 int &#0042;pshared);
-int  pthread&#0095;condattr&#0095;setpshared( const pthread&#0095;condattr&#0095;t &#0042;attr,
-                                 int pshared);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13156">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->          The presence of semaphores is controlled by the
-           CYGPKG&#0095;POSIX&#0095;SEMAPHORES option. This in turn
-           causes the &#0095;POSIX&#0095;SEMAPHORES feature test
-           macro to be defined and the semaphore API to be made
-           available.
-           </P
-></LI
-><LI
-><P
->          The <SPAN
-CLASS="strong"
-><B
-CLASS="EMPHASIS"
->pshared</B
-></SPAN
-> argument to
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sem&#0095;init()</I
-></SPAN
-> is not implemented,
-           its value is ignored.
-           </P
-></LI
-><LI
-><P
->          Functions <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sem&#0095;open()</I
-></SPAN
->, 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sem&#0095;close()</I
-></SPAN
-> and
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->sem&#0095;unlink()</I
-></SPAN
-> are present but
-           always return an error (ENOSYS).
-           </P
-></LI
-><LI
-><P
->          The exact priority inversion protocols supported may be
-           controlled with the
-           &#0095;POSIX&#0095;THREAD&#0095;PRIO&#0095;INHERIT and
-           &#0095;POSIX&#0095;THREAD&#0095;PRIO&#0095;PROTECT
-           configuration options.
-           </P
-></LI
-><LI
-><P
->          &#0123;&#0095;POSIX&#0095;THREAD&#0095;PROCESS&#0095;SHARED&#0125; is
-           not defined, so the 
-           <SPAN
-CLASS="strong"
-><B
-CLASS="EMPHASIS"
->process-shared</B
-></SPAN
-> mutex
-           and condition variable attributes are not supported, and
-           neither are the functions
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;mutexattr&#0095;getpshared()</I
-></SPAN
->,
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;mutexattr&#0095;setpshared()</I
-></SPAN
->, 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;condattr&#0095;getpshared()</I
-></SPAN
-> and 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;condattr&#0095;setpshared()</I
-></SPAN
->. 
-           </P
-></LI
-><LI
-><P
->          Condition variables do not become bound to a particular
-           mutex when
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->pthread&#0095;cond&#0095;wait()</I
-></SPAN
-> is
-           called. Hence different threads may wait on a condition
-           variable with different mutexes. This is at variance with
-           the standard, which requires a condition variable to
-           become (dynamically) bound by the first waiter, and
-           unbound when the last finishes. However, this difference
-           is largely benign, and the cost of policing this feature
-           is non-trivial.
-         </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-data-interchange-format.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-memory-management.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Data Interchange Format &#0091;POSIX Section 10&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Memory Management &#0091;POSIX Section 12&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-system-databases.html b/doc/html/ref/posix-system-databases.html
deleted file mode 100644 (file)
index 9e6efdf..0000000
+++ /dev/null
@@ -1,206 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->System Databases [POSIX Section 9]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="C Language Services [POSIX Section 8]"
-HREF="posix-c-language-services.html"><LINK
-REL="NEXT"
-TITLE="Data Interchange Format [POSIX Section 10]"
-HREF="posix-data-interchange-format.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-c-language-services.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-data-interchange-format.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-SYSTEM-DATABASES">System Databases &#0091;POSIX Section 9&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13132">Functions Implemented</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13135">Functions Omitted</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->struct group &#0042;getgrgid( gid&#0095;t gid ); 
-int getgrgid( gid&#0095;t gid, struct group &#0042;grp, char &#0042;buffer, 
-             size&#0095;t bufsize, struct group &#0042;&#0042;result ); 
-struct group &#0042;getgrname( const char &#0042;name ); 
-int getgrname&#0095;r( const char &#0042;name, struct group &#0042;grp,
-                 char &#0042;buffer, size&#0095;t bufsize, struct group &#0042;&#0042;result ); 
-struct passwd &#0042;getpwuid( uid&#0095;t uid ); 
-int getpwuid&#0095;r( uid&#0095;t uid, struct passwd &#0042;pwd,
-                char &#0042;buffer, size&#0095;t bufsize, struct passwd &#0042;&#0042;result ); 
-struct passwd &#0042;getpwnam( const char &#0042;name ); 
-int getpwnam&#0095;r( const char &#0042;name, struct passwd &#0042;pwd,
-                char &#0042;buffer, size&#0095;t bufsize, struct passwd &#0042;&#0042;result );</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13138">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->          None of the functions in this section are implemented.
-           </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-c-language-services.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-data-interchange-format.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->C Language Services &#0091;POSIX Section 8&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Data Interchange Format &#0091;POSIX Section 10&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-thread-cancellation.html b/doc/html/ref/posix-thread-cancellation.html
deleted file mode 100644 (file)
index 1fc356f..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread Cancellation [POSIX Section 18]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread-Specific Data [POSIX Section 17]"
-HREF="posix-thread-specific-data.html"><LINK
-REL="NEXT"
-TITLE="Non-POSIX Functions"
-HREF="posix-non-posix-functions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-thread-specific-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-non-posix-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-THREAD-CANCELLATION">Thread Cancellation &#0091;POSIX Section 18&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13302">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int pthread&#0095;cancel(pthread&#0095;t thread); 
-int pthread&#0095;setcancelstate(int state, int &#0042;oldstate); 
-int pthread&#0095;setcanceltype(int type, int &#0042;oldtype); 
-void pthread&#0095;testcancel(void); 
-void pthread&#0095;cleanup&#0095;push( void (&#0042;routine)(void &#0042;),
-                           void &#0042;arg); 
-void pthread&#0095;cleanup&#0095;pop( int execute);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13305">Functions Omitted</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13308">Notes</H2
-><P
->Asynchronous cancellation is only partially implemented.  In
-particular, cancellation may occur in unexpected places in some
-functions. It is strongly recommended that only synchronous
-cancellation be used. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-thread-specific-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-non-posix-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread-Specific Data &#0091;POSIX Section 17&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Non-POSIX Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-thread-management.html b/doc/html/ref/posix-thread-management.html
deleted file mode 100644 (file)
index b7e33bd..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread Management [POSIX Section 16]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Message Passing [POSIX Section 15]"
-HREF="posix-message-passing.html"><LINK
-REL="NEXT"
-TITLE="Thread-Specific Data [POSIX Section 17]"
-HREF="posix-thread-specific-data.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-message-passing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-thread-specific-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-THREAD-MANAGEMENT">Thread Management &#0091;POSIX Section 16&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13263">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int pthread&#0095;attr&#0095;init(pthread&#0095;attr&#0095;t &#0042;attr); 
-int pthread&#0095;attr&#0095;destroy(pthread&#0095;attr&#0095;t &#0042;attr); 
-int pthread&#0095;attr&#0095;setdetachstate(pthread&#0095;attr&#0095;t &#0042;attr,
-                                int detachstate); 
-int pthread&#0095;attr&#0095;getdetachstate(const pthread&#0095;attr&#0095;t &#0042;attr,
-                               int &#0042;detachstate); 
-int pthread&#0095;attr&#0095;setstackaddr(pthread&#0095;attr&#0095;t &#0042;attr,
-                              void &#0042;stackaddr); 
-int pthread&#0095;attr&#0095;getstackaddr(const pthread&#0095;attr&#0095;t &#0042;attr,
-                             void &#0042;&#0042;stackaddr); 
-int pthread&#0095;attr&#0095;setstacksize(pthread&#0095;attr&#0095;t &#0042;attr,
-                              size&#0095;t stacksize); 
-int pthread&#0095;attr&#0095;getstacksize(const pthread&#0095;attr&#0095;t &#0042;attr,
-                             size&#0095;t &#0042;stacksize); 
-int pthread&#0095;create( pthread&#0095;t &#0042;thread,
-                    const pthread&#0095;attr&#0095;t &#0042;attr,
-                   void &#0042;(&#0042;start&#0095;routine)(void &#0042;),
-                   void &#0042;arg);
-pthread&#0095;t pthread&#0095;self( void ); 
-int pthread&#0095;equal(pthread&#0095;t thread1, pthread&#0095;t thread2); 
-void pthread&#0095;exit(void &#0042;retval); 
-int pthread&#0095;join(pthread&#0095;t thread, void &#0042;&#0042;thread&#0095;return); 
-int pthread&#0095;detach(pthread&#0095;t thread); 
-int pthread&#0095;once(pthread&#0095;once&#0095;t &#0042;once&#0095;control,
-                void (&#0042;init&#0095;routine)(void));</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13266">Functions Omitted</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13269">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->    The presence of thread support as a whole is controlled by the the
-    CYGPKG_POSIX_PTHREAD configuration option. Note that disabling
-    this will also disable many other features of the POSIX package,
-    since these are intimately bound up with the thread mechanism.
-    </P
-></LI
-><LI
-><P
->    The default (non-scheduling) thread attributes are:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->    detachstate            PTHREAD&#0095;CREATE&#0095;JOINABLE
-    stackaddr              unset
-    stacksize              unset
-    </PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->      Dynamic thread stack allocation is only provided if there is an
-      implementation of
-      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->malloc()</I
-></SPAN
-> configured (i.e. a package
-      implements the
-      CYGINT&#0095;MEMALLOC&#0095;MALLOC&#0095;ALLOCATORS
-      interface). If there is no malloc() available, then the thread
-      creator must supply a stack. If only a stack address is supplied
-      then the stack is assumed to be PTHREAD&#0095;STACK&#0095;MIN
-      bytes long. This size is seldom useful for any but the most
-      trivial of threads.  If a different sized stack is used, both
-      the stack address and stack size must be supplied.
-    </P
-></LI
-><LI
-><P
->      The value of PTHREAD&#0095;THREADS&#0095;MAX is supplied by
-      the CYGNUM&#0095;POSIX&#0095;PTHREAD&#0095;THREADS&#0095;MAX
-      option. This defines the maximum number of threads allowed. The
-      POSIX standard requires this value to be at least 64, and this
-      is the default value set.
-    </P
-></LI
-><LI
-><P
->    When the POSIX package is installed, the thread that calls 
-    <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->main()</I
-></SPAN
-> is initialized as a POSIX thread. The
-    priority of that thread is controlled by the
-    CYGNUM&#0095;POSIX&#0095;MAIN&#0095;DEFAULT&#0095;PRIORITY option.
-    </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-message-passing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-thread-specific-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Message Passing &#0091;POSIX Section 15&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread-Specific Data &#0091;POSIX Section 17&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/posix-thread-specific-data.html b/doc/html/ref/posix-thread-specific-data.html
deleted file mode 100644 (file)
index df03d25..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Thread-Specific Data [POSIX Section 17]</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="POSIX Standard Support"
-HREF="posix-standard-support.html"><LINK
-REL="PREVIOUS"
-TITLE="Thread Management [POSIX Section 16]"
-HREF="posix-thread-management.html"><LINK
-REL="NEXT"
-TITLE="Thread Cancellation [POSIX Section 18]"
-HREF="posix-thread-cancellation.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="posix-thread-management.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 31. POSIX Standard Support</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="posix-thread-cancellation.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="POSIX-THREAD-SPECIFIC-DATA">Thread-Specific Data &#0091;POSIX Section 17&#0093;</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13287">Functions Implemented</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->int pthread&#0095;key&#0095;create(pthread&#0095;key&#0095;t &#0042;key,
-                      void (&#0042;destructor)(void &#0042;)); 
-int pthread&#0095;setspecific(pthread&#0095;key&#0095;t key, const void &#0042;pointer); 
-void &#0042;pthread&#0095;getspecific(pthread&#0095;key&#0095;t key); 
-int pthread&#0095;key&#0095;delete(pthread&#0095;key&#0095;t key);</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13290">Functions Omitted</H2
-><P
->&lt;none&gt;</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN13293">Notes</H2
-><P
-></P
-><UL
-><LI
-><P
->    The value of PTHREAD&#0095;DESTRUCTOR&#0095;ITERATIONS is
-    provided by the
-    CYGNUM&#0095;POSIX&#0095;PTHREAD&#0095;DESTRUCTOR&#0095;ITERATIONS
-    option. This controls the number of times that a key destructor
-    will be called while the data item remains non-NULL.
-    </P
-></LI
-><LI
-><P
->    The value of PTHREAD&#0095;KEYS&#0095;MAX is provided
-    by the CYGNUM&#0095;POSIX&#0095;PTHREAD&#0095;KEYS&#0095;MAX
-    option. This defines the maximum number of per-thread data items
-    supported. The POSIX standard calls for this to be a minimum of
-    128, which is rather large for an embedded system. The default
-    value for this option is set to 128 for compatibility but it
-    should be reduced to a more usable value.
-    </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="posix-thread-management.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="posix-thread-cancellation.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Thread Management &#0091;POSIX Section 16&#0093;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="posix-standard-support.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Thread Cancellation &#0091;POSIX Section 18&#0093;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/power-attached.html b/doc/html/ref/power-attached.html
deleted file mode 100644 (file)
index aa62144..0000000
+++ /dev/null
@@ -1,258 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Attached and Detached Controllers</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="PREVIOUS"
-TITLE="Support for Policy Modules"
-HREF="power-policy.html"><LINK
-REL="NEXT"
-TITLE="Implementing a Power Controller"
-HREF="power-controller.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="power-policy.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="power-controller.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="POWER-ATTACHED">Attached and Detached Controllers</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15902"
-></A
-><H2
->Name</H2
->Attached and Detached Controllers&nbsp;--&nbsp;control which power controllers are affected by global changes</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15905"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN15906"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/power/power.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    cyg_bool power_get_controller_attached
-  </CODE
->(    PowerController* controller
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void power_set_controller_attached
-  </CODE
->(    PowerController* controller
-  ,     cyg_bool new_state
-  );</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15920"
-></A
-><H2
->Detaching Power Controllers</H2
-><P
->By default the global operation <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->
-affects all power controllers. There may be circumstances when this is
-not desirable. For example if a particular device is not currently
-being used then it can be left switched off: the rest of the system
-could be moving between <SPAN
-CLASS="TYPE"
->active</SPAN
->, <SPAN
-CLASS="TYPE"
->idle</SPAN
-> and
-<SPAN
-CLASS="TYPE"
->sleep</SPAN
-> modes, but there is no point in invoking the power
-controller for the unused device. To support this the power management
-package supports the concept of attached and detached controllers. By
-default all controllers are attached, and hence will be affected by
-global mode changes. A specific controller can be detached using the
-function <TT
-CLASS="FUNCTION"
->power_set_controller_attached</TT
->. This
-function takes two arguments, one to specify a particular controller
-and another to specify the desired new state.
-<TT
-CLASS="FUNCTION"
->power_get_controller_attached</TT
-> can be used to
-determine whether or not a specific controller is currently attached.</P
-><P
->The attached or detached state of a controller only affects what
-happens during a global mode change, in other words following a call
-to <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->. It is still possible to
-manipulate a detached controller using
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> or
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode_now</TT
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="power-policy.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="power-controller.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Support for Policy Modules</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Implementing a Power Controller</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/power-change.html b/doc/html/ref/power-change.html
deleted file mode 100644 (file)
index 9ec389f..0000000
+++ /dev/null
@@ -1,458 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Changing Power Modes</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="PREVIOUS"
-TITLE="Power Management Information"
-HREF="power-info.html"><LINK
-REL="NEXT"
-TITLE="Support for Policy Modules"
-HREF="power-policy.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="power-info.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="power-policy.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="POWER-CHANGE">Changing Power Modes</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15752"
-></A
-><H2
->Name</H2
->Changing Power Modes&nbsp;--&nbsp;reducing or increasing power consumption as needed</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15755"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN15756"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/power/power.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void power_set_mode
-  </CODE
->(    PowerMode new_mode
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void power_set_controller_mode
-  </CODE
->(    PowerController* controller
-  ,     PowerMode new_mode
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void power_set_controller_mode_now
-  </CODE
->(    PowerController* controller
-  ,     PowerMode new_mode
-  );</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-CHANGE-GLOBAL"
-></A
-><H2
->Changing the Global Power Mode</H2
-><P
->The primary functionality supported by the power management package is
-to change the system's global power mode. This is achieved by calling
-the function <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> with a single
-argument, which should be one of <TT
-CLASS="LITERAL"
->PowerMode_Active</TT
->,
-<TT
-CLASS="LITERAL"
->PowerMode_Idle</TT
->, <TT
-CLASS="LITERAL"
->PowerMode_Sleep</TT
->
-or <TT
-CLASS="LITERAL"
->PowerMode_Off</TT
->. Typically this function will only
-be invoked in certain scenarios:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->A typical system will contain a policy module which is primarily
-responsible for initiating power mode changes, and a thread inside the
-power management package. The policy module will call
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
->, which has the effect of
-manipulating some internal state in the power management package and
-waking up its thread. When this thread gets scheduled to run (its
-priority is controlled by a configuration option), it will iterate
-over the power controllers and invoke each controller to change its
-power mode. There is support for a <A
-HREF="power-policy.html#POWER-POLICY-CALLBACK"
->callback function</A
->, and for
-<A
-HREF="power-attached.html"
->detached</A
-> power controllers.</P
-></LI
-><LI
-><P
->After a call to <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> but before the
-power management thread has had a chance to iterate over all the
-controllers, or even before the thread has been rescheduled at all,
-the policy module may decide that a different power mode would be more
-appropriate for the current situation and calls
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> again. This has the effect of
-aborting the previous mode change, followed by the power management
-thread iterating over the power controllers again for the new mode.</P
-></LI
-><LI
-><P
->If there is no single policy module responsible for power mode
-changes, any code can call <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->. If
-there are multiple calls in quick succession, earlier calls will
-be aborted and the system should end up in the power mode
-corresponding to the last call</P
-></LI
-><LI
-><P
->As a special case, it is possible for a power controller to call
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> when invoked by the power
-management thread. For example a power controller could decide that it
-is inappropriate for the system to go to sleep because the device it
-is associated with is still busy. The effect is as if the policy
-module had called <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> again before 
-the mode change had completed.</P
-></LI
-></OL
-><P
->If the power management package has been configured not to use a
-separate thread then obviously the behaviour is somewhat different.
-The call to <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> will now iterate over
-the various power controllers immediately, rather than leaving this to
-a separate thread, and the whole mode change completes before
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> returns. If some other thread or a
-DSR calls <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> concurrently the
-behaviour of the system is undefined. However, it is still legal for a
-power controller to call <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->:
-effectively this is a recursive call; it is detected by the system,
-and internal state is updated; the recursive
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> call now returns, and when the
-power controller returns back to the original
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> call it detects what has happened,
-aborts the previous mode change, and starts a new mode change as
-requested by the controller.</P
-><P
-><TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> is normally invoked from thread
-context. If a separate power management thread is used it can be
-invoked safely from DSR context. If the system is configured not to
-use such a thread, it may or may not be safe to invoke this function
-from DSR context: essentially the function just iterates through
-the various power controllers, and the documentation or source code of
-each controller present in the current system will have to be examined
-to determine whether or not this can happen safely in DSR context.
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> should never be invoked from
-ISR context.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-CHANGE-CONTROLLER"
-></A
-><H2
->Manipulating an Individual Power Controller</H2
-><P
->In some cases it is desirable to set the power mode of an individual
-controller separately from the mode for the system as a whole. For
-example if a device is not currently being used then the associated
-power controller could be set to <TT
-CLASS="LITERAL"
->PowerMode_Off</TT
->,
-even while the system as a whole is still active. This can be achieved
-by calling the function
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
->. It takes two
-arguments: the first identifies a particular controller; the second
-specifies the desired new power mode for that controller. The function
-operates in much the same way as <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->,
-for example if a separate power management thread is being used then
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> operates by
-manipulating some internal state and waking up that thread. The
-limitations are also much the same as for
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
->, so for example
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> should not be invoked
-from inside ISRs.</P
-><P
->Manipulating individual controllers is often used in conjunction with
-the function <A
-HREF="power-attached.html"
-><TT
-CLASS="FUNCTION"
->power_set_controller_attached</TT
-></A
->,
-allowing the policy module to specify which controllers are affected
-by global mode changes.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-CHANGE-CONTROLLER-NOW"
-></A
-><H2
->Direct Manipulation of a Power Controller</H2
-><P
->In exceptional circumstances it may be necessary to invoke a power
-controller directly, bypassing the power management thread and
-higher-level functionality such as <A
-HREF="power-policy.html#POWER-POLICY-CALLBACK"
->callback functions</A
->. The
-function <TT
-CLASS="FUNCTION"
->power_set_controller_mode_now</TT
-> allows
-this. It takes two arguments, a controller and a mode, just like
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
->.</P
-><P
->Use of <TT
-CLASS="FUNCTION"
->power_set_controller_mode_now</TT
-> is
-dangerous. For example no attempt is made to synchronise with any
-other power mode changes that might be happening concurrently. A
-possible use is when the system gets woken up out of
-<SPAN
-CLASS="TYPE"
->sleep</SPAN
-> mode: depending on the hardware, on which power
-controllers are present, and on the application code it may be
-necessary to wake up some power controllers immediately before the
-system as a whole is ready to run again.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="power-info.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="power-policy.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Power Management Information</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Support for Policy Modules</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/power-controller.html b/doc/html/ref/power-controller.html
deleted file mode 100644 (file)
index 3d2df87..0000000
+++ /dev/null
@@ -1,656 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Implementing a Power Controller</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="PREVIOUS"
-TITLE="Attached and Detached Controllers"
-HREF="power-attached.html"><LINK
-REL="NEXT"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="power-attached.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="POWER-CONTROLLER">Implementing a Power Controller</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15936"
-></A
-><H2
->Name</H2
->Implementing a Power Controller&nbsp;--&nbsp;adding power management support to device drivers and
-other packages</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN15939"
-></A
-><H2
->Implementing a Power Controller</H2
-><P
->A system will have some number of power controllers. Usually there
-will be one power controller for the cpu,
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
->, typically provided by one of
-the HAL packages and responsible for managing the processor itself and
-associated critical components such as memory. Some or all of the
-device drivers will provide power controllers, allowing the power
-consumption of the associated devices to be controlled. There may be
-some arbitrary number of other controllers present in the system. The
-power management package does not impose any restrictions on the
-number or nature of the power controllers in the system, other than
-insisting that at most one <TT
-CLASS="VARNAME"
->power_controller_cpu</TT
-> be
-provided.</P
-><P
->Each power controller involves a single data structure of type
-<SPAN
-CLASS="STRUCTNAME"
->PowerController</SPAN
->, defined in the header file
-<TT
-CLASS="FILENAME"
->cyg/power/power.h</TT
->. These data
-structures should all be placed in the table
-<TT
-CLASS="LITERAL"
->__POWER__</TT
->, so that the power management package and
-other code can easily locate all the controllers in the system. This
-table is constructed at link-time, avoiding code-size or run-time
-overheads. To facilitate this the package provides two macros which
-should be used to define a power controller,
-<TT
-CLASS="LITERAL"
->POWER_CONTROLLER()</TT
-> and
-<TT
-CLASS="LITERAL"
->POWER_CONTROLLER_CPU()</TT
->.</P
-><P
->The macro <TT
-CLASS="LITERAL"
->POWER_CONTROLLER</TT
-> takes four arguments:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->A variable name. This can be used to access the power controller
-directly, as well as via the table.</P
-></LI
-><LI
-><P
->A priority. The table of power controllers is sorted, such that power
-controllers with a numerically lower priority come earlier in the
-table. The special controller <TT
-CLASS="VARNAME"
->power_controller_cpu</TT
->
-always comes at the end of the table. When moving from a high-power
-mode to a lower-powered mode, the power management package iterates
-through the table from front to back. When moving to a higher-powered
-mode the reverse direction is used. The intention is that the power
-controller for a software-only package such as a TCP/IP stack should
-appear near the start of the table, whereas the controllers for the
-ethernet and similar devices would be near the end of the table. Hence
-when the policy module initiates a mode change to a lower-powered mode
-the TCP/IP stack gets a chance to cancel this mode change, before the
-devices it depends on are powered down. Similarly when moving to a
-higher-powered mode the devices will be re-activated before any
-software that depends on those devices.</P
-><P
->The header file <TT
-CLASS="FILENAME"
->cyg/power/power.h</TT
-> defines three
-priorities <TT
-CLASS="LITERAL"
->PowerPri_Early</TT
->,
-<TT
-CLASS="LITERAL"
->PowerPri_Typical</TT
-> and
-<TT
-CLASS="LITERAL"
->PowerPri_Late</TT
->. For most controllers one of these
-priorities, possibly with a small number added or subtracted, will
-give sufficient control. If an application developer is uncertain
-about the relative priorities of the various controllers, a simple
-<A
-HREF="power-info.html#POWER-INFO-IDS"
->test program</A
-> that iterates over
-the table will quickly eliminate any confusion.</P
-></LI
-><LI
-><P
->A constant string identifier. If the system has been configured
-without support for such identifiers
-(<TT
-CLASS="VARNAME"
->CYGIMP_POWER_PROVIDE_STRINGS</TT
->) then this identifer
-will be discarded at compile-time. Otherwise it will be made available
-to higher-level code using the function
-<TT
-CLASS="FUNCTION"
->power_get_controller_id</TT
->. </P
-></LI
-><LI
-><P
->A function pointer. This will be invoked to perform actual mode
-changes, as described below.</P
-></LI
-></OL
-><P
->A typical example of the use of the
-<TT
-CLASS="LITERAL"
->POWER_CONTROLLER</TT
-> macro would be as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;pkgconf/system.h&gt;
-
-#ifdef CYGPKG_POWER
-# include &lt;cyg/power/power.h&gt;
-
-static void
-xyzzy_device_power_mode_change(
-    PowerController* controller,
-    PowerMode        desired_mode,
-    PowerModeChange  change)
-{
-   // Do the work
-}
-
-static POWER_CONTROLLER(xyzzy_power_controller, \
-                        PowerPri_Late,          \
-                        "xyzzy device",         \
-                        &amp;xyzzy_device_power_mode_change);
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->This creates a variable <TT
-CLASS="VARNAME"
->xyzzy_power_controller</TT
->,
-which is a power controller data structure that will end up near the
-end of the table of power controllers. Higher-level code can
-iterate through this table and report the string <TT
-CLASS="LITERAL"
->"xyzzy
-device"</TT
-> to the user. Whenever there is a mode change
-operation that affects this controller, the function
-<TT
-CLASS="FUNCTION"
->xyzzy_device_power_mode_change</TT
-> will be invoked.
-The variable is declared static so this controller cannot be
-manipulated by name in any other code. Alternatively, if the variable
-had not been declared static other code could manipulate this
-controller by name as well as through the table, especially if the
-package for the xyzzy device driver explicitly declared this
-variable in an exported header file. Obviously exporting the variable
-involves a slight risk of a name clash at link time.</P
-><P
->The above code explicitly checks for the presence of the power
-management package before including that package's header file or
-providing any related functionality. Since power management
-functionality is optional, such checks are recommended.</P
-><P
->The macro <TT
-CLASS="LITERAL"
->POWER_CONTROLLER_CPU</TT
-> only takes two
-arguments, a string identifier and a mode change function pointer.
-This macro always instantiates a variable
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
-> so there is no need to provide
-a variable name. The resulting power controller structure always
-appears at the end of the table, so there is no need to specify a
-priority. Typical usage of the <TT
-CLASS="LITERAL"
->POWER_CONTROLLER_CPU</TT
->
-macro would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-wumpus_processor_power_mode_change(
-    PowerController* controller,
-    PowerMode        desired_mode,
-    PowerModeChange  change)
-{
-   // Do the work
-}
-
-POWER_CONTROLLER_CPU("wumpus processor", \
-                     &amp;wumpus_processor_power_mode_change);</PRE
-></TD
-></TR
-></TABLE
-><P
->This defines a power controller structure
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
->. It should not be declared
-static since higher-level code may well want to manipulate the cpu's
-power mode directly, and the variable is declared by the power
-management package's header file.</P
-><P
->Some care has to be taken to ensure that the power controllers
-actually end up in the final executable. If a power controller
-variable ends up in an ordinary library and is never referenced
-directly then typically the linker will believe that the variable is
-not needed and it will not end up in the executable. For eCos packages
-this can be achieved in the CDL, by specifying that the containing
-source file should end up in <TT
-CLASS="FILENAME"
->libextras.a</TT
-> rather
-than the default <TT
-CLASS="FILENAME"
->libtarget.a</TT
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_HAL_WUMPUS_ARCH {
-    &#8230;
-    compile -library=libextras.a data.c
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If the file <TT
-CLASS="FILENAME"
->data.c</TT
-> instantiates a power
-controller this is now guaranteed to end up in the final executable,
-as intended. Typically HAL and device driver packages will already
-have some data that must not be eliminated by the linker, so they will
-already contain a file that gets built into
-<TT
-CLASS="FILENAME"
->libextras.a</TT
->. For power controllers defined inside
-application code it is important that the power controllers end up in
-<TT
-CLASS="FILENAME"
->.o</TT
-> object files rather than in
-<TT
-CLASS="FILENAME"
->.a</TT
-> library archive files.</P
-><P
->All the real work of a power controller is done by the mode change
-function. If the power management package has been configured to use a
-separate thread then this mode change function will be invoked by that
-thread (except for the special case of <A
-HREF="power-change.html#POWER-CHANGE-CONTROLLER-NOW"
-><TT
-CLASS="FUNCTION"
->power_set_controller_mode_now</TT
-></A
->). 
-If no separate thread is used then the mode change function will be
-invoked directly by <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> or
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
->.</P
-><P
->The mode change function will be invoked with three arguments. The
-first argument identifies the power controller. Usually this argument
-is not actually required since a given mode change function will only
-ever be invoked for a single power controller. For example,
-<TT
-CLASS="FUNCTION"
->xyzzy_device_power_mode_change</TT
-> will only ever be
-used in conjunction with <TT
-CLASS="VARNAME"
->xyzzy_power_controller</TT
->.
-However there may be some packages which contain multiple controllers,
-all of which can share a single mode change function, and in that case
-it is essential to identify the specific controller. The second
-argument specifies the mode the controller should switch to, if
-possible: it will be one of <TT
-CLASS="LITERAL"
->PowerMode_Active</TT
->,
-<TT
-CLASS="LITERAL"
->PowerMode_Idle</TT
->, <TT
-CLASS="LITERAL"
->PowerMode_Sleep</TT
->
-or <TT
-CLASS="LITERAL"
->PowerMode_Off</TT
->. The final argument will be one of
-<TT
-CLASS="LITERAL"
->PowerModeChange_Controller</TT
->,
-PowerModeChange_ControllerNow, or
-<TT
-CLASS="LITERAL"
->PowerModeChange_Global</TT
->, and identifies the call
-that caused this invocation. For example, if the mode change function
-was invoked because of a call to <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->
-then this argument will be <TT
-CLASS="LITERAL"
->PowerModeChange_Global</TT
->.
-It is up to each controller to decide how to interpret this final
-argument. A typical controller might reject a global request to switch
-to <SPAN
-CLASS="TYPE"
->off</SPAN
-> mode if the associated device is still busy, but
-if the request was aimed specifically at this controller then it could
-instead abort any current I/O operations and switch off the device.</P
-><P
->The <SPAN
-CLASS="STRUCTNAME"
->PowerController</SPAN
-> data structure contains
-one field, <TT
-CLASS="STRUCTFIELD"
-><I
->mode</I
-></TT
->, that needs to be updated
-by the power mode change function. At all times it should indicate the
-current mode for this controller. When a mode change is requested the
-desired mode is passed as the second argument. The exact operation of
-the power mode change function depends very much on what is being
-controlled and the current circumstances, but some guidelines are
-possible:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->If the request can be satisfied without obvious detriment, do so and
-update the <TT
-CLASS="STRUCTFIELD"
-><I
->mode</I
-></TT
-> field. Reducing the power
-consumption of a device that is not currently being used is generally
-harmless.</P
-></LI
-><LI
-><P
->If a request is a no-op, for example if the system is switching
-from <SPAN
-CLASS="TYPE"
->idle</SPAN
-> to <SPAN
-CLASS="TYPE"
->sleep</SPAN
-> mode and the controller
-does not distinguish between these modes, simply act as if the request
-was satisfied.</P
-></LI
-><LI
-><P
->If a request is felt to be unsafe, for example shutting down a
-device that is still in use, then the controller may decide
-to reject this request. This is especially true if the request was a
-global mode change as opposed to one intended specifically for this
-controller: in the latter case the policy module should be given due
-deference. There are a number of ways in which a request can be
-rejected:</P
-><P
-></P
-><OL
-TYPE="a"
-><LI
-><P
->If the request cannot be satisfied immediately but may be feasible in
-a short while, leave the <TT
-CLASS="STRUCTFIELD"
-><I
->mode</I
-></TT
-> field
-unchanged. Higher-level code in the policy module can interpret this
-as a hint to retry the operation a little bit later. This approach is
-also useful if the mode change can be started but will take some time
-to complete, for example shutting down a socket connection, and
-additional processing will be needed later on.</P
-></LI
-><LI
-><P
->If the request is felt to be inappropriate, for example switching off
-a device that is still in use, the mode change function can
-call <TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> to reset the
-desired mode for this controller back to the current mode.
-Higher-level code can then interpret this as a hint that there is more
-activity in the system than had been apparent.</P
-></LI
-><LI
-><P
->For a global mode change, if the new mode is felt to be inappropriate
-then the power controller can call <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->
-to indicate this. An example of this would be the policy module
-deciding to switch off the whole unit while there is still I/O
-activity.</P
-></LI
-></OL
-></LI
-></OL
-><P
->Mode change functions should not directly manipulate any other fields
-in the <SPAN
-CLASS="STRUCTNAME"
->PowerController</SPAN
-> data structure. If it
-is necessary to keep track of additional data then static variables
-can be used.</P
-><P
->It should be noted that the above are only guidelines. Their
-application in any given situation may be unclear. In addition the
-detailed requirements of specific systems will vary, so even if the
-power controller for a given device driver follows the above
-guidelines exactly it may turn out that slightly different behaviour
-would be more appropriate for the actual system that is being
-developed. Fortunately the open source nature of
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> allows system developers to fine-tune
-power controllers to meet their exact requirements.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="power-attached.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Attached and Detached Controllers</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->eCos USB Slave Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/power-info.html b/doc/html/ref/power-info.html
deleted file mode 100644 (file)
index 3c5f347..0000000
+++ /dev/null
@@ -1,491 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Power Management Information</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="power-intro.html"><LINK
-REL="NEXT"
-TITLE="Changing Power Modes"
-HREF="power-change.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="power-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="power-change.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="POWER-INFO">Power Management Information</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15678"
-></A
-><H2
->Name</H2
->Obtaining Power Management Information&nbsp;--&nbsp;finding out about the various power controllers in the system</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15681"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN15682"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/power/power.h&gt;
-
-extern PowerController __POWER__[], __POWER_END__;
-extern PowerController power_controller_cpu;
-extern cyg_handle_t    power_thread_handle;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    PowerMode power_get_mode
-  </CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    PowerMode power_get_desired_mode
-  </CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    PowerMode power_get_controller_mode
-  </CODE
->(    PowerController* controller
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    PowerMode power_get_controller_desired_mode
-  </CODE
->(    PowerController* controller
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    const char* power_get_controller_id
-  </CODE
->(    PowerController* controller
-  );</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INFO-ACCESS"
-></A
-><H2
->Accessing Power Controllers</H2
-><P
->All the power controllers in a system are held in a table, filled in
-at link-time. The symbols <TT
-CLASS="VARNAME"
->__POWER__</TT
-> and
-<TT
-CLASS="VARNAME"
->__POWER_END</TT
-> can be used to iterate through this
-table, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->PowerController* controller;
-for (controller  = &amp;(__POWER__[0]);
-     controller != &amp;(__POWER_END__);
-     controller++) {
-
-     &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Each controller has an associated priority, controlling the order in
-which they appear in the table. Typically a software-only component
-such as a TCP/IP stack would use a small number for the priority, so
-that it appears near the start of the table, whereas a device driver
-would be nearer the back of the table. When switching to a
-lower-powered mode the power management package will iterate through
-this table from front to back, thus ensuring that for example the
-TCP/IP stack gets a chance to shut down before the underlying ethernet
-or other hardware that the stack depends on. Similarly when switching
-to a higher-powered mode the power management package will iterate
-through this table from back to front.</P
-><P
->In most systems there will be one special controller,
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
->, which should be provided by
-one of the architectural, variant or platform HAL packages. This
-controller will always be the last entry in the table. It is
-responsible for the final power down operation when switching to
-<SPAN
-CLASS="TYPE"
->off</SPAN
-> mode. Other packages such as device drivers may or
-may not declare variable identifiers for their power controllers,
-allowing those controllers to be accessed by name as well as by their
-entries in the global table.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INFO-GLOBAL"
-></A
-><H2
->Global Power Modes</H2
-><P
->The function <TT
-CLASS="FUNCTION"
->power_get_mode</TT
-> can be called at any
-time to determine the current power mode for the system as a whole.
-The return value will be one of <TT
-CLASS="LITERAL"
->PowerMode_Active</TT
->,
-<TT
-CLASS="LITERAL"
->PowerMode_Idle</TT
->, <TT
-CLASS="LITERAL"
->PowerMode_Sleep</TT
->
-or <TT
-CLASS="LITERAL"
->PowerMode_Off</TT
->. In normal circumstances it is
-unlikely that <TT
-CLASS="LITERAL"
->PowerMode_Off</TT
-> would be returned since
-that mode generally means that the cpu is no longer running.</P
-><P
->The function <TT
-CLASS="FUNCTION"
->power_get_desired_mode</TT
-> returns the
-power mode that the system should be running at. Most of the time this
-will be the same value as returned by
-<TT
-CLASS="FUNCTION"
->power_get_mode</TT
->. However a different value may be
-returned when in the middle of changing power modes. For example, if
-the current thread runs at a higher priority than the power management
-thread then the latter may have been pre-empted in the middle of a
-mode change: <TT
-CLASS="FUNCTION"
->power_get_mode</TT
-> will return the mode
-the system was running at before the mode change started, and
-<TT
-CLASS="FUNCTION"
->power_get_desired_mode</TT
-> will return the mode the
-system should end up in when the mode change completes, barring
-further calls to <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INFO-INDIVIDUAL"
-></A
-><H2
->Individual Controller Power Modes</H2
-><P
->The power management package keeps track of the current and desired
-modes for each power controller, as well as the modes for the system as
-a whole. The function <TT
-CLASS="FUNCTION"
->power_get_controller_mode</TT
->
-takes a single argument, a pointer to a power controller, and returns
-the power mode that controller is currently running at. Similarly
-<TT
-CLASS="FUNCTION"
->power_get_controller_desired_mode</TT
-> returns the
-power mode that controller should be running at. Most of the time the
-current and desired modes for a given controller will be the same, and
-will also be the same as the global power mode. However if the power
-management thread is preeempted in the middle of a mode change then
-some of the controllers will have been updated to the desired global
-mode, whereas others will still be at the old mode. The power
-management package also provides functionality for manipulating
-<A
-HREF="power-change.html#POWER-CHANGE-CONTROLLER"
->individual controllers</A
->, and for <A
-HREF="power-attached.html"
->detaching</A
-> controllers from
-global mode changes.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INFO-IDS"
-></A
-><H2
->Power Controller Identification</H2
-><P
->In some scenarios the power management package will run completely
-automated, and there is no need to identify individual power
-controllers. Any form of identification such as a string
-description would serve no purpose, but would still consume memory in
-the final system. In other scenarios it may be very desirable to
-provide some means of identification. For example, while still
-debugging it may be useful to see a simple string when printing the
-contents of a power controller structure. Alternatively, if the
-application is expected to provide some sort of user interface that
-gives control over which parts of the system are enabled or disabled,
-a string identifier for each controller would be useful. To cope with
-these scenarios the power management package provides a configuration
-option <TT
-CLASS="VARNAME"
->CYGIMP_POWER_PROVIDE_STRINGS</TT
->. When enabled,
-each power controller will contain a pointer to a constant string
-which can be accessed via a function
-<TT
-CLASS="FUNCTION"
->power_get_controller_id</TT
->. When disabled the system
-will not contain these strings, and the function will not be provided.
-The following code illustrates how to use this function.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;stdio.h&gt;
-#include &lt;pkgconf/system.h&gt;
-#ifndef CYGPKG_POWER
-# error The power management package is not present.
-#endif
-#include &lt;pkgconf/power.h&gt;
-#ifndef CYGIMP_POWER_PROVIDE_STRINGS
-# error Power controller identifiers are not available.
-#endif
-#include &lt;cyg/power/power.h&gt;
-
-static const char*
-mode_to_string(PowerMode mode)
-{
-    const char* result;
-    switch(mode) {
-      case PowerMode_Active : result = "active"; break;
-      case PowerMode_Idle   : result = "idle"; break;
-      case PowerMode_Sleep  : result = "sleep"; break;
-      case PowerMode_Off    : result = "off"; break;
-      default               : result = "&lt;unknown&gt;"; break;
-    }
-    return result;
-}
-
-int
-main(int argc, char** argv)
-{
-    PowerController* controller;
-
-    for (controller = &amp;(__POWER__[0]);
-         controller != &amp;(__POWER_END__);
-         controller++) {
-        printf("Controller @ %p: %s, %s\n", controller,
-               power_get_controller_id(controller),
-               mode_to_string(power_get_controller_mode(controller)));
-    }
-    return 0;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INFO-THREAD"
-></A
-><H2
->The Power Management Thread</H2
-><P
->If the power management package is configured to use a separate thread
-then a handle for that thread is made available to higher-level code
-via the variable <TT
-CLASS="VARNAME"
->power_thread_handle</TT
->. This handle
-can be used for a variety of purposes, including manipulating that
-thread's priority.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="power-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="power-change.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Changing Power Modes</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/power-intro.html b/doc/html/ref/power-intro.html
deleted file mode 100644 (file)
index d0a69d4..0000000
+++ /dev/null
@@ -1,562 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="NEXT"
-TITLE="Power Management Information"
-HREF="power-info.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="services-power.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="power-info.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="POWER-INTRO">Introduction</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15587"
-></A
-><H2
->Name</H2
->Introduction&nbsp;--&nbsp;eCos support for Power Management</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INTRO-INTRO"
-></A
-><H2
->Introduction</H2
-><P
->The eCos Power Management package provides a framework for
-incorporating power management facilities in an embedded application.
-However its functionality is deliberately limited.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The package does not contain any support for controlling the current
-power mode of any given processor, device or board. Instead it is the
-responsibility of the appropriate HAL or device driver package to
-implement such support, by implementing <I
-CLASS="FIRSTTERM"
->power
-controllers</I
->. The power management package groups these
-power controllers together and provides an interface for manipulating
-them.</P
-></LI
-><LI
-><P
->The package does not contain any power management policy support.
-Specifically, including this package in an application does not by
-itself ever cause the system to go into low-power mode. Instead it is
-the responsibility of a separate policy module, provided by
-higher-level application code or by some other package, to decide when
-it would be appropriate to switch from one power mode to another. The
-power management package then provides the mechanisms for making it
-happen.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INTRO-INCLUDE"
-></A
-><H2
->Including Power Management</H2
-><P
->The power management package is never included automatically in an
-eCos configuration: it is not part of any target specification or of
-any template. Instead it must be added explicitly to a configuration
-if the intended application requires power management functionality.
-When using the command-line <B
-CLASS="COMMAND"
->ecosconfig</B
-> tool this
-can be achieved using a command such as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig add power</PRE
-></TD
-></TR
-></TABLE
-><P
->The generic eCos user documentation should be consulted for more
-information on how to use the various tools. The functionality
-provided by the power management package is defined in the header file
-<TT
-CLASS="FILENAME"
->cyg/power/power.h</TT
->. This header
-file can be used by both C and C++ code.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INTRO-MODES"
-></A
-><H2
->Power Modes</H2
-><P
->There are four defined modes of operation:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->active</DT
-><DD
-><P
->The system is fully operational, and power consumption is expected to
-be high.</P
-></DD
-><DT
->idle</DT
-><DD
-><P
->There has been little or no activity for a short period of time. It is
-up to the policy module to determine what constitutes a short period
-of time, but typically it will be some tenths of a second or some
-small number of seconds. A possible action when entering idle mode is
-to reduce the system's clock speed, thus reducing the power drawn by
-the cpu.</P
-><P
->Note that typically this power mode is not entered automatically
-whenever the idle thread starts running. Instead it is entered when
-the policy module discovers that for a certain period of time the
-system has been spending most of its time in the idle thread.
-Theoretically it is possible to implement a policy module that would
-cause a switch to idle mode as soon as the idle thread starts running,
-but that could result in a great many power mode changes for no
-immediate benefit.</P
-></DD
-><DT
->sleep</DT
-><DD
-><P
->The system has been idle for a significant period of time, perhaps
-some tens of seconds. It is desirable to shut down any hardware that
-is drawing a significant amount of power, for example a screen
-backlight.</P
-></DD
-><DT
->off</DT
-><DD
-><P
->The system is powered down. Power consumption should be minimized.
-Some special action may be needed before the system comes back up, for
-example the user may need to press a specific button.</P
-></DD
-></DL
-></DIV
-><P
->The exact transitions that will happen are decided by the policy
-module. One policy module might include transitions from active to
-idle, from idle to sleep, from sleep to off, and from any of idle,
-sleep or off directly back to active. Another policy module might
-only use the active and off states, bypassing the intermediate ones.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INTRO-CONTROLLERS"
-></A
-><H2
->Power Controllers</H2
-><P
->The power management package operates primarily on power controllers.
-The main functionality provided by a power controller is to switch the
-power mode for some part of the system, for example the lcd display or
-the cpu. A power controller consists primarily of a function which
-will be invoked to switch the power mode for the part of the overall
-system being controlled, plus some auxiliary data. A typical system
-will include a number of different power controllers:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Usually there will be one power controller
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
-> associated with the processor
-or with the target platform, and provided by the corresponding HAL
-package. It is this controller which is responsible for switching off
-the system when entering the <SPAN
-CLASS="TYPE"
->off</SPAN
-> mode, which makes it
-somewhat special: attempting to switch off the cpu before other
-devices like the lcd display does not make sense because the cpu would
-no longer be executing any instructions for the latter operation.
-Therefore this power controller has to be invoked last when switching
-to a lower-power mode, and similarly when switching back to a
-higher-power mode it will be invoked first.</P
-><P
->It should be noted that providing power management support is not a
-hard requirement when porting eCos to a new processor or platform, and
-many eCos ports predate the availability of power management support.
-Therefore for any given platform it is distinctly possible that
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
-> is not yet provided, and if
-full power management functionality is desired then the appropriate
-HAL package would have to be extended first. System developers should
-examine the relevant HAL documentation and sources to determine what
-is actually available.</P
-></LI
-><LI
-><P
->Some or all of the device drivers will supply their own power
-controllers, as part of the device driver package. It is not required
-that all device drivers provide power controllers. In some cases,
-especially for devices that are integrated with the processor,
-<TT
-CLASS="VARNAME"
->power_controller_cpu</TT
-> will take care of the
-integrated devices as a side effect. In other cases the hardware may
-not provide any functionality that allows power consumption to be
-controlled. For any given device driver it is also possible that no
-power controller exists either because it was not required when the
-driver was written, or because the driver predates the availability of
-power management. Again the relevant documentation and sources should
-be consulted for further information.</P
-></LI
-><LI
-><P
->There may be power controllers which are not associated directly with
-any specific hardware. For example a TCP/IP stack could provide a
-power controller so that it gets informed when the system has been
-reactivated: by looking at the system clock it can determine for how
-long the system has been switched off; using this information it can
-then recover from expired dhcp leases, or even to shut down any stream
-connections that may have become invalid (although arguably the stack
-should have refused to go to <SPAN
-CLASS="TYPE"
->off</SPAN
-> mode while there were
-open connections).</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-INTRO-OPERATION"
-></A
-><H2
->Basic Operation</H2
-><P
->By default the Power Management package creates a thread during
-initialization. It is also possible for the package to be used without
-such a thread, for example in configurations which do not include a
-full kernel, and this alternative is described below. When a separate
-thread is used the stacksize and priority for this thread can be
-controlled by configuration options
-<TT
-CLASS="VARNAME"
->CYGNUM_POWER_THREAD_STACKSIZE</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGNUM_POWER_THREAD_PRIORITY</TT
->. Typically the thread
-will just wait on a semaphore internal to the package, and will do
-nothing until some other part of the system requests a change to the
-power mode.</P
-><P
->At some point the policy module will decide that the system should
-move into a lower-power mode, for example from active to idle. This is
-achieved by calling the function <TT
-CLASS="FUNCTION"
->power_set_mode</TT
->,
-provided by the power management package and declared in <TT
-CLASS="FILENAME"
->cyg/power/power.h</TT
->, with a single
-argument, <TT
-CLASS="LITERAL"
->PowerMode_Idle</TT
->. This function manipulates
-some internal state and posts the semaphore, thus waking up the power
-management thread. Note that the function returns before the mode
-change has completed, and in fact depending on thread priorities this
-return may happen before any power controller has been invoked.</P
-><P
->When the power management thread wakes up it examines the internal
-state to figure out what it should be doing. In this case it is
-supposed to change the global power mode, so it will iterate over all
-the power controllers requesting each one to switch to the
-<SPAN
-CLASS="TYPE"
->idle</SPAN
-> mode. It is up to each power controller to handle
-this request appropriately. Optionally the thread will invoke a
-callback function after processing each power controller, so that
-higher-level code such as the policy module can more easily keep
-track of the actual state of each controller. Once the thread has
-iterated through all the power controllers it will again wait on the
-internal semaphore for the next request to arrive.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At present the power management thread always runs at a single
-priority, which defaults to a low priority. A possible future
-enhancement would be to support two separate priorities. When
-switching to a lower-powered mode the thread would run at a low
-priority as before, thus allowing other threads to run and get a
-chance to cancel this mode change. When switching to a higher-powered
-mode the thread would run at a high priority. This could be especially
-important when moving out of the <SPAN
-CLASS="TYPE"
->off</SPAN
-> state: for example
-it would ensure that all device drivers get a chance to wake up before
-ordinary application threads get to run again and possibly attempt I/O
-operations.</P
-></BLOCKQUOTE
-></DIV
-><P
->Although usually calls to <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> will
-come from just one place in the policy module, this is not a hard
-requirement. It is possible for multiple threads to call this
-function, with no need for any synchronization. If the power
-management thread is in the middle of performing a mode change and a
-new request comes in, the thread will detect this, abort the current
-operation, and start iterating through the power controllers again
-with the new mode. This check happens between every power controller
-invocation. Usefully this makes it possible for power controllers
-themselves to manipulate power modes: a power controller is invoked to
-change mode; for some reason it determines that the new mode is
-inappropriate; it calls <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> to move
-the system back to another mode; when the power controller returns
-this event will be detected; the power management thread will abort
-the current mode change, and start the new one.</P
-><P
->In addition to changing the power mode for the system as a whole,
-individual controllers can be manipulated using the function
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
->. For example, while the
-system as a whole might be in <SPAN
-CLASS="TYPE"
->active</SPAN
-> mode certain devices
-might be kept in <SPAN
-CLASS="TYPE"
->sleep</SPAN
-> mode until they are explicitly
-activated. It is possible to mix concurrent calls to
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> and
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
->, and when a power
-controller is invoked it may use
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> to request further
-changes to its own or to another controller's mode as required.</P
-><P
->There are some scenarios where the power management package should not
-use its own thread. One scenario is if the configuration is
-specifically for a single-threaded application such as RedBoot.
-Another scenario is if the policy module already involves a separate
-thread: it may make more sense if the various power management
-operations are synchronous with respect to the calling thread. The use
-of a separate thread inside the power management package is controlled
-by the configuration option <TT
-CLASS="VARNAME"
->CYGPKG_POWER_THREAD</TT
->,
-which is active only if the kernel package is present and enabled by
-default.</P
-><P
->If no separate power management thread is used then obviously the
-implementations of <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> and
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> will be somewhat
-different: instead of waking up a separate thread to do the work,
-these functions will now manipulate the power controllers directly. If
-the system does still involve multiple threads then only one thread
-may call <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> or
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> at a time: the power
-management package will not provide any synchronization, that must
-happen at a higher level. However when a power controller is invoked
-it can still call these functions as required.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="power-info.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos Power Management Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Power Management Information</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/power-policy.html b/doc/html/ref/power-policy.html
deleted file mode 100644 (file)
index 48a2725..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Support for Policy Modules</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"><LINK
-REL="PREVIOUS"
-TITLE="Changing Power Modes"
-HREF="power-change.html"><LINK
-REL="NEXT"
-TITLE="Attached and Detached Controllers"
-HREF="power-attached.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="power-change.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="power-attached.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="POWER-POLICY">Support for Policy Modules</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN15836"
-></A
-><H2
->Name</H2
->Support for Policy Modules&nbsp;--&nbsp;closer integration with higher-level code</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN15839"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN15840"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/power/power.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void power_set_policy_callback
-  </CODE
->(    void (*)(PowerController*, PowerMode, PowerMode, PowerMode, PowerMode) callback
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void (*)(PowerController*, PowerMode, PowerMode, PowerMode, PowerMode) power_get_policy_callback
-  </CODE
->(void);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    CYG_ADDRWORD power_get_controller_policy_data
-  </CODE
->(    PowerController* controller
-  );</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->    void power_set_controller_policy_data
-  </CODE
->(    PowerController* controller
-  ,     CYG_ADDRWORD data
-  );</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-POLICY-CALLBACK"
-></A
-><H2
->Policy Callbacks</H2
-><P
->The use of a separate thread to perform power mode changes in typical
-configurations can cause problems for some policy modules.
-Specifically, the policy module can request a mode change for the
-system as a whole or for an individual controller, but it does not
-know when the power management thread actually gets scheduled to run
-again and carry out the request. Although it would be possible for the
-policy module to perform some sort of polling, in general that is
-undesirable.</P
-><P
->To avoid such problems the policy module can install a callback
-function using <TT
-CLASS="FUNCTION"
->power_set_policy_callback</TT
->. The
-current callback function can be retrieved using
-<TT
-CLASS="FUNCTION"
->power_get_policy_callback</TT
->. If a callback function
-has been installed then it will be called by the power management
-package whenever a power controller has been invoked to perform a mode
-change. The callback will be called in the context of the power
-management thread, so usually it will have to make use of thread
-synchronisation primitives to interact with the main policy module. It
-is passed five arguments:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The power controller that has just been invoked to perform a mode
-change. </P
-></LI
-><LI
-><P
->The mode this controller was running at before the invocation.</P
-></LI
-><LI
-><P
->The current mode this controller is now running at.</P
-></LI
-><LI
-><P
->The desired mode before the power controller was invoked. Usually this
-will be the same as the current mode, unless the controller has
-decided for some reason that this was inappropriate.</P
-></LI
-><LI
-><P
->The current desired mode. This will differ from the previous argument
-only if there has was another call to
-<TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> or
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> while the power
-controller was being invoked, probably by the power controller itself.</P
-></LI
-></OL
-><P
->A simple example of a policy callback function would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static void
-power_callback(
-    PowerController* controller,
-    PowerMode old_mode,
-    PowerMode new_mode,
-    PowerMode old_desired_mode,
-    powerMode new_desired_mode)
-{
-    printf("Power mode change: %s, %s -&#62; %d\n",
-        power_get_controller_id(controller),
-        mode_to_string(old_mode),
-        mode_to_string(new_mode));
-
-    CYG_UNUSED_PARAM(PowerMode, old_desired_mode);
-    CYG_UNUSED_PARAM(PowerMode, new_desired_mode);
-}
-
-int
-main(int argc, char** argv)
-{
-    &#8230;
-    power_set_policy_callback(&amp;power_callback);
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->If <TT
-CLASS="FUNCTION"
->power_set_controller_mode_now</TT
-> is used to
-manipulate an individual controller the policy callback will not be
-invoked. This function may get called from any context including DSRs,
-and even if there is already a call to the policy callback happening
-in some other context, so invoking the callback would usually be
-unsafe.</P
-><P
->If the power management package has not been configured to use a
-separate thread then <TT
-CLASS="FUNCTION"
->power_set_mode</TT
-> and
-<TT
-CLASS="FUNCTION"
->power_set_controller_mode</TT
-> will manipulate the
-power controllers immediately and invoke the policy callback
-afterwards. Therefore the policy callback will typically run in the
-same context as the main policy module.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="POWER-POLICY-DATA"
-></A
-><H2
->Policy-specific Controller Data</H2
-><P
->Some policy modules may want to associate some additional data with
-each power controller. This could be achieved by for example
-maintaining a hash table or similar data structure, but for
-convenience the power management package allows higher-level code,
-typically the policy module, to store and retrieve one word of data in
-each power controller. The function
-<TT
-CLASS="FUNCTION"
->power_set_controller_policy_data</TT
-> takes two
-arguments, a pointer to a power controller and a
-<SPAN
-CLASS="TYPE"
->CYG_ADDRWORD</SPAN
-> of data: by appropriate use of casts this
-word could be an integer or a pointer to some data structure. The
-matching function
-<TT
-CLASS="FUNCTION"
->power_get_controller_policy_data</TT
-> retrieves the
-word previously installed, and can be cast back to an integer or
-pointer. The default value for the policy data is 0.</P
-><P
->For example the following code fragment stores a simple index value in
-each power controller. This could then be retrieved by the policy
-callback.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    unsigned int     i = 0;
-    PowerController* controller;
-
-    for (controller = &amp;(__POWER__[0]);
-         controller != &amp;(__POWER_END__);
-         controller++) {
-        power_set_controller_policy_data(controller, (CYG_ADDRWORD) i++);
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->Not all policy modules will require per-controller data. The
-configuration option
-<TT
-CLASS="VARNAME"
->CYGIMP_POWER_PROVIDE_POLICY_DATA</TT
-> can be used to
-control this functionality, thus avoiding wasting a small amount of
-memory inside each power controller structure.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="power-change.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="power-attached.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Changing Power Modes</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Attached and Detached Controllers</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/preferences.png b/doc/html/ref/preferences.png
deleted file mode 100644 (file)
index 7b2a677..0000000
Binary files a/doc/html/ref/preferences.png and /dev/null differ
diff --git a/doc/html/ref/profile-functions.html b/doc/html/ref/profile-functions.html
deleted file mode 100644 (file)
index c005355..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Profiling functions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Application profiling"
-HREF="services-profile-gprof.html"><LINK
-REL="PREVIOUS"
-TITLE="Application profiling"
-HREF="services-profile-gprof.html"><LINK
-REL="NEXT"
-TITLE="eCos Power Management Support"
-HREF="services-power.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="services-profile-gprof.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="services-power.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="PROFILE-FUNCTIONS">Chapter 52. Profiling functions</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SERVICES-PROFILE-API">API</H1
-><P
->In order for profile data to be gathered for an application, the
-program has to initiate the process.
-Once started, execution histogram data will be collected in a
-dynamic memory buffer.
-This data can be uploaded to a host using <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->TFTP</I
-></SPAN
->.
-A side effect of the upload of the data is that the histogram
-is reset.
-This is useful, especially for high resolution histograms, since
-the histogram data are collected as 16-bit counters which can be quickly
-saturated.
-For example, if the histogram is being collected at a rate of 10,000
-samples per second, a hot spot in the program could saturate after
-only 6.5 seconds.</P
-><P
-> The API for the application profiling functions can be
-found in the file <TT
-CLASS="FILENAME"
->&lt;cyg/profile/profile.h&gt;</TT
->.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="SERVICES-PROFILE-API-PROFILE-ON">profile_on</H2
-><P
->This function is used to initiate the gathering of the
-runtime execution histogram data.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void profile_on(void *start, void *end, int bucket_size, int resolution);</PRE
-></TD
-></TR
-></TABLE
-><P
->Calling this function will initiate execution profiling.
-An execution histogram is collected at the rate of
-<TT
-CLASS="PARAMETER"
-><I
->resolution</I
-></TT
-> times per second.
-The area between <TT
-CLASS="PARAMETER"
-><I
->start</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->end</I
-></TT
->
-will be divided up into a number of buckets, each representing 
-<TT
-CLASS="PARAMETER"
-><I
->bucket_size</I
-></TT
-> 
-program bytes in length.  Using statistical sampling (via a high speed timer), when
-the program counter is found to be within the range 
-<TT
-CLASS="PARAMETER"
-><I
->start</I
-></TT
->..<TT
-CLASS="PARAMETER"
-><I
->end</I
-></TT
->, the appropriate
-bucket (histogram entry) will be incremented.</P
-><P
->The choice of <TT
-CLASS="PARAMETER"
-><I
->resolution</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->bucket_size</I
-></TT
->
-control how large the data gathered will be, as well as how much overhead is 
-encumbered for gathering the histogram.
-Smaller values for <TT
-CLASS="PARAMETER"
-><I
->bucket_size</I
-></TT
-> will garner better
-results (<TT
-CLASS="FUNCTION"
->gprof</TT
-> can more closely align the data with
-actual function names) at the expense of a larger data buffer.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The value of <TT
-CLASS="PARAMETER"
-><I
->bucket_size</I
-></TT
-> will be rounded up to a power of two.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="services-profile-gprof.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="services-power.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Application profiling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="services-profile-gprof.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->eCos Power Management Support</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/rebuilding-redboot.html b/doc/html/ref/rebuilding-redboot.html
deleted file mode 100644 (file)
index 229830e..0000000
+++ /dev/null
@@ -1,530 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Rebuilding RedBoot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="exec"
-HREF="exec-command.html"><LINK
-REL="NEXT"
-TITLE="Updating RedBoot"
-HREF="updating-redboot.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="exec-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="updating-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="REBUILDING-REDBOOT">Chapter 3. Rebuilding RedBoot</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN4673">Introduction</H1
-><P
->&#13;RedBoot is built as an application on top of eCos. The makefile rules
-for building RedBoot are part of the eCos CDL package, so it's
-possible to build eCos from the <SPAN
-CLASS="APPLICATION"
->Configuration
-Tool</SPAN
->, as well as from the command line using
-<SPAN
-CLASS="APPLICATION"
->ecosconfig</SPAN
->.</P
-><P
->Building RedBoot requires only a few steps: selecting the
-platform and the RedBoot template, importing a platform specific
-configuration file, and finally starting the build.</P
-><P
->The platform specific configuration file makes sure the settings
-are correct for building RedBoot on the given platform. Each platform
-should provide at least two of these configuration files:
-<TT
-CLASS="FILENAME"
->redboot_RAM.ecm</TT
-> for a RAM mode RedBoot
-configuration and <TT
-CLASS="FILENAME"
->redboot_ROM.ecm</TT
-> or
-<TT
-CLASS="FILENAME"
->redboot_ROMRAM.ecm</TT
-> for a ROM or ROMRAM mode
-RedBoot configuration. There may be additional
-configuration files according to the requirements of the particular
-platform.</P
-><P
->The RedBoot build process results in a number of files in the
-install <TT
-CLASS="FILENAME"
->bin</TT
-> directory. The ELF
-file <TT
-CLASS="FILENAME"
->redboot.elf</TT
-> is the pricipal
-result. Depending on the platform CDL, there will also be generated
-versions of RedBoot in other file formats, such as
-<TT
-CLASS="FILENAME"
->redboot.bin</TT
-> (binary format, good when doing an
-update of a primary RedBoot image, see <A
-HREF="updating-redboot.html#UPDATE-PRIMARY-IMAGE"
->the Section called <I
->Update the primary RedBoot flash image</I
-> in Chapter 4</A
->), <TT
-CLASS="FILENAME"
->redboot.srec</TT
->
-(Motorola S-record format, good when downloading a RAM mode image for
-execution), and <TT
-CLASS="FILENAME"
->redboot.img</TT
-> (stripped ELF format,
-good when downloading a RAM mode image for execution, smaller than the
-.srec file). Some platforms may provide additional file formats and
-also relocate some of these files to a
-particular address making them more suitable for downloading using a
-different boot monitor or flash programming tools.</P
-><P
->The platform specific information in <A
-HREF="installation-and-testing.html"
->Chapter 5</A
-> should be consulted, as there may
-be other special instructions required to build RedBoot for particular
-platforms.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4697">Rebuilding RedBoot using <SPAN
-CLASS="APPLICATION"
->ecosconfig</SPAN
-></H2
-><P
->To rebuild RedBoot using the
-<SPAN
-CLASS="APPLICATION"
->ecosconfig</SPAN
-> tool, create a temporary
-directory for building RedBoot, name it according to the desired
-configuration of RedBoot, here RAM:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->mkdir /tmp/redboot_RAM</B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->cd /tmp/redboot_RAM</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Create the build tree according to the chosen platform, here
-using the Hitachi Solution Engine 7751 board as
-an example:
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->It is assumed that the environment variable
-ECOS_REPOSITORY points to the eCos/RedBoot source tree.</P
-></BLOCKQUOTE
-></DIV
->
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->ecosconfig new se7751 redboot</B
-></TT
->
-U CYGPKG_HAL_SH_7750, new inferred value 0
-U CYGPKG_HAL_SH_7751, new inferred value 1
-U CYGHWR_HAL_SH_IRQ_USE_IRQLVL, new inferred value 1
-U CYGSEM_HAL_USE_ROM_MONITOR, new inferred value 0
-U CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM, new inferred value 0
-U CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS, new inferred value 1
-U CYGFUN_LIBC_STRING_BSD_FUNCS, new inferred value 0
-U CYGPKG_NS_DNS_BUILD, new inferred value 0</PRE
-></TD
-></TR
-></TABLE
->
-Replace the platform name ("se7751") with the appropriate name for the
-chosen platform.</P
-><P
->Then import the appropriate platform RedBoot configuration file,
-here for RAM configuration:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->ecosconfig import <TT
-CLASS="FILENAME"
->${ECOS_REPOSITORY}/hal/sh/se7751/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/misc/redboot_RAM.ecm</TT
-></B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->ecosconfig tree</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Replace architecture ("sh"), platform ("se7751") and version
-("<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->") with those appropriate for the
-chosen platform and the version number of its HAL package. Also
-replace the configuration name ("redboot_RAM.ecm") with that of the
-appropriate configuration file.</P
-><P
->RedBoot can now be built:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->make</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The resulting RedBoot files will be in the associated
-install directory, in this example, <TT
-CLASS="FILENAME"
->./install/bin</TT
->.</P
-><P
->In <A
-HREF="installation-and-testing.html"
->Chapter 5</A
-> each platform's
-details are described in the form of shell variables. Using those,
-the steps to build RedBoot are:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export REDBOOT_CFG=redboot_ROM
-export VERSION=<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->
-mkdir /tmp/${REDBOOT_CFG}
-cd /tmp/${REDBOOT_CFG}
-ecosconfig new ${TARGET} redboot
-ecosconfig import ${ECOS_REPOSITORY}/hal/${ARCH_DIR}/${PLATFORM_DIR}/${VERSION}/misc/${REDBOOT_CFG}.ecm
-ecosconfig tree
-make</PRE
-></TD
-></TR
-></TABLE
->
-To build for another configuration, simply change the
-<TT
-CLASS="REPLACEABLE"
-><I
->REDBOOT_CFG</I
-></TT
-> definition accordingly. Also
-make sure the <TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
-> variable matches the
-version of the platform package.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4728">Rebuilding RedBoot from the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></H2
-><P
->To rebuild RedBoot from the <SPAN
-CLASS="APPLICATION"
->Configuration
-Tool</SPAN
->, open the template window (<SPAN
-CLASS="GUIMENUITEM"
->Build-&#62;Templates</SPAN
->) and
-select the appropriate Hardware target and in Packages select
-"redboot". Then press OK. Depending on the platform, a number of
-conflicts may need to be resolved before the build can be started;
-select "Continue".</P
-><P
->Import the desired RedBoot configuration file from the platform HAL
-(<SPAN
-CLASS="GUIMENUITEM"
->File-&#62;Import...</SPAN
->).  Depending on the platform, a number of
-conflicts may need to be resolved before the build can be started;
-select "Continue". For example, if the platform selected is Hitachi
-SE7751 board and the RAM configuration RedBoot should be built, import
-the file
-<TT
-CLASS="FILENAME"
->hal/sh/se7751/<TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
->/misc/redboot_RAM.ecm</TT
->.</P
-><P
->Save the configuration somewhere suitable with enough disk space
-for building RedBoot (<SPAN
-CLASS="GUIMENUITEM"
->File-&#62;Save...</SPAN
->). Choose the name according to
-the RedBoot configuration, for example
-<TT
-CLASS="FILENAME"
->redboot_RAM.ecc</TT
->.</P
-><P
->Then start the build (<SPAN
-CLASS="GUIMENUITEM"
->Build-&#62;Library</SPAN
->) and wait for it to
-complete. The resulting RedBoot files will be in the associated
-install directory, for the example this would be <TT
-CLASS="FILENAME"
->redboot_RAM_install/bin</TT
->.</P
-><P
->As noted above, each platform's details are described in <A
-HREF="installation-and-testing.html"
->Chapter 5</A
->. Use the information provided in
-the shell variables to find the configuration file - the path to it is
-<TT
-CLASS="FILENAME"
->${ECOS_REPOSITORY}/hal/${ARCH_DIR}/${PLATFORM_DIR}/${VERSION}/misc/${REDBOOT_CFG}.ecm</TT
->,
-where <TT
-CLASS="REPLACEABLE"
-><I
->ECOS_REPOSITORY</I
-></TT
-> points to the
-eCos/RedBoot sources, <TT
-CLASS="REPLACEABLE"
-><I
->VERSION</I
-></TT
-> is the
-version of the package (usually "current") and
-<TT
-CLASS="REPLACEABLE"
-><I
->REDBOOT_CFG</I
-></TT
-> is the desired configuration,
-e.g. redboot_RAM.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="exec-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="updating-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->exec</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Updating RedBoot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/redboot-commands-and-examples.html b/doc/html/ref/redboot-commands-and-examples.html
deleted file mode 100644 (file)
index a43af93..0000000
+++ /dev/null
@@ -1,488 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->RedBoot Commands and Examples</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuring the RedBoot Environment"
-HREF="configuring-the-redboot-environment.html"><LINK
-REL="NEXT"
-TITLE="Common Commands"
-HREF="common-commands.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="configuring-the-redboot-environment.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="common-commands.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="REDBOOT-COMMANDS-AND-EXAMPLES">Chapter 2. RedBoot Commands and Examples</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="redboot-commands-and-examples.html#AEN2850"
->Introduction</A
-></DT
-><DT
-><A
-HREF="common-commands.html"
->Common Commands</A
-></DT
-><DT
-><A
-HREF="flash-image-system.html"
->Flash Image System (FIS)</A
-></DT
-><DT
-><A
-HREF="persistent-state-flash.html"
->Persistent State Flash-based Configuration and Control</A
-></DT
-><DT
-><A
-HREF="executing-programs.html"
->Executing Programs from RedBoot</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN2850">Introduction</H1
-><P
->RedBoot provides three basic classes of commands:    <P
-></P
-><UL
-><LI
-><P
->Program loading and execution</P
-></LI
-><LI
-><P
->Flash image and configuration management</P
-></LI
-><LI
-><P
->Miscellaneous commands</P
-></LI
-></UL
->Given the extensible and configurable nature of eCos and RedBoot,
-there may be extended or enhanced sets of commands available.</P
-><P
->The basic format for commands is:    <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->RedBoot&#62; COMMAND [-S]... [-s val]... operand</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Commands may require additional information beyond the basic
-command name. In most cases this additional information is optional, with
-suitable default values provided if they are not present. 
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN2868"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Format</TH
-><TH
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->Example</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-S</TD
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->A boolean switch; the behavior of the command will differ, depending
-on the presence of the switch.  In this example, the <TT
-CLASS="USERINPUT"
-><B
->-f</B
-></TT
-> switch
-indicates that a complete initialization of the FIS data should be performed.
-There may be many such switches available for any given command and any or all of
-them may be present, in any order.</TD
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->                <TT
-CLASS="COMPUTEROUTPUT"
-> RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init -f</B
-></TT
-></TT
->
-              </TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->-s<TT
-CLASS="REPLACEABLE"
-><I
-> val</I
-></TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->A qualified value; the letter "s" introduces the value, qualifying it's meaning.  In the
-example, <TT
-CLASS="USERINPUT"
-><B
->-b 0x100000</B
-></TT
-> specifies where the memory dump should begin.
-There may be many such switches available for any given command and any or all of
-them may be present, in any order.</TD
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->                <TT
-CLASS="COMPUTEROUTPUT"
-> RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->dump -b 0x100000 -l 0x20</B
-></TT
-></TT
->
-              </TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
-><TT
-CLASS="REPLACEABLE"
-><I
-> operand</I
-></TT
-></TD
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->A simple value; some commands require a single parameter for which an additional
-<TT
-CLASS="USERINPUT"
-><B
->-X</B
-></TT
-> switch would be redundant.  In the example, <TT
-CLASS="USERINPUT"
-><B
->JFFS2</B
-></TT
->
-is the name of a flash image.  The image name is always required, thus is no need to qualify it with 
-a switch.
-Note that any un-qualified operand must always appear at the end of the command.</TD
-><TD
-WIDTH="33%"
-ALIGN="LEFT"
-VALIGN="TOP"
->                <TT
-CLASS="COMPUTEROUTPUT"
-> RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis delete JFFS2</B
-></TT
-></TT
->
-              </TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
->&#13;</P
-><P
->The list of available commands, and their syntax, can be obtained by
-typing <B
-CLASS="COMMAND"
->help</B
-> at the command line:    
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->help</B
-></TT
->
-Manage aliases kept in FLASH memory
-      alias name [value]
-Set/Query the system console baud rate
-      baudrate [-b &lt;rate&#62;]
-Manage machine caches
-      cache [ON | OFF]
-Display/switch console channel
-      channel [-1|&lt;channel number&#62;]
-Display disk partitions
-      disks
-Display (hex dump) a range of memory
-      dump -b &lt;location&#62; [-l &lt;length&#62;] [-s]
-Manage flash images
-      fis {cmds}
-Manage configuration kept in FLASH memory
-      fconfig [-i] [-l] [-n] [-f] [-d] | [-d] nickname [value]
-Execute code at a location
-      go [-w &lt;timeout&#62;] [entry]
-Help about help?
-      help [&lt;topic&#62;]
-Set/change IP addresses
-      ip_address [-l &lt;local_ip_address&#62;] [-h &lt;server_address&#62;]
-Load a file
-      load [-r] [-v] [-d] [-c &lt;channel&#62;] [-h &lt;host&#62;] [-m {TFTP | HTTP | {x|y}MODEM | disk}]
-      [-b &lt;base_address&#62;] &lt;file_name&#62;
-Network connectivity test
-      ping [-v] [-n &lt;count&#62;] [-t &lt;timeout&#62;] [-i &lt;IP_addr]
-      -h &lt;host&#62;
-Reset the system
-      reset
-Display RedBoot version information
-      version
-Display (hex dump) a range of memory
-      x -b &lt;location&#62; [-l &lt;length&#62;] [-s]</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Commands can be abbreviated to their shortest
-unique string. Thus in the list above, <B
-CLASS="COMMAND"
->d,du,dum</B
->
-and dump are all valid for the <B
-CLASS="COMMAND"
->dump</B
-> command. The <B
-CLASS="COMMAND"
->fconfig</B
->
-command can be abbreviated <B
-CLASS="COMMAND"
->fc</B
->, but 
-<B
-CLASS="COMMAND"
->f</B
-> would be ambiguous with <B
-CLASS="COMMAND"
->fis</B
->.</P
-><P
->There is one additional, special command. When RedBoot detects '$' or '+'
-(unless escaped via '\') in a command, it switches to GDB protocol mode. At this
-point, the eCos GDB stubs take over, allowing connections from a GDB host.
-The only way to get back to RedBoot from GDB mode is to restart the platform.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Multiple commands may be entered on a single line, separated by the semi-colon &#8220;;&#8221; character.</P
-></BLOCKQUOTE
-></DIV
-><P
->The standard RedBoot command set is structured around the bootstrap
-environment. These commands are designed to be simple to use and remember,
-while still providing sufficient power and flexibility to be useful. No attempt
-has been made to render RedBoot as the end-all product. As such, things such
-as the debug environment are left to other modules, such as GDB stubs, which
-are typically included in RedBoot. </P
-><P
->The command set may be also be extended on a platform basis. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="configuring-the-redboot-environment.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuring the RedBoot Environment</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Common Commands</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/redboot-editing-commands.html b/doc/html/ref/redboot-editing-commands.html
deleted file mode 100644 (file)
index 0afe05d..0000000
+++ /dev/null
@@ -1,301 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->RedBoot Editing Commands</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="User Interface"
-HREF="user-interface.html"><LINK
-REL="NEXT"
-TITLE="RedBoot Startup Mode"
-HREF="startup-mode.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-interface.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Getting Started with RedBoot</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="startup-mode.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="REDBOOT-EDITING-COMMANDS">RedBoot Editing Commands</H1
-><P
->RedBoot
-uses the following line editing commands. 
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->In this description, <SPAN
-CLASS="GUIBUTTON"
->^A</SPAN
-> means the character formed
-by typing the letter &#8220;A&#8221; while holding down the control key.</P
-></BLOCKQUOTE
-></DIV
->
-<P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->Delete</SPAN
-> (0x7F) or 
-<SPAN
-CLASS="GUIBUTTON"
->Backspace</SPAN
-> (0x08) 
-erases the character to the left of the cursor.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^A</SPAN
->
-moves the cursor (insertion point) to the beginning of the line.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^K</SPAN
->
-erases all characters on the line from the cursor to the end.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^E</SPAN
->
-positions the cursor to the end of the line.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^D</SPAN
->
-erases the character under the cursor.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^F</SPAN
->
-moves the cursor one character to the right.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^B</SPAN
->
-moves the cursor one character to the left.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^P</SPAN
->
-replaces the current line by a previous line from the history buffer.  
-A small number of lines
-can be kept as history.  Using ^P (and ^N), the current line can be replaced
-by any one of the previously typed lines.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->^N</SPAN
->
-replaces the current line by the next line from the history buffer.  </P
-></LI
-></UL
-></P
-><P
->In the case of the <B
-CLASS="COMMAND"
->fconfig</B
->
-command, additional editing commands are possible. 
-As data are entered for this command, the current/previous value
-will be displayed and the cursor placed at the end of that data.
-The user may use the editing keys (above) to move around in the data
-to modify it as appropriate.
-Additionally, when certain
-characters are entered at the end of the current value, 
-i.e. entered separately, certain behavior is elicited.</P
-><P
-><P
-></P
-><UL
-><LI
-><P
->^ (caret) switch to editing the previous item in the 
-<B
-CLASS="COMMAND"
->fconfig</B
-> list. If fconfig edits item A, followed by item B,
-pressing ^ when changing item B, allows you to change item A. This is similar
-to the up arrow.
-Note: ^P and ^N do not have the same meaning while editing 
-<B
-CLASS="COMMAND"
->fconfig</B
-> data and should not be used.</P
-></LI
-><LI
-><P
->. (period) stop editing any further items. This does not change
-the current item.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="GUIBUTTON"
->Return</SPAN
-> leaves the value
-for this item unchanged. Currently it is not possible to step through the
-value for the start-up script; it must always be retyped.</P
-></LI
-></UL
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-interface.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="startup-mode.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->User Interface</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->RedBoot Startup Mode</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/redboot.html b/doc/html/ref/redboot.html
deleted file mode 100644 (file)
index a4263b5..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->RedBoot&#8482; User's Guide</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Kernel Real-time Characterization"
-HREF="kernel-characterization.html"><LINK
-REL="NEXT"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-characterization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="REDBOOT"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->II. RedBoot&#8482; User's Guide</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->1. <A
-HREF="getting-started-with-redboot.html"
->Getting Started with RedBoot</A
-></DT
-><DT
->2. <A
-HREF="redboot-commands-and-examples.html"
->RedBoot Commands and Examples</A
-></DT
-><DT
->3. <A
-HREF="rebuilding-redboot.html"
->Rebuilding RedBoot</A
-></DT
-><DT
->4. <A
-HREF="updating-redboot.html"
->Updating RedBoot</A
-></DT
-><DT
->5. <A
-HREF="installation-and-testing.html"
->Installation and Testing</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-characterization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Kernel Real-time Characterization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Getting Started with RedBoot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/reset-command.html b/doc/html/ref/reset-command.html
deleted file mode 100644 (file)
index 667105d..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->reset</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="ping"
-HREF="ping-command.html"><LINK
-REL="NEXT"
-TITLE="version"
-HREF="version-command.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ping-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="version-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="RESET-COMMAND">reset</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3838"
-></A
-><H2
->Name</H2
->reset&nbsp;--&nbsp;Reset the device</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3841"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->reset</B
-> </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3844"
-></A
-><H2
->Arguments</H2
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3848"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->reset</B
-> command causes the target platform to be reset.
-Where possible (hardware support permitting), this will be
-equivalent to a power-on reset condition.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3852"
-></A
-><H2
->Examples</H2
-><P
->Reset the platform.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->reset</B
-></TT
->
-... Resetting.+... Waiting for network card: .
-Socket Communications, Inc: Low Power Ethernet CF Revision C 5V/3.3V 08/27/98
-Ethernet eth0: MAC address 00:c0:1b:00:ba:28
-IP: 192.168.1.29, Default server: 192.168.1.101
-
-RedBoot(tm) bootstrap and debug environment [ROM]
-Non-certified release, version UNKNOWN - built 10:41:41, May 14 2002
-
-Platform: Compaq iPAQ Pocket PC (StrongARM 1110) 
-Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
-
-RAM: 0x00000000-0x01fc0000, 0x00014748-0x01f71000 available
-FLASH: 0x50000000 - 0x51000000, 64 blocks of 0x00040000 bytes each.
-RedBoot&#62; </PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ping-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="version-command.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ping</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->version</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/resource-usage.html b/doc/html/ref/resource-usage.html
deleted file mode 100644 (file)
index 8eaf54e..0000000
+++ /dev/null
@@ -1,330 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->RedBoot Resource Usage</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="RedBoot Startup Mode"
-HREF="startup-mode.html"><LINK
-REL="NEXT"
-TITLE="Configuring the RedBoot Environment"
-HREF="configuring-the-redboot-environment.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="startup-mode.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Getting Started with RedBoot</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="configuring-the-redboot-environment.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RESOURCE-USAGE">RedBoot Resource Usage</H1
-><P
->  </P
-><P
->RedBoot takes up both flash and RAM resources depending on its
-startup mode and number of enabled features. There are also other
-resources used by RedBoot, such as timers. Platform-specific resources
-used by RedBoot are listed in the platform specific parts of this
-manual.</P
-><P
->Both flash and RAM resources used by RedBoot depend to some
-degree on the features enabled in the RedBoot configuration. It is
-possible to reduce in particular the RAM resources used by RedBoot by
-removing features that are not needed. Flash resources can also be
-reduced, but due to the granularity of the flash (the block sizes),
-reductions in feature size do not always result in flash resource
-savings.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2631">Flash Resources</H2
-><P
->On many platforms, a ROM mode RedBoot image resides in the first
-flash sectors, working as the board's primary boot monitor. On these
-platforms, it is also normal to reserve a similar amount of flash for
-a secondary RAM mode image, which is used when updating the primary
-ROM mode image.</P
-><P
->On other platforms, a ROMRAM mode RedBoot image is used as the
-primary boot monitor. On these platforms there is not normally
-reserved space for a RAM mode RedBoot image, since the ROMRAM mode
-RedBoot is capable of updating the primary boot monitor image.</P
-><P
->Most platforms also contain a FIS directory (keeping track of
-available flash space) and a RedBoot config block (containing RedBoot
-board configuration data).</P
-><P
->To see the amount of reserved flash memory, run the <B
-CLASS="COMMAND"
->fis
-list</B
-> command:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis list</B
-></TT
->
-Name              FLASH addr  Mem addr    Length      Entry point
-RedBoot           0x00000000  0x00000000  0x00020000  0x00000000
-RedBoot[RAM]      0x00020000  0x06020000  0x00020000  0x060213C0
-RedBoot config    0x0007F000  0x0007F000  0x00001000  0x00000000
-FIS directory     0x00070000  0x00070000  0x0000F000  0x00000000</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->To save flash resources, use a ROMRAM mode RedBoot, or if using
-a ROM mode RedBoot, avoid reserving space for the RedBoot[RAM] image
-(this is done by changing the RedBoot configuration) and download the
-RAM mode RedBoot whenever it is needed. If the RedBoot image takes up
-a fraction of an extra flash block, it may be possible to reduce the
-image size enough to free this block by removing some features.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2641">RAM Resources</H2
-><P
->RedBoot reserves RAM space for its run-time data, and such
-things as CPU exception/interrupt tables. It normally does so at the
-bottom of the memory map. It may also reserve space at the top of the
-memory map for configurable RedBoot features such as the net stack
-and zlib decompression support.</P
-><P
->To see the actual amount of reserved space, issue the
-<B
-CLASS="COMMAND"
->version</B
-> command, which prints the RedBoot banner,
-including the RAM usage:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->version</B
-></TT
->
-
-RedBoot(tm) bootstrap and debug environment [ROM]
-Non-certified release, version UNKNOWN - built 13:31:57, May 17 2002
-
-Platform: FooBar (SH 7615)
-Copyright (C) 2000, 2001, 2002, Red Hat, Inc.
-
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->RAM: 0x06000000-0x06080000, 0x06012498-0x06061000 available</I
-></SPAN
->
-FLASH: 0x00000000 - 0x00080000, 8 blocks of 0x00010000 bytes each.</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->To simplify operations that temporarily need data in free
-memory, the limits of free RAM are also available as aliases (aligned
-to the nearest kilo-byte limit). These are named
-FREEMEMLO and
-FREEMEMHI, and can
-be used in commands like any user defined alias:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -r -b %{FREEMEMLO} file</B
-></TT
->
-Raw file loaded 0x06012800-0x06013e53, assumed entry at 0x06012800</PRE
-></TD
-></TR
-></TABLE
->
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->x -b %{FREEMEMHI}</B
-></TT
->
-06061000: 86 F5 EB D8 3D 11 51 F2  96 F4 B2 DC 76 76 8F 77  |....=.Q.....vv.w|
-06061010: E6 55 DD DB F3 75 5D 15  E0 F3 FC D9 C8 73 1D DA  |.U...u]......s..|</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->To reduce RedBoot's RAM resource usage, use a ROM mode
-RedBoot. The RedBoot features that use most RAM are the net stack, the
-flash support and the gunzip support. These, and other features, can
-be disabled to reduce the RAM footprint, but obviously at the cost of
-lost functionality.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="startup-mode.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="configuring-the-redboot-environment.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->RedBoot Startup Mode</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuring the RedBoot Environment</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/sa1100mm.html b/doc/html/ref/sa1100mm.html
deleted file mode 100644 (file)
index d470c76..0000000
+++ /dev/null
@@ -1,362 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM/StrongARM(SA1100) Intel Brutus"
-HREF="brutus.html"><LINK
-REL="NEXT"
-TITLE="ARM/StrongARM(SA1110) Intel SA1110 (Assabet) "
-HREF="assabet.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="brutus.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="assabet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SA1100MM">ARM/StrongARM(SA1100) Intel SA1100 Multimedia Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5695">Overview</H2
-><P
->RedBoot supports both board serial ports. The default serial port
-settings are 38400,8,N,1. flash management is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN5705"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5724">Initial Installation Method</H2
-><P
->A device programmer is used to program socketed flash parts.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5727">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5730">Memory Maps</H2
-><P
->The first level page table is located at physical address 0xc0004000.
-No second level tables are used.<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The virtual memory maps in this section use a C and B column to indicate
-whether or not the region is cached (C) or buffered (B).</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range     Description
------------------------    ----------------------------------
-0x00000000 - 0x000fffff    Boot flash
-0x08000000 - 0x083fffff    Application flash
-0x10000000 - 0x107fffff    SA-1101 Board Registers
-0x18000000 - 0x180fffff    Ct8020 DSP
-0x18400000 - 0x184fffff    XBusReg
-0x18800000 - 0x188fffff    SysRegA
-0x18c00000 - 0x18cfffff    SysRegB
-0x19000000 - 0x193fffff    Spare CPLD A
-0x19400000 - 0x197fffff    Spare CPLD B
-0x20000000 - 0x3fffffff    PCMCIA
-0x80000000 - 0xbfffffff    SA1100 Internal Registers
-0xc0000000 - 0xc07fffff    DRAM Bank 0
-0xe0000000 - 0xe7ffffff    Cache Clean
-Virtual Address Range    C B  Description
-
-
------------------------  - -  ----------------------------------
-0x00000000 - 0x007fffff  Y Y  DRAM Bank 0
-0x08000000 - 0x083fffff  Y Y  Application flash
-0x10000000 - 0x100fffff  N N  SA-1101 Registers
-0x18000000 - 0x180fffff  N N  Ct8020 DSP
-0x18400000 - 0x184fffff  N N  XBusReg
-0x18800000 - 0x188fffff  N N  SysRegA
-0x18c00000 - 0x18cfffff  N N  SysRegB
-0x19000000 - 0x193fffff  N N  Spare CPLD A
-0x19400000 - 0x197fffff  N N  Spare CPLD B
-0x20000000 - 0x3fffffff  N N  PCMCIA
-0x50000000 - 0x500fffff  Y Y  Boot flash
-0x80000000 - 0xbfffffff  N N  SA1100 Internal Registers
-0xc0000000 - 0xc07fffff  N Y  DRAM Bank 0
-0xe0000000 - 0xe7ffffff  Y Y  Cache Clean</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5737">Platform Resource Usage</H2
-><P
-> The SA11x0 OS timer is used as a polled timer to provide timeout support
-for XModem file transfers.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN5740">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=sa1100mm
-export ARCH_DIR=arm
-export PLATFORM_DIR=sa11x0/sa1100mm</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="brutus.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="assabet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM/StrongARM(SA1100) Intel Brutus</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM/StrongARM(SA1110) Intel SA1110 (Assabet)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/screen_main.png b/doc/html/ref/screen_main.png
deleted file mode 100644 (file)
index 7be3651..0000000
Binary files a/doc/html/ref/screen_main.png and /dev/null differ
diff --git a/doc/html/ref/se7709.html b/doc/html/ref/se7709.html
deleted file mode 100644 (file)
index 06505d9..0000000
+++ /dev/null
@@ -1,554 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SuperH/SH3(SH7709) Hitachi Solution Engine 7709</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="SuperH/SH3(SH7708) Hitachi EDK7708"
-HREF="edk7708.html"><LINK
-REL="NEXT"
-TITLE="SuperH/SH3(SH7729) Hitachi HS7729PCI"
-HREF="hs7729pci.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="edk7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hs7729pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SE7709">SuperH/SH3(SH7709) Hitachi Solution Engine 7709</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7247">Overview</H2
-><P
->This
-description covers the MS7709SE01 variant. See <A
-HREF="se77x9.html"
->the Section called <I
->SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</I
-></A
->
-for instructions for the MS7729SE01 and MS7709SSE0101 variants.</P
-><P
->RedBoot uses
-the COM1 and COM2 serial ports. The default serial port settings are 38400,8,N,1.
-Ethernet is also supported using the 10-base T connector. </P
-><P
->Management of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7260"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7279">Initial Installation Method</H2
-><P
->The Solution Engine ships with the Hitachi boot monitor in EPROM
-which allows for initial programming of RedBoot:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Set switch SW4-1 to ON [boot from EPROM]</P
-></LI
-><LI
-><P
->Connect a serial cable to CN1 (SCI) and power up the board.</P
-></LI
-><LI
-><P
->After the boot monitor banner, invoke the flash
-download/program command:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Ready &gt;<TT
-CLASS="USERINPUT"
-><B
->fl</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->The monitor should now ask for input:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Flash ROM data copy to RAM
-Please Send A S-format Record</PRE
-></TD
-></TR
-></TABLE
->At this point copy the
-RedBoot ROM SREC file to the serial port:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot_SE7709RP_ROM.eprom.srec &gt; /dev/ttyS0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Eventually you
-should see something like<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Start Addrs = A1000000
-End Addrs = A1xxxxxx
-Transfer complete</PRE
-></TD
-></TR
-></TABLE
-> from the monitor.</P
-></LI
-><LI
-><P
->Set switch SW4-1 to OFF [boot from flash] and reboot the board. You
-should now see the RedBoot banner.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7299">Special RedBoot Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the SE77x9 are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Parameter block address. This is normally the first
-page of the kernel image and defaults to 0x8c101000</P
-></DD
-><DT
->-i <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Start address of initrd
-image</P
-></DD
-><DT
->-j <TT
-CLASS="REPLACEABLE"
-><I
->&lt;size&#62;</I
-></TT
-></DT
-><DD
-><P
->Size of initrd image</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"args"</I
-></TT
-></DT
-><DD
-><P
->Kernel arguments string</P
-></DD
-><DT
->-m <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->Mount rdonly flags. If set to a non-zero value the
-root partition will be mounted read-only.</P
-></DD
-><DT
->-f <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->RAM disk flags. Should normally be 0x4000</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;device number&#62;</I
-></TT
-></DT
-><DD
-><P
->Root device specification. /dev/ram is 0x0101</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;type&#62;</I
-></TT
-></DT
-><DD
-><P
->Loader type</P
-></DD
-></DL
-></DIV
-><P
->Finally the kernel entry address can be specified as an optional
-argument. The default is 0x8c102000</P
-><P
->For the the SE77x9, Linux by default expects to be loaded at
-0x8c001000 which conflicts with the data space used by RedBoot.
-To work around this, either change the CONFIG_MEMORY_START kernel
-option to a higher address, or use the compressed kernel image and load
-it at a higher address. For example, setting CONFIG_MEMORY_START to
-0x8c100000, the kernel expects to be loaded at address 0x8c101000 with
-the entry point at 0x8c102000.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7348">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the SE77x9 board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  Description
------------------------ -----------
-0x80000000 - 0x803fffff Flash (MBM29LV160)
-0x81000000 - 0x813fffff EPROM (M27C800)
-0x8c000000 - 0x8dffffff DRAM
-0xb0000000 - 0xb03fffff Ethernet (DP83902A)
-0xb0800000 - 0xb08fffff 16C552A
-0xb1000000 - 0xb100ffff Switches
-0xb1800000 - 0xb18fffff LEDs
-0xb8000000 - 0xbbffffff PCMCIA (MaruBun)</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7352">Ethernet Driver</H2
-><P
->The ethernet driver uses a hardwired ESA which can, at present,
-only be changed in CDL.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7355">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=se77x9
-export ARCH_DIR=sh
-export PLATFORM_DIR=se77x9</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="edk7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hs7729pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SuperH/SH3(SH7708) Hitachi EDK7708</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SuperH/SH3(SH7729) Hitachi HS7729PCI</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/se7751.html b/doc/html/ref/se7751.html
deleted file mode 100644 (file)
index 09df26b..0000000
+++ /dev/null
@@ -1,541 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SuperH/SH4(SH7751) Hitachi Solution Engine 7751</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9"
-HREF="se77x9.html"><LINK
-REL="NEXT"
-TITLE="The eCos Hardware Abstraction Layer (HAL)"
-HREF="the-ecos-hardware-abstraction-layer.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="se77x9.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SE7751">SuperH/SH4(SH7751) Hitachi Solution Engine 7751</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7589">Overview</H2
-><P
->RedBoot uses
-the COM1 serial port. The default serial port settings are 38400,8,N,1.
-Ethernet is also supported using the 10-base T connector. Management
-of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7599"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7618">Initial Installation Method</H2
-><P
->The Solution Engine ships with the Hitachi boot monitor in EPROM
-which allows for initial programming of RedBoot:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Set switches SW5-3 and SW5-4 to ON [boot from EPROM]</P
-></LI
-><LI
-><P
->Connect a serial cable to COM1 and power up the board.</P
-></LI
-><LI
-><P
->After the boot monitor banner, invoke the flash
-download/program command:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Ready &gt;<TT
-CLASS="USERINPUT"
-><B
->fl</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->The monitor should now ask for input:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Flash ROM data copy to RAM
-Please Send A S-format Record</PRE
-></TD
-></TR
-></TABLE
->At this point copy the
-RedBoot ROM SREC file to the serial port:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot_ROM.eprom.srec &gt; /dev/ttyS0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Eventually you
-should see something like<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Start Addrs = A1000000
-End Addrs = A1xxxxxx
-Transfer complete</PRE
-></TD
-></TR
-></TABLE
-> from the monitor.</P
-></LI
-><LI
-><P
->Set switch SW5-3 to OFF [boot from flash] and reboot the board. You
-should now see the RedBoot banner.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7638">Special RedBoot Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the SE7751 are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Parameter block address. This is normally the first
-page of the kernel image and defaults to 0x8c101000</P
-></DD
-><DT
->-i <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Start address of initrd
-image</P
-></DD
-><DT
->-j <TT
-CLASS="REPLACEABLE"
-><I
->&lt;size&#62;</I
-></TT
-></DT
-><DD
-><P
->Size of initrd image</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"args"</I
-></TT
-></DT
-><DD
-><P
->Kernel arguments string</P
-></DD
-><DT
->-m <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->Mount rdonly flags. If set to a non-zero value the
-root partition will be mounted read-only.</P
-></DD
-><DT
->-f <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->RAM disk flags. Should normally be 0x4000</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;device number&#62;</I
-></TT
-></DT
-><DD
-><P
->Root device specification. /dev/ram is 0x0101</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;type&#62;</I
-></TT
-></DT
-><DD
-><P
->Loader type</P
-></DD
-></DL
-></DIV
-><P
->Finally the kernel entry address can be specified as an optional
-argument. The default is 0x8c102000</P
-><P
->On the SE7751, Linux expects to be loaded at address 0x8c101000 with
-the entry point at 0x8c102000. This is configurable in the kernel
-using the CONFIG_MEMORY_START option.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7687">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the SE7751 board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  Description
------------------------ -----------
-0x80000000 - 0x803fffff Flash (MBM29LV160)
-0x81000000 - 0x813fffff EPROM (M27C800)
-0x8c000000 - 0x8fffffff SDRAM
-0xb8000000 - 0xb8ffffff PCMCIA (MaruBun)
-0xb9000000 - 0xb9ffffff Switches
-0xba000000 - 0xbaffffff LEDs
-0xbd000000 - 0xbdffffff PCI MEM space
-0xbe200000 - 0xbe23ffff PCI Ctrl space
-0xbe240000 - 0xbe27ffff PCI IO space</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7691">Ethernet Driver</H2
-><P
->The ethernet driver uses a hardwired ESA which can, at present,
-only be changed in CDL.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7694">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=se7751
-export ARCH_DIR=sh
-export PLATFORM_DIR=se7751</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="se77x9.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="the-ecos-hardware-abstraction-layer.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The eCos Hardware Abstraction Layer (HAL)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/se77x9.html b/doc/html/ref/se77x9.html
deleted file mode 100644 (file)
index 40121b0..0000000
+++ /dev/null
@@ -1,549 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="SuperH/SH3(SH7729) Hitachi HS7729PCI"
-HREF="hs7729pci.html"><LINK
-REL="NEXT"
-TITLE="SuperH/SH4(SH7751) Hitachi Solution Engine 7751"
-HREF="se7751.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hs7729pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="se7751.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SE77X9">SuperH/SH3(SH77X9) Hitachi Solution Engine 77X9</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7474">Overview</H2
-><P
->This
-description covers the MS7729SE01 and MS7709SSE0101 variants. See <A
-HREF="se7709.html"
->the Section called <I
->SuperH/SH3(SH7709) Hitachi Solution Engine 7709</I
-></A
->
-for instructions for the MS7709SE01 variant.</P
-><P
->RedBoot uses
-the COM1 and COM2 serial ports. The default serial port settings are 38400,8,N,1.
-Ethernet is also supported using the 10-base T connector. Management
-of onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7486"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from the board's flash boot
-             sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7505">Initial Installation Method</H2
-><P
->The Solution Engine ships with the Hitachi boot monitor in EPROM
-which allows for initial programming of RedBoot:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Set switches SW4-3 and SW4-4 to ON [boot from EPROM]</P
-></LI
-><LI
-><P
->Connect a serial cable to COM2 and power up the board.</P
-></LI
-><LI
-><P
->After the boot monitor banner, invoke the flash
-download/program command:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Ready &gt;<TT
-CLASS="USERINPUT"
-><B
->fl</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->The monitor should now ask for input:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Flash ROM data copy to RAM
-Please Send A S-format Record</PRE
-></TD
-></TR
-></TABLE
->At this point copy the
-RedBoot ROM SREC file to the serial port:<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->cat redboot_ROM.eprom.srec &gt; /dev/ttyS0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-Eventually you
-should see something like<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Start Addrs = A1000000
-End Addrs = A1xxxxxx
-Transfer complete</PRE
-></TD
-></TR
-></TABLE
-> from the monitor.</P
-></LI
-><LI
-><P
->Set switch SW4-3 to OFF [boot from flash] and reboot the board. You
-should now see the RedBoot banner.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7525">Special RedBoot Commands</H2
-><P
->The <B
-CLASS="COMMAND"
->exec</B
-> command which allows the loading
-and execution of Linux kernels
-is supported for this board (see <A
-HREF="executing-programs.html"
->the Section called <I
->Executing Programs from RedBoot</I
-> in Chapter 2</A
->). The <B
-CLASS="COMMAND"
->exec</B
-> parameters used for the SE77x9 are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->-b <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Parameter block address. This is normally the first
-page of the kernel image and defaults to 0x8c101000</P
-></DD
-><DT
->-i <TT
-CLASS="REPLACEABLE"
-><I
->&lt;addr&#62;</I
-></TT
-></DT
-><DD
-><P
->Start address of initrd
-image</P
-></DD
-><DT
->-j <TT
-CLASS="REPLACEABLE"
-><I
->&lt;size&#62;</I
-></TT
-></DT
-><DD
-><P
->Size of initrd image</P
-></DD
-><DT
->-c <TT
-CLASS="REPLACEABLE"
-><I
->"args"</I
-></TT
-></DT
-><DD
-><P
->Kernel arguments string</P
-></DD
-><DT
->-m <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->Mount rdonly flags. If set to a non-zero value the
-root partition will be mounted read-only.</P
-></DD
-><DT
->-f <TT
-CLASS="REPLACEABLE"
-><I
->&lt;flags&#62;</I
-></TT
-></DT
-><DD
-><P
->RAM disk flags. Should normally be 0x4000</P
-></DD
-><DT
->-r <TT
-CLASS="REPLACEABLE"
-><I
->&lt;device number&#62;</I
-></TT
-></DT
-><DD
-><P
->Root device specification. /dev/ram is 0x0101</P
-></DD
-><DT
->-l <TT
-CLASS="REPLACEABLE"
-><I
->&lt;type&#62;</I
-></TT
-></DT
-><DD
-><P
->Loader type</P
-></DD
-></DL
-></DIV
-><P
->Finally the kernel entry address can be specified as an optional
-argument. The default is 0x8c102000</P
-><P
->On the SE77x9, Linux expects to be loaded at address 0x8c101000 with
-the entry point at 0x8c102000. This is configurable in the kernel
-using the CONFIG_MEMORY_START option.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7574">Memory Maps</H2
-><P
->RedBoot sets up the following memory map on the SE77x9 board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range  Description
------------------------ -----------
-0x80000000 - 0x803fffff Flash (MBM29LV160)
-0x81000000 - 0x813fffff EPROM (M27C800)
-0x8c000000 - 0x8dffffff SDRAM
-0xb0000000 - 0xb03fffff Ethernet (DP83902A)
-0xb0400000 - 0xb07fffff SuperIO (FDC37C935A)
-0xb0800000 - 0xb0bfffff Switches
-0xb0c00000 - 0xbfffffff LEDs
-0xb1800000 - 0xb1bfffff PCMCIA (MaruBun)</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7578">Ethernet Driver</H2
-><P
->The ethernet driver uses a hardwired ESA which can, at present,
-only be changed in CDL.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7581">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=se77x9
-export ARCH_DIR=sh
-export PLATFORM_DIR=se77x9</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hs7729pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="se7751.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SuperH/SH3(SH7729) Hitachi HS7729PCI</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SuperH/SH4(SH7751) Hitachi Solution Engine 7751</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/services-cpuload.html b/doc/html/ref/services-cpuload.html
deleted file mode 100644 (file)
index e3e52ef..0000000
+++ /dev/null
@@ -1,169 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CPU load measurements</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="CRC Functions"
-HREF="crc-functions.html"><LINK
-REL="NEXT"
-TITLE="CPU Load Measurements"
-HREF="cpuload-functions.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="crc-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cpuload-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="SERVICES-CPULOAD"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XIX. CPU load measurements</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN15484"><P
->The cpuload package provides a way to estimate the cpuload. It gives
-an estimated percentage load for the last 100 milliseconds, 1 second
-and 10 seconds.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->51. <A
-HREF="cpuload-functions.html"
->CPU Load Measurements</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="crc-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cpuload-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CRC Functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CPU Load Measurements</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/services-crc.html b/doc/html/ref/services-crc.html
deleted file mode 100644 (file)
index 5e40536..0000000
+++ /dev/null
@@ -1,170 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CRC Algorithms</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="FTP Client Features"
-HREF="net-ftpclient-features.html"><LINK
-REL="NEXT"
-TITLE="CRC Functions"
-HREF="crc-functions.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-ftpclient-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="crc-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="SERVICES-CRC"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XVIII. CRC Algorithms</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN15440"><P
->The CRC package provides implementation of CRC algorithms. This
-includes the POSIX CRC calculation which produces the same result as
-the cksum command on Linux, another 32 bit CRC by Gary S. Brown and a
-16bit CRC. The CRC used for Ethernet FCS is also implemented.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->50. <A
-HREF="crc-functions.html"
->CRC Functions</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-ftpclient-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="crc-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->FTP Client Features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CRC Functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/services-power.html b/doc/html/ref/services-power.html
deleted file mode 100644 (file)
index 9beb3be..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Power Management Support</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Profiling functions"
-HREF="profile-functions.html"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="power-intro.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="profile-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="power-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="SERVICES-POWER"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XXI. eCos Power Management Support</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="power-intro.html"
->Introduction</A
->&nbsp;--&nbsp;eCos support for Power Management</DT
-><DT
-><A
-HREF="power-info.html"
->Power Management Information</A
->&nbsp;--&nbsp;finding out about the various power controllers in the system</DT
-><DT
-><A
-HREF="power-change.html"
->Changing Power Modes</A
->&nbsp;--&nbsp;reducing or increasing power consumption as needed</DT
-><DT
-><A
-HREF="power-policy.html"
->Support for Policy Modules</A
->&nbsp;--&nbsp;closer integration with higher-level code</DT
-><DT
-><A
-HREF="power-attached.html"
->Attached and Detached Controllers</A
->&nbsp;--&nbsp;control which power controllers are affected by global changes</DT
-><DT
-><A
-HREF="power-controller.html"
->Implementing a Power Controller</A
->&nbsp;--&nbsp;adding power management support to device drivers and
-other packages</DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="profile-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="power-intro.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Profiling functions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/services-profile-gprof.html b/doc/html/ref/services-profile-gprof.html
deleted file mode 100644 (file)
index 40ff46b..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Application profiling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="CPU Load Measurements"
-HREF="cpuload-functions.html"><LINK
-REL="NEXT"
-TITLE="Profiling functions"
-HREF="profile-functions.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cpuload-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="profile-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="SERVICES-PROFILE-GPROF"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XX. Application profiling</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN15538"><P
->The profile_gprof package provides a mechanism to measure the
-runtime performance of an application.  This is done by gathering
-an execution histogram.</P
-><P
->When profiling is started on the target device, a 
-<TT
-CLASS="FUNCTION"
->TFTP</TT
-> 
-server will be started
-which exports the single file
-<TT
-CLASS="FILENAME"
->PROFILE.DAT</TT
->
-This analysis data can then be fetched
-by connecting to the target with a <TT
-CLASS="FUNCTION"
->TFTP</TT
-> 
-client program
-and then be processed by the 
-<TT
-CLASS="FUNCTION"
->gprof</TT
->
-utility program.
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Be sure and specify binary mode transfers for this data file,
-which may not be the default with on some <TT
-CLASS="FUNCTION"
->TFTP</TT
->
-client programs.</P
-></BLOCKQUOTE
-></DIV
->
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The port used for this <TT
-CLASS="FUNCTION"
->TFTP</TT
-> server is
-configurable.  The default will be the IETF standard port
-of 69/UDP, but it may be changed to any UDP port via the
-<TT
-CLASS="LITERAL"
->CYGNUM_PROFILE_TFTP_PORT</TT
-> CDL option.</P
-></BLOCKQUOTE
-></DIV
-></P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->52. <A
-HREF="profile-functions.html"
->Profiling functions</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cpuload-functions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="profile-functions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CPU Load Measurements</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Profiling functions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/simple.png b/doc/html/ref/simple.png
deleted file mode 100644 (file)
index dd88cad..0000000
Binary files a/doc/html/ref/simple.png and /dev/null differ
diff --git a/doc/html/ref/startup-mode.html b/doc/html/ref/startup-mode.html
deleted file mode 100644 (file)
index e45f81b..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->RedBoot Startup Mode</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="RedBoot Editing Commands"
-HREF="redboot-editing-commands.html"><LINK
-REL="NEXT"
-TITLE="RedBoot Resource Usage"
-HREF="resource-usage.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="redboot-editing-commands.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Getting Started with RedBoot</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="resource-usage.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="STARTUP-MODE">RedBoot Startup Mode</H1
-><P
->  
-  </P
-><P
->RedBoot can normally be configured to run in a number of startup
-modes (or just "modes" for short), determining its location of
-residence and execution:
-<P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->ROM mode</DT
-><DD
-><P
->In this mode, RedBoot both resides and executes from
- ROM memory (flash or EPROM). This mode is used when there are limited
- RAM resources. The flash commands cannot update the region of flash
- where the RedBoot image resides. In order to update the RedBoot image
- in flash, it is necessary to run a RAM mode instance of
- RedBoot.</P
-></DD
-><DT
->ROMRAM mode</DT
-><DD
-><P
->In this mode, RedBoot resides in ROM memory (flash or
- EPROM), but is copied to RAM memory before it starts executing. The
- RAM footprint is larger than for ROM mode, but there are two
- advantages to make up for this: it normally runs faster (relevant
- only on slower boards) and it is able to update the flash region
- where the image resides.</P
-></DD
-><DT
->RAM mode</DT
-><DD
-><P
->In this mode, RedBoot both resides and executes from
- RAM memory. This is used for updating a primary ROM
- mode image in situ and sometimes as part of the RedBoot installation
- on the board when there's already an existing (non-RedBoot) boot
- monitor available.</P
-><P
-> You can only use ROM and ROMRAM mode images for booting a
- board - a RAM mode image cannot run unless loaded by another ROM
- monitor. There is no need for this startup mode if a RedBoot ROMRAM
- mode image is the primary boot monitor.  When this startup mode is
- programmed into flash (as a convenience as it's fast to load from
- flash) it will generally be named as "RedBoot[RAM]" in the FIS
- directory.  </P
-></DD
-></DL
-></DIV
->
-
-The chosen mode has influence on flash and RAM resource usage (see
-<A
-HREF="resource-usage.html"
->the Section called <I
->RedBoot Resource Usage</I
-></A
->) and the procedure of an in situ update
-of RedBoot in flash (see <A
-HREF="updating-redboot.html"
->Chapter 4</A
->).</P
-><P
->The startup mode is controlled by the option CYG_HAL_STARTUP
-which resides in the platform HAL. Some platforms provide only some of
-the RAM, ROM, and ROMRAM modes, others provide additional
-modes.</P
-><P
->To see mode of a currently executing RedBoot, issue the
-<B
-CLASS="COMMAND"
->version</B
-> command, which prints the RedBoot banner,
-including the startup mode (here ROM):
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62;<TT
-CLASS="USERINPUT"
-><B
->version</B
-></TT
->
-
-RedBoot(tm) bootstrap and debug environment <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->[ROM]</I
-></SPAN
->
-Non-certified release, version UNKNOWN - built 13:31:57, May 17 2002</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="redboot-editing-commands.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="resource-usage.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->RedBoot Editing Commands</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->RedBoot Resource Usage</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-console.html b/doc/html/ref/synth-console.html
deleted file mode 100644 (file)
index 7bb9b4d..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The Console Device</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="The I/O Auxiliary's User Interface"
-HREF="synth-gui.html"><LINK
-REL="NEXT"
-TITLE="System Calls"
-HREF="synth-syscalls.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-gui.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-syscalls.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-CONSOLE">The Console Device</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18091"
-></A
-><H2
->Name</H2
->The console device &nbsp;--&nbsp;Show output from the eCos application</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-CONSOLE-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The eCos application can generate text output in a variety of ways,
-including calling <TT
-CLASS="FUNCTION"
->printf</TT
-> or
-<TT
-CLASS="FUNCTION"
->diag_printf</TT
->. When the I/O auxiliary is enabled
-the eCos startup code will instantiate a console device to process all
-such output. If operating in text mode the output will simply go to
-standard output, or to a logfile if the <TT
-CLASS="OPTION"
->-l</TT
-> command
-line option is specified. If operating in graphical mode the output
-will go to the central text window, and optionally to a logfile as
-well. In addition it is possible to control the appearance of the main
-text via the target definition file, and to install extra filters for
-certain types of text.
-    </P
-><P
->It should be noted that the console device is line-oriented, not
-character-oriented. This means that outputting partial lines is not
-supported, and some functions such as <TT
-CLASS="FUNCTION"
->fflush</TT
-> and
-<TT
-CLASS="FUNCTION"
->setvbuf</TT
-> will not operate as expected. This
-limitation prevents much possible confusion when using filters to
-control the appearance of the text window, and has some performance
-benefits - especially when the eCos application generates a great deal
-of output such as when tracing is enabled. For most applications this
-is not a problem, but it is something that developers should be aware
-of. 
-    </P
-><P
->The console device is output-only, it does not provide any support for
-keyboard input. If the application requires keyboard input then that
-should be handled by a separate eCos device package and matching
-host-side code.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-CONSOLE-INSTALL"
-></A
-><H2
->Installation</H2
-><P
->The eCos side of the console device is implemented by the
-architectural HAL itself, in the source file
-<TT
-CLASS="FILENAME"
->synth_diag.c</TT
->, rather than in a separate device
-package. Similarly the host-side implementation,
-<TT
-CLASS="FUNCTION"
->console.tcl</TT
->, is part of the architectural HAL's
-host-side support. It gets installed automatically alongside the I/O
-auxiliary itself, so no separate installation procedure is required.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-CONSOLE-TDF"
-></A
-><H2
->Target Definition File</H2
-><P
->The <A
-HREF="synth-running.html#SYNTH-RUNNING-TDF"
->target definition file</A
->
-can contain a number of entries related to the console device. These
-are all optional, they only control the appearance of text output. If
-such control is desired then the relevant options should appear in the
-body of a <B
-CLASS="COMMAND"
->synth_device</B
-> entry:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device console {
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The first option is <B
-CLASS="COMMAND"
->appearance</B
->, used to control the
-appearance of any text generated by the eCos application that does not
-match one of the installed filters. This option takes the same
-argument as any other filter, for example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device console {
-    appearance -foreground white -background black
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Any number of additional filters can be created with a
-<B
-CLASS="COMMAND"
->filter</B
-> option, for example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device console {
-    &#8230;
-    filter trace {^TRACE:.*} -foreground HotPink1 -hide 1
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The first argument gives the new filter a name which will be used in
-the <A
-HREF="synth-gui.html#SYNTH-GUI-TEXT"
->filters dialog</A
->. Filter names
-should be unique. The second argument is a Tcl regular expression. The
-console support will match each line of eCos output against this
-regular expression, and if a match is found then the filter will be
-used for this line of text. The above example matches any line of
-output that begins with <TT
-CLASS="LITERAL"
->TRACE:</TT
->, which corresponds
-to the eCos infrastructure's tracing facilities. The remaining options
-control the desired appearance for matched text. If some eCos output
-matches the regular expressions for several different filters then
-only the first match will be used.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-CONSOLE-TARGET-CONFIG"
-></A
-><H2
->Target-side
-  Configuration Options</H2
-><P
->There are no target-side configuration options related to the console
-device. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-CONSOLE-ARGUMENTS"
-></A
-><H2
->Command Line Arguments</H2
-><P
->The console device does not use any command-line arguments.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-CONSOLE-HOOKS"
-></A
-><H2
->Hooks</H2
-><P
->The console device does not provide any hooks.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN18133"
-></A
-><H2
->Additional Tcl Procedures</H2
-><P
->The console device does not provide any additional Tcl procedures that
-can be used by other scripts.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-gui.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-syscalls.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The I/O Auxiliary's User Interface</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->System Calls</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-gui.html b/doc/html/ref/synth-gui.html
deleted file mode 100644 (file)
index 49bcc00..0000000
+++ /dev/null
@@ -1,745 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The I/O Auxiliary's User Interface</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="Running a Synthetic Target Application"
-HREF="synth-running.html"><LINK
-REL="NEXT"
-TITLE="The Console Device"
-HREF="synth-console.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-running.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-console.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-GUI">The I/O Auxiliary's User Interface</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17960"
-></A
-><H2
->Name</H2
->User Interface&nbsp;--&nbsp;Controlling the I/O Auxiliary</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-GUI-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The synthetic target auxiliary is designed to support both extensions
-and user customization. Support for the desired devices is dynamically
-loaded, and each device can extend the user interface. For example it
-is possible for a device to add menu options, place new buttons on the
-toolbar, create its own sub-window within the overall layout, or even
-create entire new toplevel windows. These subwindows or toplevels
-could show graphs of activity such as interrupts or packets being
-transferred. They could also allow users to interact with the eCos
-application, for example by showing a number of buttons which will be
-mapped on to digital inputs in the eCos application. Different
-applications will have their own I/O requirements, changing the
-host-side support files that get loaded and that may modify the user
-interface. The I/O auxiliary also reads in user configuration scripts
-which can enhance the interface in the same way. Therefore the exact
-user interface will depend on the user and on the eCos application
-being run. However the overall layout is likely to remain the same.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN17966"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="screen_main.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->The title bar identifies the window as belonging to an eCos synthetic
-target application and lists both the application name and its process
-id. The latter is especially useful if the application was started
-directly from a shell prompt and the user now wants to attach a gdb
-session. The window has a conventional menu bar with the usual
-entries, plus a toolbar with buttons for common operations such as cut
-and paste. Balloon help is supported.
-    </P
-><P
->There is a central <A
-HREF="synth-gui.html#SYNTH-GUI-TEXT"
->text window</A
->,
-possibly surrounded by various sub-windows for various devices. For
-example there could be a row of emulated LED's above the text window,
-and monitors of ethernet traffic and interrupt activity on the right.
-At the bottom of the window is a status line, including a small
-animation that shows whether or not the eCos application is still
-running.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-GUI-MENUS"
-></A
-><H2
->Menus and the Toolbar</H2
-><P
->Usually there will be four menus on the menu bar:
-<SPAN
-CLASS="GUIMENU"
->File</SPAN
->, <SPAN
-CLASS="GUIMENU"
->Edit</SPAN
->,
-<SPAN
-CLASS="GUIMENU"
->View</SPAN
-> and <SPAN
-CLASS="GUIMENU"
->Help</SPAN
->.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN17980"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="menu_file.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->On the <SPAN
-CLASS="GUIMENU"
->File</SPAN
-> menu there are three entries related to
-saving the current contents of the central text window.
-<SPAN
-CLASS="GUIMENUITEM"
->Save</SPAN
-> is used to save the currently visible
-contents of the text window. Any text that is hidden because of
-filters will not be written to the savefile. If there has been a
-previous <SPAN
-CLASS="GUIMENUITEM"
->Save</SPAN
-> or <SPAN
-CLASS="GUIMENUITEM"
->Save
-As</SPAN
-> operation then the existing savefile will be re-used,
-otherwise the user will be asked to select a suitable file.
-<SPAN
-CLASS="GUIMENUITEM"
->Save As</SPAN
-> also saves just the currently
-visible contents but will always prompt the user for a filename.
-<SPAN
-CLASS="GUIMENUITEM"
->Save All</SPAN
-> can be used to save the full
-contents of the text window, including any text that is currently
-hidden. It will always prompt for a new filename, to avoid confusion
-with partial savefiles.
-    </P
-><P
->Usually the eCos application will be run from inside gdb or from a
-shell prompt. Killing off the application while it is being debugged
-in a gdb session is not a good idea, it would be better to use gdb's
-own <B
-CLASS="COMMAND"
->kill</B
-> command. Alternatively the eCos
-application itself can use the <TT
-CLASS="FUNCTION"
->CYG_TEST_EXIT</TT
-> or
-<TT
-CLASS="FILENAME"
->cyg_hal_sys_exit</TT
-> functionality. However it is
-possible to terminate the application from the I/O auxiliary using
-<SPAN
-CLASS="GUIMENUITEM"
->Kill eCos</SPAN
->. A clean shutdown will be
-attempted, but that can fail if the application is currently halted
-inside gdb or if it has crashed completely. As a last resort
-<TT
-CLASS="CONSTANT"
->SIGKILL</TT
-> will be used.
-    </P
-><P
->When operating in graphical mode the I/O auxiliary will normally
-continue to run even after the eCos application has exited. This
-allows the user to examine the last few lines of output, and perhaps
-perform actions such as saving the output to a file. The
-<SPAN
-CLASS="GUIMENUITEM"
->Exit</SPAN
-> menu item can be used to shut down the
-auxiliary. Note that this behaviour can be changed with command line
-arguments <A
-HREF="synth-running.html#SYNTH-RUNNING-ARGUMENTS"
-><TT
-CLASS="OPTION"
->--exit</TT
-></A
-> and
-<A
-HREF="synth-running.html#SYNTH-RUNNING-ARGUMENTS"
-><TT
-CLASS="OPTION"
->--no-exit</TT
-></A
->.
-    </P
-><P
->If <SPAN
-CLASS="GUIMENUITEM"
->Exit</SPAN
-> is used while the eCos application
-is still running then the I/O auxiliary will first attempt to
-terminate the application cleanly, and then exit.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18005"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="menu_edit.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->The <SPAN
-CLASS="GUIMENU"
->Edit</SPAN
-> menu contains the usual entries for
-text manipulation: <SPAN
-CLASS="GUIMENUITEM"
->Cut</SPAN
->,
-<SPAN
-CLASS="GUIMENUITEM"
->Copy</SPAN
->, <SPAN
-CLASS="GUIMENUITEM"
->Paste</SPAN
->,
-<SPAN
-CLASS="GUIMENUITEM"
->Clear</SPAN
-> and <SPAN
-CLASS="GUIMENUITEM"
->Select
-All</SPAN
->. These all operate on the central text window. By
-default this window cannot be edited so the cut, paste and clear
-operations are disabled. If the user wants to edit the contents of the
-text window then the <SPAN
-CLASS="GUIMENUITEM"
->Read Only</SPAN
-> checkbutton
-should be toggled.
-    </P
-><P
->The <SPAN
-CLASS="GUIMENUITEM"
->Preferences</SPAN
-> menu item brings up a
-miscellaneous preferences dialog. One of the preferences relates to
-online help: the I/O auxiliary does not currently have a built-in html
-viewer; instead it will execute an external browser of some sort. With
-the example settings shown, the I/O auxiliary will first attempt to
-interact with an existing mozilla session. If that fails it will try
-to run a new mozilla instance, or as a last result use the Gnome help
-viewer. 
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18019"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="preferences.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->The <SPAN
-CLASS="GUIMENU"
->View</SPAN
-> menu contains the <SPAN
-CLASS="GUIMENUITEM"
->System
-Filters</SPAN
-> entry, used to edit the settings for the current
-<A
-HREF="synth-gui.html#SYNTH-GUI-TEXT"
->filters</A
->.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18027"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="menu_view.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->The <SPAN
-CLASS="GUIMENU"
->Help</SPAN
-> menu can be used to activate online help
-for eCos generally, for the synthetic target as a whole, and for
-specific devices supported by the generic target. The Preferences
-dialog can be used to select the browser that will be used.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18033"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="menu_help.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At the time of writing there is no well-defined toplevel index file
-for all eCos documentation. Hence the relevant menu item is disabled.
-Documentation for the synthetic target and the supported devices
-is stored as part of the package itself so can usually be found fairly
-easily. It may be necessary to set the <TT
-CLASS="ENVAR"
->ECOS_REPOSITORY</TT
->
-environment variable.
-    </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-GUI-TEXT"
-></A
-><H2
->The Main Text Window</H2
-><P
->The central text window holds the console output from the eCos
-application: the screen shot above shows DHCP initialization data from
-the TCP/IP stack, and some output from the <TT
-CLASS="FUNCTION"
->main</TT
->
-thread at the bottom. Some devices can insert text of their own, for
-example the ethernet device support can be configured to show details
-of incoming and outgoing packets. Mixing the output from the eCos
-application and the various devices can make it easier to understand
-the order in which events occur.
-    </P
-><P
->The appearance of text from different sources can be controlled by
-means of filters, and it is also possible to hide some of the text.
-For example, if tracing is enabled in the eCos configuration then the
-trace output can be given its own colour scheme, making it stand out
-from the rest of the output. In addition the trace output is generally
-voluminous so it can be hidden by default, made visible only to find
-out more about what was happening when a particular problem occurred.
-Similarly the ethernet device support can output details of the
-various packets being transferred, and using a different background
-colour for this output again makes it easier to distinguish from
-console output.
-    </P
-><P
->The default appearance for most filters is controlled via the
-<A
-HREF="synth-running.html#SYNTH-RUNNING-TDF"
->target definition file</A
->. An
-example entry might be:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  filter trace {^TRACE:.*} -foreground HotPink1 -hide 1</PRE
-></TD
-></TR
-></TABLE
-><P
->The various colours and the hide flag for each filter can be changed
-at run-time, using the <SPAN
-CLASS="GUIMENUITEM"
->System Filters</SPAN
-> item
-on the <SPAN
-CLASS="GUIMENU"
->View</SPAN
-> menu. This will bring up a dialog like
-the following:
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18051"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="filters.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->It should be noted that the text window is line-oriented, not
-character-oriented. If an eCos application sends a partial line of
-text then that will remain buffered until a newline character is
-received, rather than being displayed immediately. This avoids
-confusion when there is concurrent output from several sources.
-    </P
-><P
->By default the text window is read-only. This means it will not allow
-cut, paste and clear operations, and keyboard input will be ignored.
-The <SPAN
-CLASS="GUIMENU"
->Edit</SPAN
-> menu has a checkbutton <SPAN
-CLASS="GUIMENUITEM"
->Read
-Only</SPAN
-> which can be toggled to allow write operations. For
-example, a user could type in a reminder of what was happening at this
-time, or paste in part of a gdb session. Such keyboard input does not
-get forwarded to the eCos application: if the latter requires keyboard
-input then that should happen via a separate keyboard device.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-GUI-LAYOUT"
-></A
-><H2
->Positioning Optional Windows</H2
-><P
->Some devices may create their own subwindows, for example to monitor
-ethernet traffic or to provide additional I/O facilities such as
-emulated LED's or buttons. Usually the target definition file can be
-used to control the <A
-HREF="synth-gui.html#SYNTH-GUI-LAYOUT"
->layout</A
-> of
-these windows. This requires an understanding of the overall layout of
-the display.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18063"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="layout.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->Subwindows are generally packed in one of eight frames surrounding the
-central text window: <TT
-CLASS="VARNAME"
->.main.nw</TT
->,
-<TT
-CLASS="VARNAME"
->.main.n</TT
->, <TT
-CLASS="VARNAME"
->.main.ne</TT
->,
-<TT
-CLASS="VARNAME"
->.main.w</TT
->, <TT
-CLASS="VARNAME"
->.main.e</TT
->,
-<TT
-CLASS="VARNAME"
->.main.sw</TT
->, <TT
-CLASS="VARNAME"
->.main.s</TT
->, and
-<TT
-CLASS="VARNAME"
->.main.se</TT
->. To position a row of LED's above the text
-window and towards the left, a target definition file could contain an
-entry such as:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device led {
-    pack -in .main.n -side left
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Similarly, to put a traffic monitor window on the right of the text
-window would involve something like:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    &#8230;
-    monitor_pack -in .main.e -side bottom
-    &#8230;</PRE
-></TD
-></TR
-></TABLE
-><P
->Often it will be sufficient to specify a container frame and one of
-<TT
-CLASS="CONSTANT"
->left</TT
->, <TT
-CLASS="CONSTANT"
->right</TT
->,
-<TT
-CLASS="CONSTANT"
->top</TT
-> or <TT
-CLASS="CONSTANT"
->bottom</TT
->. Full control
-over the positioning requires an understanding of Tcl/Tk and in
-particular the packing algorithm, and an appropriate reference work
-should be consulted.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-GUI-GLOBAL-CONFIG"
-></A
-><H2
->Global Settings</H2
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->This section still to be written - it should document the interaction
-between X resources and ecosynth, and how users can control settings
-such as the main foreground and background colours.
-    </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-running.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-console.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Running a Synthetic Target Application</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The Console Device</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-install.html b/doc/html/ref/synth-install.html
deleted file mode 100644 (file)
index 1326d14..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Installation</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="Overview"
-HREF="synth.html"><LINK
-REL="NEXT"
-TITLE="Running a Synthetic Target Application"
-HREF="synth-running.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-running.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-INSTALL">Installation</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17701"
-></A
-><H2
->Name</H2
->Installation&nbsp;--&nbsp;Preparing to use the synthetic target</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-INSTALL-HOST"
-></A
-><H2
->Host-side Software</H2
-><P
->To get the full functionality of the synthetic target, users must
-build and install the I/O auxiliary ecosynth and various support
-files. It is possible to develop applications for the synthetic target
-without the auxiliary, but only limited I/O facilities will be
-available. The relevant code resides in the <TT
-CLASS="FILENAME"
->host</TT
-> subdirectory of the synthetic target
-architectural HAL package, and building it involves the standard
-<B
-CLASS="COMMAND"
->configure</B
->, <B
-CLASS="COMMAND"
->make</B
->, and
-<B
-CLASS="COMMAND"
->make install</B
-> steps.
-    </P
-><P
->There are two main ways of building the host-side software. It is
-possible to build both the generic host-side software and all
-package-specific host-side software, including the I/O auxiliary. in a
-single build tree. This involves using the
-<B
-CLASS="COMMAND"
->configure</B
-> script at the toplevel of the eCos
-repository, which will automatically search the <TT
-CLASS="FILENAME"
->packages</TT
-> hierarchy for host-side
-software. For more information on this, see the
-<TT
-CLASS="FILENAME"
->README.host</TT
-> file at the top of the repository.
-Note that if you have an existing build tree which does not include
-the synthetic target architectural HAL package then it will be
-necessary to rerun the toplevel configure script: the search for
-appropriate packages happens at configure time.
-    </P
-><P
->The alternative is to build just the host-side for this package.
-This involves creating a suitable build directory and running the
-<B
-CLASS="COMMAND"
->configure</B
-> script. Note that building directly in
-the source tree is not allowed.
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ cd &lt;somewhere suitable&gt;
-$ mkdir synth_build
-$ cd synth_build
-$ &lt;repo&lt;&gt;/packages/hal/synth/arch/&lt;version&gt;/host/configure &lt;options&gt;
-$ make
-$ make install</PRE
-></TD
-></TR
-></TABLE
-><P
->The code makes extensive use of Tcl/TK and requires version 8.3 or
-later. This is checked by the <B
-CLASS="COMMAND"
->configure</B
-> script. By
-default it will use the system's Tcl installation in <TT
-CLASS="FILENAME"
->/usr</TT
->. If a different, more recent Tcl
-installation should be used then its location can be specified using
-the options <TT
-CLASS="OPTION"
->--with-tcl=&lt;path&gt;</TT
->,
-<TT
-CLASS="OPTION"
->--with-tcl-header=&lt;path&gt;</TT
-> and
-<TT
-CLASS="OPTION"
->--with-tcl-lib=&lt;path&gt;</TT
->. For more information on these options
-see the <TT
-CLASS="FILENAME"
->README.host</TT
-> file at the toplevel of the
-eCos repository.
-    </P
-><P
->Some users may also want to specify the install location using a
-<TT
-CLASS="OPTION"
->--prefix=&lt;path&gt;</TT
-> option. The default install
-location is <TT
-CLASS="FILENAME"
->/usr/local</TT
->. It is
-essential that the <TT
-CLASS="FILENAME"
->bin</TT
->
-subdirectory of the install location is on the user's search
-<TT
-CLASS="ENVAR"
->PATH</TT
->, otherwise the eCos application will be unable to
-locate and execute the I/O auxiliary ecosynth.
-    </P
-><P
->Because ecosynth is run automatically by an eCos application rather
-than explicitly by the user, it is not installed in the <TT
-CLASS="FILENAME"
->bin</TT
-> subdirectory itself. Instead it is
-installed below <TT
-CLASS="FILENAME"
->libexec</TT
->,
-together with various support files such as images. At configure time
-it is usually possible to specify an alternative location for
-<TT
-CLASS="FILENAME"
->libexec</TT
-> using
-<TT
-CLASS="OPTION"
->--exec-prefix=&lt;path&gt;</TT
-> or
-<TT
-CLASS="OPTION"
->--libexecdir=&lt;path&gt;</TT
->. These options should not
-be used for this package because the eCos application is built
-completely separately and does not know how the host-side was
-configured. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-TOOLS"
-></A
-><H2
->Toolchain</H2
-><P
->When developing eCos applications for a normal embedded target it is
-necessary to use a suitable cross-compiler and related tools such as
-the linker. Developing for the synthetic target is easier because you
-can just use the standard GNU tools (gcc, g++, ld, &#8230;) which
-were provided with your Linux distribution, or which you used to build
-your own Linux setup. Any reasonably recent version of the tools, for
-example gcc 2.96(Red Hat) as shipped with Red Hat Linux 7, should be
-sufficient.
-    </P
-><P
->There is one important limitation when using these tools: current gdb
-will not support debugging of eCos threads on the synthetic target. As
-far as gdb is concerned a synthetic target application is
-indistinguishable from a normal Linux application, so it assumes that
-any threads will be created by calls to the Linux
-<TT
-CLASS="FUNCTION"
->pthread_create</TT
-> function provided by the C
-library. Obviously this is not the case since the application is never
-linked with that library. Therefore gdb never notices the eCos thread
-mechanisms and assumes the application is single-threaded. Fixing this
-is possible but would involve non-trivial changes to gdb.
-    </P
-><P
->Theoretically it is possible to develop synthetic target applications
-on, for example, a PC running Windows and then run the resulting
-executables on another machine that runs Linux. This is rarely useful:
-if a Linux machine is available then usually that machine will also be
-used for building ecos and the application. However, if for some
-reason it is necessary or desirable to build on another machine then
-this requires a suitable cross-compiler and related tools. If the
-application will be running on a typical PC with an x86 processor then
-a suitable configure triplet would be
-<TT
-CLASS="USERINPUT"
-><B
->i686-pc-linux-gnu</B
-></TT
->. The installation
-instructions for the various GNU tools should be consulted for further
-information. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-HARDWARE"
-></A
-><H2
->Hardware Preparation</H2
-><P
->Preparing a real embedded target for eCos development can be tricky.
-Often the first step is to install suitable firmware, usually RedBoot.
-This means creating and building a special configuration for eCos with
-the RedBoot template, then somehow updating the target's flash chips
-with the resulting RedBoot image. Typically it will also be necessary
-to get a working serial connection, and possibly set up ethernet as
-well. Although usually none of the individual steps are particularly
-complicated, there are plenty of ways in which things can go wrong and
-it can be hard to figure out what is actually happening. Of course
-some board manufacturers make life easier for their developers by
-shipping hardware with RedBoot preinstalled, but even then it is still
-necessary to set up communication between host and target.
-    </P
-><P
->None of this is applicable to the synthetic target. Instead you can
-just build a normal eCos configuration, link your application with the
-resulting libraries, and you end up with an executable that you can
-run directly on your Linux machine or via gdb. A useful side effect of
-this is that application development can start before any real
-embedded hardware is actually available.
-    </P
-><P
->Typically the memory map for a synthetic target application will be
-set up such that there is a read-only ROM region containing all the
-code and constant data, and a read-write RAM region for the data. The
-default locations and sizes of these regions depend on the specific
-platform being used for development. Note that the application always
-executes out of ROM: on a real embedded target much of the development
-would involve running RedBoot firmware there, with application code
-and data loaded into RAM; usually this would change for the final
-system; the firmware would be replaced by the eCos application itself,
-configured for ROM bootstrap, and it would perform the appropriate
-hardware initialization. Therefore the synthetic target actually
-emulates the behaviour of a final system, not of a development
-environment. In practice this is rarely significant, although having
-the code in read-only memory can help catch some problems in
-application code.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-running.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Overview</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Running a Synthetic Target Application</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-io-overview.png b/doc/html/ref/synth-io-overview.png
deleted file mode 100644 (file)
index 342a1a7..0000000
Binary files a/doc/html/ref/synth-io-overview.png and /dev/null differ
diff --git a/doc/html/ref/synth-new-host.html b/doc/html/ref/synth-new-host.html
deleted file mode 100644 (file)
index 2f90015..0000000
+++ /dev/null
@@ -1,1741 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Writing New Devices - host</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="Writing New Devices - target"
-HREF="synth-new-target.html"><LINK
-REL="NEXT"
-TITLE="Porting"
-HREF="synth-porting.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-new-target.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-porting.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-NEW-HOST">Writing New Devices - host</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18382"
-></A
-><H2
->Name</H2
->Writing New Devices&nbsp;--&nbsp;extending the synthetic target, host-side</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->On the host-side adding a new device means writing a Tcl/Tk script
-that will handle instantiation and subsequent requests from the
-target-side. These scripts all run in the same full interpreter,
-extended with various commands provided by the main I/O auxiliary
-code, and running in an overall GUI framework. Some knowledge of
-programming with Tcl/Tk is required to implement host-side device
-support.
-    </P
-><P
->Some devices can be implemented entirely using a Tcl/Tk script. For
-example, if the final system will have some buttons then those can be
-emulated in the synthetic target using a few Tk widgets. A simple
-emulation could just have the right number of buttons in a row. A more
-advanced emulation could organize the buttons with the right layout,
-perhaps even matching the colour scheme, the shapes, and the relative
-sizes. With other devices it may be necessary for the Tcl script to
-interact with an external program, because the required functionality
-cannot easily be accessed from a Tcl script. For example interacting
-with a raw ethernet device involves some <TT
-CLASS="FUNCTION"
->ioctl</TT
->
-calls, which is easier to do in a C program. Therefore the
-<TT
-CLASS="FILENAME"
->ethernet.tcl</TT
-> script which implements the
-host-side ethernet support spawns a separate program
-<TT
-CLASS="FILENAME"
->rawether</TT
->, written in C, that performs the
-low-level I/O. Raw ethernet access usually also requires root
-privileges, and running a small program <TT
-CLASS="FILENAME"
->rawether</TT
->
-with such privileges is somewhat less of a security risk than the
-whole eCos application, the I/O auxiliary, and various dynamically
-loaded Tcl scripts.
-    </P
-><P
->Because all scripts run in a single interpreter, some care has
-to be taken to avoid accidental sharing of global variables. The best
-way to avoid problems is to have each script create its own Tcl
-namespace, so for example the <TT
-CLASS="FILENAME"
->ethernet.tcl</TT
-> script
-creates a namespace <TT
-CLASS="VARNAME"
->ethernet::</TT
-> and all variables
-and procedures reside in this namespace. Similarly the I/O auxiliary
-itself makes use of a <TT
-CLASS="VARNAME"
->synth::</TT
-> namespace.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-BUILD"
-></A
-><H2
->Building and Installation</H2
-><P
->When an eCos device driver or application code instantiates a device,
-the I/O auxiliary will attempt to load a matching Tcl script. The
-third argument to <TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
->
-specifies the type of device, for example <TT
-CLASS="LITERAL"
->ethernet</TT
->,
-and the I/O auxiliary will append a <TT
-CLASS="FILENAME"
->.tcl</TT
-> suffix
-and look for a script <TT
-CLASS="FILENAME"
->ethernet.tcl</TT
->.
-    </P
-><P
->If the device being instantiated is application-specific rather than
-part of an eCos package, the I/O auxiliary will look first in the
-current directory, then in <TT
-CLASS="FILENAME"
->~/.ecos/synth</TT
->. If it is part of an eCos
-package then the auxiliary will expect to find the Tcl script and any
-support files below <TT
-CLASS="FILENAME"
->libexec/ecos</TT
-> in the install tree - note
-that the same install tree must be used for the I/O auxiliary itself
-and for any device driver support. The directory hierarchy below
-<TT
-CLASS="FILENAME"
->libexec/ecos</TT
-> matches the
-structure of the eCos repository, allowing multiple versions of a
-package to be installed to allow for incompatible protocol changes.
-    </P
-><P
->The preferred way to build host-side software is to use
-<B
-CLASS="COMMAND"
->autoconf</B
-> and <B
-CLASS="COMMAND"
->automake</B
->. Usually
-this involves little more than copying the
-<TT
-CLASS="FILENAME"
->acinclude.m4</TT
->, <TT
-CLASS="FILENAME"
->configure.in</TT
->
-and <TT
-CLASS="FILENAME"
->Makefile.am</TT
-> files from an existing package,
-for example the synthetic target ethernet driver, and then making
-minor edits. In <TT
-CLASS="FILENAME"
->acinclude.m4</TT
-> it may be necessary
-to adjust the path to the root of the repository.
-<TT
-CLASS="FILENAME"
->configure.in</TT
-> may require a similar change, and
-the <TT
-CLASS="FUNCTION"
->AC_INIT</TT
-> macro invocation will have to be
-changed to match one of the files in the new package. A critical macro
-in this file is <TT
-CLASS="FILENAME"
->ECOS_PACKAGE_DIRS</TT
-> which will set
-up the correct install directory. <TT
-CLASS="FILENAME"
->Makefile.am</TT
-> may
-require some more changes, for example to specify the data files that
-should be installed (including the Tcl script). These files should
-then be processed using <B
-CLASS="COMMAND"
->aclocal</B
->,
-<B
-CLASS="COMMAND"
->autoconf</B
-> and <B
-CLASS="COMMAND"
->automake</B
-> in that
-order. Actually building the software then just involves
-<B
-CLASS="COMMAND"
->configure</B
->, <B
-CLASS="COMMAND"
->make</B
-> and
-<B
-CLASS="COMMAND"
->make install</B
->, as per the instructions in the
-toplevel <TT
-CLASS="FILENAME"
->README.host</TT
-> file.
-    </P
-><P
->To assist developers, if the environment variable
-<TT
-CLASS="ENVAR"
->ECOSYNTH_DEVEL</TT
-> is set then a slightly different
-algorithm is used for locating device Tcl scripts. Instead of looking
-only in the install tree the I/O auxiliary will also look in the
-source tree, and if the script there is more recent than the installed
-version it will be used in preference. This allows developers to
-modify the master copy without having to run <B
-CLASS="COMMAND"
->make
-install</B
-> all the time.
-    </P
-><P
->If a script needs to know where it has been installed it can examine
-the Tcl variable <TT
-CLASS="VARNAME"
->synth::device_install_dir</TT
-> . This
-variable gets updated whenever a  script is loaded, so if the
-value may be needed later it should be saved away in a device-specific
-variable. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-INSTANTIATION"
-></A
-><H2
->Instantiation</H2
-><P
->The I/O auxiliary will <B
-CLASS="COMMAND"
->source</B
-> the device-specific
-Tcl script when the eCos application first attempts to instantiate a
-device of that type. The script should return a procedure that will be
-invoked to instantiate a device.
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->namespace eval ethernet {
-    &#8230;
-    proc instantiate { id instance data } {
-        &#8230;
-        return ethernet::handle_request
-    }
-}
-return ethernet::instantiate</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="VARNAME"
->id</TT
-> argument is a unique identifier for this
-device instance. It will also be supplied on subsequent calls to the
-request handler, and will match the return value of
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
-> on the target side. A
-common use for this value is as an array index to support multiple
-instances of this types of device. The <TT
-CLASS="VARNAME"
->instance</TT
-> and
-<TT
-CLASS="VARNAME"
->data</TT
-> arguments match the corresponding arguments to
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
-> on the target side, so
-a typical value for <TT
-CLASS="VARNAME"
->instance</TT
-> would be
-<TT
-CLASS="LITERAL"
->eth0</TT
->, and <TT
-CLASS="VARNAME"
->data</TT
-> is used to pass
-arbitrary initialization parameters from target to host.
-    </P
-><P
->The actual work done by the instantiation procedure is obviously
-device-specific. It may involve allocating an <A
-HREF="synth-new-host.html#SYNTH-NEW-HOST-INTERRUPTS"
->interrupt vector</A
->, adding a
-device-specific subwindow to the display, opening a real Linux device,
-establishing a socket connection to some server, spawning a separate
-process to handle the actual I/O, or a combination of some or all of
-the above.
-    </P
-><P
->If the device is successfully instantiated then the return value
-should be a handler for subsequent I/O requests. Otherwise the return
-value should be an empty string, and on the target-side the
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
-> call will return
-<TT
-CLASS="LITERAL"
->-1</TT
->. The script is responsible for providing
-<A
-HREF="synth-new-host.html#SYNTH-NEW-HOST-OUTPUT"
->diagnostics</A
-> explaining
-why the device could not be instantiated.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-REQUESTS"
-></A
-><H2
->Handling Requests</H2
-><P
->When the target-side calls
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_xchgmsg</TT
->, the I/O auxiliary will
-end up calling the request handler for the appropriate device instance
-returned during instantiation:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->namespace eval ethernet {
-    &#8230;
-    proc handle_request { id request arg1 arg2 txdata txlen max_rxlen } {
-        &#8230;
-        if { &lt;some condition&gt; } {
-            synth::send_reply &lt;error code&gt; 0 ""
-            return
-        }
-        &#8230;
-        synth::send_reply &lt;reply code&gt; $packet_len $packet
-    }
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The <TT
-CLASS="VARNAME"
->id</TT
-> argument is the same device id that was
-passed to the instantiate function, and is typically used as an array
-index to access per-device data. The <TT
-CLASS="VARNAME"
->request</TT
->,
-<TT
-CLASS="VARNAME"
->arg1</TT
->, <TT
-CLASS="VARNAME"
->arg2</TT
->, and
-<TT
-CLASS="VARNAME"
->max_rxlen</TT
-> are the same values that were passed to
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_xchgmsg</TT
-> on the target-side,
-although since this is a Tcl script obviously the numbers have been
-converted to strings. The <TT
-CLASS="VARNAME"
->txdata</TT
-> buffer is raw data
-as transmitted by the target, or an empty string if the I/O operation
-does not involve any additional data. The Tcl procedures
-<B
-CLASS="COMMAND"
->binary scan</B
->, <B
-CLASS="COMMAND"
->string index</B
-> and
-<B
-CLASS="COMMAND"
->string range</B
-> may be found especially useful when
-manipulating this buffer. <TT
-CLASS="VARNAME"
->txlen</TT
-> is provided for
-convenience, although <B
-CLASS="COMMAND"
->string length $txdata</B
-> would
-give the same information.
-    </P
-><P
->The code for actually processing the request is of course device
-specific. If the target does not expect a reply then the request
-handler should just return when finished. If a reply is expected then
-there should be a call to <B
-CLASS="COMMAND"
->synth::send_reply</B
->. The
-first argument is the reply code, and will be turned into a 32-bit
-integer on the target side. The second argument specifies the length
-of the reply data, and the third argument is the reply data itself.
-For some devices the Tcl procedure <B
-CLASS="COMMAND"
->binary format</B
->
-may prove useful. If the reply involves just a code and no additional
-data, the second and third arguments should be <TT
-CLASS="LITERAL"
->0</TT
->
-and an empty string respectively.
-    </P
-><P
->Attempts to send a reply when none is expected, fail to send a reply
-when one is expected, or send a reply that is larger than the
-target-side expects, will all be detected by the I/O auxiliary and
-result in run-time error messages.
-    </P
-><P
->It is not possible for the host-side code to send unsolicited messages
-to the target. If host-side code needs attention from the target, for
-example because some I/O operation has completed, then an interrupt
-should be raised.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-INTERRUPTS"
-></A
-><H2
->Interrupts</H2
-><P
->The I/O auxiliary provides a number of procedures for interrupt
-handling. 
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::interrupt_allocate &lt;name&gt;
-synth::interrupt_get_max
-synth::interrupt_get_devicename &lt;vector&gt;
-synth::interrupt_raise &lt;vector&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::interrupt_allocate</B
-> is normally called during
-device instantiation, and returns the next free interrupt vector. This
-can be passed on to the target-side device driver in response to a
-suitable request, and it can then install an interrupt handler on that
-vector. Interrupt vector <TT
-CLASS="LITERAL"
->0</TT
-> is used within the
-target-side code for the real-time clock, so the allocated vectors
-will start at <TT
-CLASS="LITERAL"
->1</TT
->. The argument identifies the
-device, for example <TT
-CLASS="LITERAL"
->eth0</TT
->. This is not actually used
-internally, but can be accessed by user-initialization scripts that
-provide some sort of interrupt monitoring facility (typically via the
-<TT
-CLASS="LITERAL"
->interrupt</TT
-> <A
-HREF="synth-new-host.html#SYNTH-NEW-HOST-HOOKS"
->hook</A
->). It is possible for a
-single device to allocate multiple interrupt vectors, but the
-synthetic target supports a maximum of 32 such vectors.
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::interrupt_get_max</B
-> returns the highest
-interrupt vector that has been allocated, or <TT
-CLASS="LITERAL"
->0</TT
-> if
-there have been no calls to
-<B
-CLASS="COMMAND"
->synth::interrupt_allocate</B
->.
-<B
-CLASS="COMMAND"
->synth::interrupt_get_devicename</B
-> returns the string
-that was passed to <B
-CLASS="COMMAND"
->synth::interrupt_allocate</B
-> when
-the vector was allocated.
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::interrupt_raise</B
-> can be called any time after
-initialization. The argument should be the vector returned by
-<B
-CLASS="COMMAND"
->synth::interrupt_allocate</B
-> for this device. It will
-activate the normal eCos interrupt handling mechanism so, subject to
-interrupts being enabled and this particular interrupt not being
-masked out, the appropriate ISR will run.
-    </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At this time it is not possible for a device to allocate a specific
-interrupt vector. The order in which interrupt vectors are assigned to
-devices effectively depends on the order in which the eCos devices get
-initialized, and that may change if the eCos application is rebuilt. A
-future extension may allow devices to allocate specific vectors, thus
-making things more deterministic. However that will introduce new
-problems, in particular the code will have to start worrying about
-requests for vectors that have already been allocated.
-    </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-ARGS"
-></A
-><H2
->Flags and Command Line Arguments</H2
-><P
->The generic I/O auxiliary code will process the standard command line
-arguments, and will set various flag variables accordingly. Some of
-these should be checked by device-specific scripts.
-    </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="VARNAME"
->synth::flag_gui</TT
-></DT
-><DD
-><P
->This is set when the I/O auxiliary is operating in graphical mode
-rather than text mode. Some functionality such as filters and the GUI
-layout are only available in graphical mode.
-        </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    if { $synth::flag_gui } {
-        &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->synth::flag_verbose</TT
-></DT
-><DD
-><P
->The user has requested additional information during startup. Each
-device driver can decide how much additional information, if any,
-should be produced.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->synth::flag_keep_going</TT
-></DT
-><DD
-><P
->The user has specified <TT
-CLASS="OPTION"
->-k</TT
-> or
-<TT
-CLASS="OPTION"
->--keep-going</TT
->, so even if an error occurs the I/O
-auxiliary and the various device driver scripts should continue running
-if at all possible. Diagnostics should still be generated.
-        </P
-></DD
-></DL
-></DIV
-><P
->Some scripts may want to support additional command line arguments.
-This facility should be used with care since there is no way to
-prevent two different scripts from trying to use the same argument.
-The following Tcl procedures are available:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::argv_defined &lt;name&gt;
-synth::argv_get_value &lt;name&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::argv_defined</B
-> returns a boolean to indicate
-whether or not a particular argument is present. If the argument is
-the name part of a name/value pair, an <TT
-CLASS="LITERAL"
->=</TT
-> character
-should be appended. Typical uses might be:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    if { [synth::argv_defined "-o13"] } {
-        &#8230;
-    }
-
-    if { [synth::argv_defined "-mark="] } {
-        &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->The first call checks for a flag <TT
-CLASS="LITERAL"
->-o13</TT
-> or
-<TT
-CLASS="LITERAL"
->--o13</TT
-> - the code treats options with single and
-double hyphens interchangeably. The second call checks for an argument
-of the form <TT
-CLASS="LITERAL"
->-mark=&lt;value&gt;</TT
-> or a pair of
-arguments <TT
-CLASS="LITERAL"
->-mark &lt;value&gt;</TT
->. The value part of a
-name/value pair can be obtained using
-<B
-CLASS="COMMAND"
->synth::argv_get_value</B
->;
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    variable speed 1
-    if { [synth::argv_defined "-mark="] } {
-        set mark [synth::argv_get_value "-mark="]
-        if { ![string is integer $mark] || ($mark &#60; 1) || ($mark &#62; 9) } {
-            &lt;issue diagnostic&gt;
-        } else {
-            set speed $mark
-        }
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::argv_get_value</B
-> should only be used after a
-successful call to <B
-CLASS="COMMAND"
->synth::argv_defined</B
->.
-At present there is no support for some advanced forms of command line
-argument processing. For example it is not possible to repeat a
-certain option such as <TT
-CLASS="OPTION"
->-v</TT
-> or
-<TT
-CLASS="OPTION"
->--verbose</TT
->, with each occurrence increasing the level
-of verbosity. 
-    </P
-><P
->If a script is going to have its own set of command-line arguments
-then it should give appropriate details if the user specifies
-<TT
-CLASS="OPTION"
->--help</TT
->. This involves a hook function:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->namespace eval my_device {
-    proc help_hook { } {
-        puts " -o13          : activate the omega 13 device"
-        puts " -mark &lt;speed&gt; : set speed. Valid values are 1 to 9."
-    }
-
-    synth::hook_add "help" my_device::help_hook
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-TDF"
-></A
-><H2
->The Target Definition File</H2
-><P
->Most device scripts will want to check entries in the target
-definition file for run-time configuration information. The Tcl
-procedures for this are as follows:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::tdf_has_device &lt;name&gt;
-synth::tdf_get_devices
-synth::tdf_has_option &lt;devname&gt; &lt;option&gt;
-synth::tdf_get_option &lt;devname&gt; &lt;option&gt;
-synth::tdf_get_options &lt;devname&gt; &lt;option&gt;
-synth::tdf_get_all_options &lt;devname&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::tdf_has_device</B
-> can be used to check whether
-or not the target definition file had an entry
-<TT
-CLASS="LITERAL"
->synth_device&nbsp;&lt;name&gt;</TT
->. Usually the name
-will match the type of device, so the
-<TT
-CLASS="FILENAME"
->console.tcl</TT
-> script will look for a target
-definition file entry <TT
-CLASS="LITERAL"
->console</TT
->.
-<B
-CLASS="COMMAND"
->synth::tdf_get_devices</B
-> returns a list of all
-device entries in the target definition file.
-    </P
-><P
->Once it is known that the target definition file has an entry for a
-certain device, it is possible to check for options within the entry.
-<B
-CLASS="COMMAND"
->synth::tdf_has_option</B
-> just checks for the presence,
-returning a boolean:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    if { [synth::tdf_has_option "console" "appearance"] } {
-        &#8230;
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::tdf_get_option</B
-> returns a list of all the
-arguments for a given option. For example, if the target definition
-file contains an entry:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device console {
-    appearance -foreground white -background black
-    filter trace {^TRACE:.*} -foreground HotPink1 -hide 1
-    filter xyzzy {.*xyzzy.*} -foreground PapayaWhip
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->A call
-<B
-CLASS="COMMAND"
->synth::tdf_get_option&nbsp;console&nbsp;appearance</B
->
-will return the list <TT
-CLASS="LITERAL"
->{-foreground white -background
-black}</TT
->. This list can be manipulated using standard Tcl routines
-such as <B
-CLASS="COMMAND"
->llength</B
-> and <B
-CLASS="COMMAND"
->lindex</B
->. Some
-options can occur multiple times in one entry, for example
-<TT
-CLASS="OPTION"
->filter</TT
-> in the <TT
-CLASS="LITERAL"
->console</TT
-> entry.
-<B
-CLASS="COMMAND"
->synth::tdf_get_options</B
-> returns a list of lists,
-with one entry for each option occurrence.
-<B
-CLASS="COMMAND"
->synth::tdf_get_all_options</B
-> returns a list of lists
-of all options. This time each entry will include the option name as
-well.
-    </P
-><P
->The I/O auxiliary will not issue warnings about entries in the target
-definition file for devices which were not loaded, unless the
-<TT
-CLASS="OPTION"
->-v</TT
-> or <TT
-CLASS="OPTION"
->--verbose</TT
-> command line
-argument was used. This makes it easier to use a single target
-definition file for different applications. However the auxiliary will
-issue warnings about options within an entry that were ignored,
-because often these indicate a typing mistake of some sort. Hence a
-script should always call <B
-CLASS="COMMAND"
->synth::tdf_has_option</B
->,
-<B
-CLASS="COMMAND"
->synth:;tdf_get_option</B
-> or
-<B
-CLASS="COMMAND"
->synth::tdf_get_options</B
-> for all valid options, even
-if some of the options preclude the use of others.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-HOOKS"
-></A
-><H2
->Hooks</H2
-><P
->Some scripts may want to take action when particular events occur, for
-example when the eCos application has exited and there is no need for
-further I/O. This is supported using hooks:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->namespace eval my_device {
-    &#8230;
-    proc handle_ecos_exit { arg_list } {
-        &#8230;
-    }
-    synth::hook_add "ecos_exit" my_device::handle_ecos_exit
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->It is possible for device scripts to add their own hooks and call all
-functions registered for those hooks. A typical use for this is by
-user initialization scripts that want to monitor some types of I/O.
-The available Tcl procedures for manipulating hooks are:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::hook_define &lt;name&gt;
-synth::hook_defined &lt;name&gt;
-synth::hook_add &lt;name&gt; &lt;function&gt;
-synth::hook_call &lt;name&gt; &lt;args&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::hook_define</B
-> creates a new hook with the
-specified name. This hook must not already exist.
-<B
-CLASS="COMMAND"
->synth::hook_defined</B
-> can be used to check for the
-existence of a hook. <B
-CLASS="COMMAND"
->synth::hook_add</B
-> allows other
-scripts to register a callback function for this hook, and
-<B
-CLASS="COMMAND"
->synth::hook_call</B
-> allows the owner script to invoke
-all such callback functions. A hook must already be defined before a
-callback can be attached. Therefore typically device scripts will only
-use standard hooks and their own hooks, not hooks created by some
-other device, because the order of device initialization is not
-sufficiently defined. User scripts run from
-<TT
-CLASS="FILENAME"
->mainrc.tcl</TT
-> can use any hooks that have been
-defined.
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::hook_call</B
-> takes an arbitrary list of
-arguments, for example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    synth::hook_call "ethernet_rx" "eth0" $packet</PRE
-></TD
-></TR
-></TABLE
-><P
->The callback function will always be invoked with a single argument,
-a list of the arguments that were passed to
-<B
-CLASS="COMMAND"
->synth::hook_call</B
->: 
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    proc rx_callback { arg_list } {
-        set device [lindex $arg_list 0]
-        set packet [lindex $arg_list 1]
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->Although it might seem more appropriate to use Tcl's
-<B
-CLASS="COMMAND"
->eval</B
-> procedure and have the callback functions
-invoked with the right number of arguments rather than a single list,
-that would cause serious problems if any of the data contained special
-characters such as <TT
-CLASS="LITERAL"
->[</TT
-> or <TT
-CLASS="LITERAL"
->$</TT
->. The
-current implementation of hooks avoids such problems, at the cost of
-minor inconvenience when writing callbacks.
-    </P
-><P
->A number of hooks are defined as standard. Some devices will add
-additional hooks, and the device-specific documentation should be
-consulted for those. User scripts can add their own hooks if desired.
-    </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->exit</TT
-></DT
-><DD
-><P
->This hook is called just before the I/O auxiliary exits. Hence it
-provides much the same functionality as <TT
-CLASS="FUNCTION"
->atexit</TT
-> in
-C programs. The argument list passed to the callback function will be
-empty. 
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->ecos_exit</TT
-></DT
-><DD
-><P
->This hook is called when the eCos application has exited. It is used
-mainly to shut down I/O operations: if the application is no longer
-running then there is no point in raising interrupts or storing
-incoming packets. The callback argument list will be empty.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->ecos_initialized</TT
-></DT
-><DD
-><P
->The synthetic target HAL will send a request to the I/O auxiliary once
-the static constructors have been run. All devices should now have been
-instantiated. A script could now check how many instances there are of
-a given type of device, for example ethernet devices, and create a
-little monitor window showing traffic on all the devices. The
-<TT
-CLASS="LITERAL"
->ecos_initialized</TT
-> callbacks will be run just before
-the user's <TT
-CLASS="FILENAME"
->mainrc.tcl</TT
-> script. The callback
-argument list will be empty.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->help</TT
-></DT
-><DD
-><P
->This hook is also invoked once static constructors have been run, but
-only if the user specified <TT
-CLASS="OPTION"
->-h</TT
-> or
-<TT
-CLASS="OPTION"
->--help</TT
->. Any scripts that add their own command line
-arguments should add a callback to this hook which outputs details of
-the additional arguments. The callback argument list will be empty.
-        </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->interrupt</TT
-></DT
-><DD
-><P
->Whenever a device calls <B
-CLASS="COMMAND"
->synth::interrupt_raise</B
-> the
-<TT
-CLASS="LITERAL"
->interrupt</TT
-> hook will be called with a single
-argument, the interrupt vector. The main use for this is to allow
-user scripts to monitor interrupt traffic.
-        </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-OUTPUT"
-></A
-><H2
->Output and Filters</H2
-><P
->Scripts can use conventional facilities for sending text output to the
-user, for example calling <B
-CLASS="COMMAND"
->puts</B
-> or directly
-manipulating the central text widget
-<TT
-CLASS="VARNAME"
->.main.centre.text</TT
->. However in nearly all cases it
-is better to use output facilities provided by the I/O auxiliary
-itself: 
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::report &lt;msg&gt;
-synth::report_warning &lt;msg&gt;
-synth::report_error &lt;msg&gt;
-synth::internal_error &lt;msg&gt;
-synth::output &lt;msg&gt; &lt;filter&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::report</B
-> is intended for messages related to
-the operation of the I/O auxiliary itself, especially additional
-output resulting from <TT
-CLASS="OPTION"
->-v</TT
-> or
-<TT
-CLASS="OPTION"
->--verbose</TT
->. If running in text mode the output will go
-to standard output. If running in graphical mode the output will go to
-the central text window. In both modes, use of <TT
-CLASS="OPTION"
->-l</TT
-> or
-<TT
-CLASS="OPTION"
->--logfile</TT
-> will modify the behaviour.
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::report_warning</B
->,
-<B
-CLASS="COMMAND"
->synth::report_error</B
-> and
-<B
-CLASS="COMMAND"
->synth::internal_error</B
-> have the obvious meaning,
-including prepending strings such as <TT
-CLASS="LITERAL"
->Warning:</TT
-> and
-<TT
-CLASS="LITERAL"
->Error:</TT
->. When the eCos application informs the I/O
-auxiliary that all static constructors have run, if at that point
-there have been any calls to <B
-CLASS="COMMAND"
->synth::error</B
-> then the
-I/O auxiliary will exit. This can be suppressed with command line
-arguments <TT
-CLASS="OPTION"
->-k</TT
-> or <TT
-CLASS="OPTION"
->--keep-going</TT
->.
-<B
-CLASS="COMMAND"
->synth::internal_error</B
-> will output some information
-about the current state of the I/O auxiliary and then exit
-immediately. Of course it should never be necessary to call this
-function. 
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::output</B
-> is the main routine for outputting
-text. The second argument identifies a filter. If running in text mode
-the filter is ignored, but if running in graphical mode the filter can
-be used to control the appearance of this output. A typical use would
-be:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    synth::output $line "console"</PRE
-></TD
-></TR
-></TABLE
-><P
->This outputs a single line of text using the
-<TT
-CLASS="LITERAL"
->console</TT
-> filter. If running in graphical mode the
-default appearance of this text can be modified with the
-<TT
-CLASS="OPTION"
->appearance</TT
-> option in the
-<B
-CLASS="COMMAND"
->synth_device&nbsp;console</B
-> entry of the target
-definition file. The <SPAN
-CLASS="GUIMENUITEM"
->System filters</SPAN
-> menu
-option can be used to change the appearance at run-time.
-    </P
-><P
->Filters should be created before they are used. The procedures
-available for this are:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::filter_exists &lt;name&gt;
-synth::filter_get_list
-synth::filter_add &lt;name&gt; [options]
-synth::filter_parse_options &lt;options&gt; &lt;parsed_options&gt; &lt;message&gt;
-synth::filter_add_parsed &lt;name&gt; &lt;parsed_options&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::filter_exists</B
-> can be used to check whether
-or not a particular filter already exists: creating two filters with
-the same name is not allowed.
-<B
-CLASS="COMMAND"
->synth::filter_get_list</B
-> returns a list of the
-current known filters. <B
-CLASS="COMMAND"
->synth::filter_add</B
-> can be
-used to create a new filter. The first argument names the new filter,
-and the remaining arguments control the initial appearance. A typical
-use might be:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    synth::filter_add "my_device_tx" -foreground yellow -hide 1</PRE
-></TD
-></TR
-></TABLE
-><P
->It is assumed that the supplied arguments are valid, which typically
-means that they are hard-wired in the script. If instead the data
-comes out of a configuration file and hence may be invalid, the
-I/O auxiliary provides a parsing utility. Typical usage would be:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    array set parsed_options [list]
-    set message ""
-    if { ![synth::filter_parse_options $console_appearance parsed_options message] } {
-        synth::report_error \
-               "Invalid entry in target definition file $synth::target_definition\
-                \n  synth_device \"console\", entry \"appearance\"\n$message"
-    } else {
-        synth::filter_add_parsed "console" parsed_options
-    }</PRE
-></TD
-></TR
-></TABLE
-><P
->On success <TT
-CLASS="VARNAME"
->parsed_options</TT
-> will be updated with an
-internal representation of the desired appearance, which can then be
-used in a call to <B
-CLASS="COMMAND"
->synth::filter_add_parsed</B
->. On
-failure <TT
-CLASS="VARNAME"
->message</TT
-> will be updated with details of the
-parsing error that occurred.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-HOST-GUI"
-></A
-><H2
->The Graphical Interface</H2
-><P
->When the I/O auxiliary is running in graphical mode, many scripts will
-want to update the user interface in some way. This may be as simple
-as adding another entry to the help menu for the device, or adding a
-new button to the toolbar. It may also involve adding new subwindows,
-or even creating entire new toplevel windows. These may be simple
-monitor windows, displaying additional information about what is going
-on in the system in a graphical format. Alternatively they may emulate
-actual I/O operations, for example button widgets could be used to
-emulate real physical buttons.
-    </P
-><P
->The I/O auxiliary does not provide many procedures related to the
-graphical interface. Instead it is expected that scripts will just
-update the widget hierarchy directly.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN18674"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="layout.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->So adding a new item to the <SPAN
-CLASS="GUIMENU"
->Help</SPAN
-> menu involves a
-<B
-CLASS="COMMAND"
->.menubar.help&nbsp;add</B
-> operation with suitable
-arguments. Adding a new button to the toolbar involves creating a
-child window in <TT
-CLASS="VARNAME"
->.toolbar</TT
-> and packing it
-appropriately. Scripts can create their own subwindows and then pack
-it into one of <TT
-CLASS="VARNAME"
->.main.nw</TT
->,
-<TT
-CLASS="VARNAME"
->.main.n</TT
->, <TT
-CLASS="VARNAME"
->.main.ne</TT
->,
-<TT
-CLASS="VARNAME"
->.main.w</TT
->, <TT
-CLASS="VARNAME"
->.main.e</TT
->,
-<TT
-CLASS="VARNAME"
->.main.sw</TT
->, <TT
-CLASS="VARNAME"
->.main.s</TT
-> or
-<TT
-CLASS="VARNAME"
->.main.se</TT
->. Normally the user should be allowed to
-<A
-HREF="synth-gui.html#SYNTH-GUI-LAYOUT"
->control</A
-> this via the target
-definition file. The central window <TT
-CLASS="VARNAME"
->.main.centre</TT
->
-should normally be left alone by other scripts since it gets used for
-text output.
-    </P
-><P
->The following graphics-related utilities may be found useful:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth::load_image &lt;image name&gt; &lt;filename&gt;
-synth::register_ballon_help &lt;widget&gt; &lt;message&gt;
-synth::handle_help &lt;URL&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><B
-CLASS="COMMAND"
->synth::load_image</B
-> can be used to add a new image to
-the current interpreter. If the specified file has a
-<TT
-CLASS="FILENAME"
->.xbm</TT
-> extension then the image will be a
-monochrome bitmap, otherwise it will be a colour image of some sort.
-A boolean will be returned to indicate success or failure, and
-suitable diagnostics will be generated if necessary.
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::register_balloon_help</B
-> provides balloon help
-for a specific widget, usually a button on the toolbar.
-    </P
-><P
-><B
-CLASS="COMMAND"
->synth::handle_help</B
-> is a utility routine that can be
-installed as the command for displaying online help, for example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    .menubar.help add command -label "my device" -command \
-        [list synth::handle_help "file://$path"]</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-new-target.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-porting.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Writing New Devices - target</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Porting</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-new-target.html b/doc/html/ref/synth-new-target.html
deleted file mode 100644 (file)
index f8262bb..0000000
+++ /dev/null
@@ -1,830 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Writing New Devices - target</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="System Calls"
-HREF="synth-syscalls.html"><LINK
-REL="NEXT"
-TITLE="Writing New Devices - host"
-HREF="synth-new-host.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-syscalls.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-new-host.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-NEW-TARGET">Writing New Devices - target</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18180"
-></A
-><H2
->Name</H2
->Writing New Devices&nbsp;--&nbsp;extending the synthetic target, target-side</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN18183"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN18184"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/hal/hal_io.h&gt;
-      </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->int synth_auxiliary_instantiate</CODE
->(const char* package, const char* version, const char* device, const char* instance, const char* data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void synth_auxiliary_xchgmsg</CODE
->(int device_id, int request, int arg1, int arg2, const unsigned char* txdata, int txlen, int* reply, unsigned char* rxdata, int* rxlen, int max_rxlen);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-TARGET-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->In some ways writing a device driver for the synthetic target is very
-similar to writing one for a real target. Obviously it has to provide
-the standard interface for that class of device, so for example an
-ethernet device has to provide <TT
-CLASS="FUNCTION"
->can_send</TT
->,
-<TT
-CLASS="FUNCTION"
->send</TT
->, <TT
-CLASS="FUNCTION"
->recv</TT
-> and similar
-functions. Many devices will involve interrupts, so the driver
-contains ISR and DSR functions and will call
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_create</TT
->,
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_acknowledge</TT
->, and related
-functions.
-    </P
-><P
->In other ways writing a device driver for the synthetic target is very
-different. Usually the driver will not have any direct access to the
-underlying hardware. In fact for some devices the I/O may not involve
-real hardware, instead everything is emulated by widgets on the
-graphical display. Therefore the driver cannot just peek and poke
-device registers, instead it must interact with host-side code by
-exchanging message. The synthetic target HAL provides a function
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_xchgmsg</TT
-> for this purpose.
-    </P
-><P
->Initialization of a synthetic target device driver is also very
-different. On real targets the device hardware already exists when the
-driver's initialization routine runs. On the synthetic target it is
-first necessary to instantiate the device inside the I/O auxiliary, by
-a call to <TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
->. That
-function performs a special message exchange with the I/O auxiliary,
-causing it to load a Tcl script for the desired type of device and run
-an instantiation procedure within that script.
-    </P
-><P
->Use of the I/O auxiliary is optional: if the user does not specify
-<TT
-CLASS="OPTION"
->--io</TT
-> on the command line then the auxiliary will not
-be started and hence most I/O operations will not be possible. Device
-drivers should allow for this possibility, for example by just
-discarding any data that gets written. The HAL exports a flag
-<TT
-CLASS="VARNAME"
->synth_auxiliary_running</TT
-> which should be checked.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-TARGET-INSTANTIATE"
-></A
-><H2
->Instantiating a Device</H2
-><P
->Device instantiation should happen during the C++ prioritized static
-constructor phase of system initialization, before control switches to
-<TT
-CLASS="FUNCTION"
->cyg_user_start</TT
-> and general application code. This
-ensures that there is a clearly defined point at which the I/O
-auxiliary knows that all required devices have been loaded. It can
-then perform various consistency checks and clean-ups, run the user's
-<TT
-CLASS="FILENAME"
->mainrc.tcl</TT
-> script, and make the main window
-visible.
-    </P
-><P
->For standard devices generic eCos I/O code will call the device
-initialization routines at the right time, iterating through the
-<TT
-CLASS="VARNAME"
->DEVTAB</TT
-> table in a static constructor. The same
-holds for network devices and file systems. For more custom devices
-code like the following can be used:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;cyg/infra/cyg_type.h&gt;
-class mydev_init {
-  public:
-    mydev_init() {
-        &#8230;
-    }
-};
-static mydev_init mydev_init_object CYGBLD_ATTRIB_INIT_PRI(CYG_INIT_IO);</PRE
-></TD
-></TR
-></TABLE
-><P
->Some care has to be taken because the object
-<TT
-CLASS="VARNAME"
->mydev_init_object</TT
-> will typically not be referenced
-by other code, and hence may get eliminated at link-time. If the code
-is part of an eCos package then problems can be avoided by putting the
-relevant file in <TT
-CLASS="FILENAME"
->libextras.a</TT
->:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_package CYGPKG_DEVS_MINE {
-    &#8230;
-    compile -library=libextras.a init.cxx
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->For devices inside application code the same can be achieved by
-linking the relevant module as a <TT
-CLASS="FILENAME"
->.o</TT
-> file rather
-than putting it in a <TT
-CLASS="FILENAME"
->.a</TT
-> library.
-    </P
-><P
->In the device initialization routine the main operation is a call to
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
->. This takes five
-arguments, all of which should be strings:
-    </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="VARNAME"
->package</TT
-></DT
-><DD
-><P
->For device drivers which are eCos packages this should be a directory
-path relative to the eCos repository, for example
-<TT
-CLASS="LITERAL"
->devs/eth/synth/ecosynth</TT
->. This will allow the I/O
-auxiliary to find the various host-side support files for this package
-within the install tree. If the device is application-specific and not
-part of an eCos package then a NULL pointer can be used, causing the
-I/O auxiliary to search for the support files in the current directory
-and then in <TT
-CLASS="FILENAME"
->~/.ecos/synth</TT
->
-instead. 
-        </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->version</TT
-></DT
-><DD
-><P
->For eCos packages this argument should be the version of the package
-that is being used, for example <TT
-CLASS="LITERAL"
->current</TT
->. A simple
-way to get this version is to use the
-<TT
-CLASS="FUNCTION"
->SYNTH_MAKESTRING</TT
-> macro on the package name.
-If the device is application-specific then a NULL pointer should be
-used. 
-        </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->device</TT
-></DT
-><DD
-><P
->This argument specifies the type of device being instantiated, for
-example <TT
-CLASS="LITERAL"
->ethernet</TT
->. More specifically the I/O
-auxiliary will append a <TT
-CLASS="FILENAME"
->.tcl</TT
-> suffix, giving
-the name of a Tcl script that will handle all I/O requests for the
-device. If the application requires several instances of a type
-of device then the script will only be loaded once, but the script
-will contain an instantiation procedure that will be called for each
-device instance. 
-        </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->instance</TT
-></DT
-><DD
-><P
->If it is possible to have multiple instances of a device then this
-argument identifies the particular instance, for example
-<TT
-CLASS="LITERAL"
->eth0</TT
-> or <TT
-CLASS="LITERAL"
->eth1</TT
->. Otherwise a NULL
-pointer can be used.
-        </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->data</TT
-></DT
-><DD
-><P
->This argument can be used to pass additional initialization data from
-eCos to the host-side support. This is useful for devices where eCos
-configury must control certain aspects of the device, rather than
-host-side configury such as the target definition file, because eCos
-has compile-time dependencies on some or all of the relevant options.
-An example might be an emulated frame buffer where eCos has been
-statically configured for a particular screen size, orientation and
-depth. There is no fixed format for this string, it will be
-interpreted only by the device-specific host-side Tcl script. However
-the string length should be limited to a couple of hundred bytes to
-avoid possible buffer overflow problems.
-        </P
-></DD
-></DL
-></DIV
-><P
->Typical usage would look like:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->    if (!synth_auxiliary_running) {
-      return;
-    }
-    id = synth_auxiliary_instantiate("devs/eth/synth/ecosynth",
-             SYNTH_MAKESTRING(CYGPKG_DEVS_ETH_ECOSYNTH),
-             "ethernet",
-             "eth0",
-             (const char*) 0);</PRE
-></TD
-></TR
-></TABLE
-><P
->The return value will be a device identifier which can be used for
-subsequent calls to <TT
-CLASS="FUNCTION"
->synth_auxiliary_xchgmsg</TT
->. If
-the device could not be instantiated then <TT
-CLASS="LITERAL"
->-1</TT
-> will
-be returned. It is the responsibility of the host-side software to
-issue suitable diagnostics explaining what went wrong, so normally the
-target-side code should fail silently.
-    </P
-><P
->Once the desired device has been instantiated, often it will be
-necessary to do some additional initialization by a message exchange.
-For example an ethernet device might need information from the
-host-side about the MAC address, the <A
-HREF="synth-new-target.html#SYNTH-NEW-TARGET-INTERRUPTS"
->interrupt vector</A
->, and
-whether or not multicasting is supported.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-TARGET-XCHGMSG"
-></A
-><H2
->Communicating with a Device</H2
-><P
->Once a device has been instantiated it is possible to perform I/O by
-sending messages to the appropriate Tcl script running inside the
-auxiliary, and optionally getting back replies. I/O operations are
-always initiated by the eCos target-side, it is not possible for the
-host-side software to initiate data transfers. However the host-side
-can raise interrupts, and the interrupt handler inside the target can
-then exchange one or more messages with the host.
-    </P
-><P
->There is a single function to perform I/O operations,
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_xchgmsg</TT
->. This takes the following
-arguments: 
-    </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="VARNAME"
->device_id</TT
-></DT
-><DD
-><P
->This should be one of the identifiers returned by a previous
-call to <TT
-CLASS="FUNCTION"
->synth_auxiliary_instantiate</TT
->, specifying the
-particular device which should perform some I/O.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->request</TT
-></DT
-><DD
-><P
->Request are just signed 32-bit integers that identify the particular
-I/O operation being requested. There is no fixed set of codes, instead
-each type of device can define its own.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->arg1</TT
->, <TT
-CLASS="VARNAME"
->arg2</TT
-></DT
-><DD
-><P
->For some requests it is convenient to pass one or two additional
-parameters alongside the request code. For example an ethernet device
-could define a multicast-all request, with <TT
-CLASS="VARNAME"
->arg1</TT
->
-controlling whether this mode should be enabled or disabled. Both
-<TT
-CLASS="VARNAME"
->arg1</TT
-> and <TT
-CLASS="VARNAME"
->arg2</TT
-> should be signed
-32-bit integers, and their values are interpreted only by the
-device-specific Tcl script.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->txdata</TT
->, <TT
-CLASS="VARNAME"
->txlen</TT
-></DT
-><DD
-><P
->Some I/O operations may involve sending additional data, for example
-an ethernet packet. Alternatively a control operation may require many
-more parameters than can easily be encoded in <TT
-CLASS="VARNAME"
->arg1</TT
->
-and <TT
-CLASS="VARNAME"
->arg2</TT
->, so those parameters have to be placed in
-a suitable buffer and extracted at the other end.
-<TT
-CLASS="VARNAME"
->txdata</TT
-> is an arbitrary buffer of
-<TT
-CLASS="VARNAME"
->txlen</TT
-> bytes that should be sent to the host-side.
-There is no specific upper bound on the number of bytes that can be
-sent, but usually it is a good idea to allocate the transmit buffer
-statically and keep transfers down to at most several kilobytes.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->reply</TT
-></DT
-><DD
-><P
->If the host-side is expected to send a reply message then
-<TT
-CLASS="VARNAME"
->reply</TT
-> should be a pointer to an integer variable
-and will be updated with a reply code, a simple 32-bit integer. The
-synthetic target HAL code assumes that the host-side and target-side
-agree on the protocol being used: if the host-side will not send a
-reply to this message then the <TT
-CLASS="VARNAME"
->reply</TT
-> argument
-should be a NULL pointer; otherwise the host-side must always send
-a reply code and the <TT
-CLASS="VARNAME"
->reply</TT
-> argument must be valid.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->rxdata</TT
->, <TT
-CLASS="VARNAME"
->rxlen</TT
-></DT
-><DD
-><P
->Some operations may involve additional data coming from the host-side,
-for example an incoming ethernet packet. <TT
-CLASS="VARNAME"
->rxdata</TT
->
-should be a suitably-sized buffer, and <TT
-CLASS="VARNAME"
->rxlen</TT
-> a
-pointer to an integer variable that will end up containing the number
-of bytes that were actually received. These arguments will only be
-used if the host-side is expected to send a reply and hence the
-<TT
-CLASS="VARNAME"
->reply</TT
-> argument was not NULL.
-         </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->max_rxlen</TT
-></DT
-><DD
-><P
->If a reply to this message is expected and that reply may involve
-additional data, <TT
-CLASS="VARNAME"
->max_rxlen</TT
-> limits the size of that
-reply. In other words, it corresponds to the size of the
-<TT
-CLASS="VARNAME"
->rxdata</TT
-> buffer.
-         </P
-></DD
-></DL
-></DIV
-><P
->Most I/O operations involve only some of the arguments. For example
-transmitting an ethernet packet would use the
-<TT
-CLASS="VARNAME"
->request</TT
->, <TT
-CLASS="VARNAME"
->txdata</TT
-> and
-<TT
-CLASS="VARNAME"
->txlen</TT
-> fields (in addition to
-<TT
-CLASS="VARNAME"
->device_id</TT
-> which is always required), but would not
-involve <TT
-CLASS="VARNAME"
->arg1</TT
-> or <TT
-CLASS="VARNAME"
->arg2</TT
-> and no
-reply would be expected. Receiving an ethernet packet would involve
-<TT
-CLASS="VARNAME"
->request</TT
->, <TT
-CLASS="VARNAME"
->rxdata</TT
->,
-<TT
-CLASS="VARNAME"
->rxlen</TT
-> and <TT
-CLASS="VARNAME"
->max_rxlen</TT
->; in addition
-<TT
-CLASS="VARNAME"
->reply</TT
-> is needed to get any reply from the host-side
-at all, and could be used to indicate whether or not any more packets
-are buffered up. A control operation such as enabling multicast mode
-would involve <TT
-CLASS="VARNAME"
->request</TT
-> and <TT
-CLASS="VARNAME"
->arg1</TT
->,
-but none of the remaining arguments.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-NEW-TARGET-INTERRUPTS"
-></A
-><H2
->Interrupt Handling</H2
-><P
->Interrupt handling in the synthetic target is much the same as on a
-real target. An interrupt object is created using
-<TT
-CLASS="FUNCTION"
->cyg_drv_interrupt_create</TT
->, attached, and unmasked.
-The emulated device - in other words the Tcl script running inside the
-I/O auxiliary - can raise an interrupt. Subject to interrupts being
-disabled and the appropriate vector being masked, the system will
-invoke the specified ISR function. The synthetic target HAL
-implementation does have some limitations: there is no support for
-nested interrupts, interrupt priorities, or a separate interrupt
-stack. Supporting those might be appropriate when targetting a
-simulator that attempts to model real hardware accurately, but not for
-the simple emulation provided by the synthetic target.
-    </P
-><P
->Of course the actual implementation of the ISR and DSR functions will
-be rather different for a synthetic target device driver. For real
-hardware the device driver will interact with the device by reading
-and writing device registers, managing DMA engines, and the like. A
-synthetic target driver will instead call
-<TT
-CLASS="FUNCTION"
->synth_auxiliary_xchgmsg</TT
-> to perform the I/O
-operations.
-    </P
-><P
->There is one other significant difference between interrupt handling
-on the synthetic target and on real hardware. Usually the eCos code
-will know which interrupt vectors are used for which devices. That
-information is fixed when the target hardware is designed. With the
-synthetic target interrupt vectors are assigned to devices on the host
-side, either via the target definition file or dynamically when the
-device is instantiated. Therefore the initialization code for a
-target-side device driver will need to request interrupt vector
-information from the host-side, via a message exchange. Such interrupt
-vectors will be in the range 1 to 31 inclusive, with interrupt 0 being
-reserved for the real-time clock.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-syscalls.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-new-host.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->System Calls</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Writing New Devices - host</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-porting.html b/doc/html/ref/synth-porting.html
deleted file mode 100644 (file)
index 837e78d..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Porting</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="Writing New Devices - host"
-HREF="synth-new-host.html"><LINK
-REL="NEXT"
-TITLE="SA11X0 USB Device Driver"
-HREF="devs-usb-sa11x0-ref.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-new-host.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="devs-usb-sa11x0-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-PORTING">Porting</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18705"
-></A
-><H2
->Name</H2
->Porting&nbsp;--&nbsp;Adding support for other hosts</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-PORTING-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The initial development effort of the eCos synthetic target happened
-on x86 Linux machines. Porting to other platforms involves addressing
-a number of different issues. Some ports should be fairly
-straightforward, for example a port to Linux on a processor other than
-an x86. Porting to Unix or Unix-like operating systems other than
-Linux may be possible, but would involve more effort. Porting to a
-completely different operating system such as Windows would be very
-difficult. The text below complements the eCos Porting Guide.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-PORTING-LINUX"
-></A
-><H2
->Other Linux Platforms</H2
-><P
->Porting the synthetic target to a Linux platform that uses a processor
-other than x86 should be straightforward. The simplest approach is to
-copy the existing <TT
-CLASS="FILENAME"
->i386linux</TT
->
-directory tree in the <TT
-CLASS="FILENAME"
->hal/synth</TT
->
-hierarchy, then rename and edit the ten or so files in this package.
-Most of the changes should be pretty obvious, for example on a 64-bit
-processor some new data types will be needed in the
-<TT
-CLASS="FILENAME"
->basetype.h</TT
-> header file. It will also be necessary
-to update the toplevel <TT
-CLASS="FILENAME"
->ecos.db</TT
-> database with an
-entry for the new HAL package, and a new target entry will be needed.
-    </P
-><P
->Obviously a different processor will have different register sets and
-calling conventions, so the code for saving and restoring thread
-contexts and for implementing <TT
-CLASS="FUNCTION"
->setjmp</TT
-> and
-<TT
-CLASS="FUNCTION"
->longjmp</TT
-> will need to be updated. The exact way of
-performing Linux system calls will vary: on x86 linux this usually
-involves pushing some registers on the stack and then executing an
-<TT
-CLASS="LITERAL"
->int&nbsp;0x080</TT
-> trap instruction, but on a different
-processor the arguments might be passed in registers instead and
-certainly a different trap instruction will be used. The startup code
-is written in assembler, but needs to do little more than extract the
-process' argument and environment variables and then jump to the main
-<TT
-CLASS="FUNCTION"
->linux_entry</TT
-> function provided by the
-architectural synthetic target HAL package.
-    </P
-><P
->The header file <TT
-CLASS="FILENAME"
->hal_io.h</TT
-> provided by the
-architectural HAL package provides various structure definitions,
-function prototypes, and macros related to system calls. These are
-correct for x86 linux, but there may be problems on other processors.
-For example a structure field that is currently defined as a 32-bit
-number may in fact may be a 64-bit number instead.
-    </P
-><P
->The synthetic target's memory map is defined in two files in the
-<TT
-CLASS="FILENAME"
->include/pkgconf</TT
-> subdirectory.
-For x86 the default memory map involves eight megabytes of read-only
-memory for the code at location 0x1000000 and another eight megabytes
-for data at 0x2000000. These address ranges may be reserved for other
-purposes on the new architecture, so may need changing. There may be
-some additional areas of memory allocated by the system for other
-purposes, for example the startup stack and any environment variables,
-but usually eCos applications can and should ignore those.
-    </P
-><P
->Other HAL functionality such as interrupt handling, diagnostics, and
-the system clock are provided by the architectural HAL package and
-should work on different processors with few if any changes. There may
-be some problems in the code that interacts with the I/O auxiliary
-because of lurking assumptions about endianness or the sizes of
-various data types.
-    </P
-><P
->When porting to other processors, a number of sources of information
-are likely to prove useful. Obviously the Linux kernel sources and
-header files constitute the ultimate authority on how things work at
-the system call level. The GNU C library sources may also prove very
-useful: for a normal Linux application it is the C library that
-provides the startup code and the system call interface.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-PORTING-UNIX"
-></A
-><H2
->Other Unix Platforms</H2
-><P
->Porting to a Unix or Unix-like operating system other than Linux would
-be somewhat more involved. The first requirement is toolchains: the
-GNU compilers, gcc and g++, must definitely be used; use of other GNU
-tools such as the linker may be needed as well, because eCos depends
-on functionality such as prioritizing C++ static constructors, and
-other linkers may not implement this or may implement it in a
-different and incompatible way. A closely related requirement is the
-use of ELF format for binary executables: if the operating system
-still uses an older format such as COFF then there are likely to be
-problems because they do not provide the flexibility required by eCos.
-    </P
-><P
->In the architectural HAL there should be very little code that is
-specific to Linux. Instead the code should work on any operating
-system that provides a reasonable implementation of the POSIX
-standard. There may be some problems with program startup, but those
-could be handled at the architectural level. Some changes may also be
-required to the exception handling code. However one file which will
-present a problem is <TT
-CLASS="FILENAME"
->hal_io.h</TT
->, which contains
-various structure definitions and macros used with the system call
-interface. It is likely that many of these definitions will need
-changing, and it may well be appropriate to implement variant HAL
-packages for the different operating systems where this information
-can be separated out. Another possible problem is that the generic
-code assumes that system calls such as
-<TT
-CLASS="FUNCTION"
->cyg_hal_sys_write</TT
-> are available. On an operating
-system other than Linux it is possible that some of these are not
-simple system calls, and instead wrapper functions will need to be
-implemented at the variant HAL level.
-    </P
-><P
->The generic I/O auxiliary code should be fairly portable to other Unix
-platforms. However some of the device drivers may contain code that is
-specific to Linux, for example the <TT
-CLASS="LITERAL"
->PF_PACKET</TT
-> socket
-address family and the ethertap virtual tunnelling interface. These
-may prove quite difficult to port.
-    </P
-><P
->The remaining porting task is to implement one or more platform HAL
-packages, one per processor type that is supported. This should
-involve much the same work as a port to <A
-HREF="synth-porting.html#SYNTH-PORTING-LINUX"
->another processor running Linux</A
->.
-    </P
-><P
->When using other Unix operating systems the kernel source code may not
-be available, which would make any porting effort more challenging.
-However there is still a good chance that the GNU C library will have
-been ported already, so its source code may contain much useful
-information. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-PORTING-OTHER"
-></A
-><H2
->Windows Platforms</H2
-><P
->Porting the current synthetic target code to some version of Windows
-or to another non-Unix platform is likely to prove very difficult. The
-first hurdle that needs to be crossed is the file format for binary
-executables: current Windows implementations do not use ELF, instead
-they use their own format PE which is a variant of the rather old and
-limited COFF format. It may well prove easier to first write an ELF
-loader for Windows executables, rather than try to get eCos to work
-within the constraints of PE. Of course that introduces new problems,
-for example existing source-level debuggers will still expect
-executables to be in PE format.
-    </P
-><P
->Under Linux a synthetic target application is not linked with the
-system's C library or any other standard system library. That would
-cause confusion, for example both eCos and the system's C library
-might try to define the <TT
-CLASS="FUNCTION"
->printf</TT
-> function, and
-introduce complications such as working with shared libraries. For
-much the same reasons, a synthetic target application under Windows
-should not be linked with any Windows DLL's. If an ELF loader has been
-specially written then this may not be much of a problem.
-    </P
-><P
->The next big problem is the system call interface. Under Windows
-system calls are generally made via DLL's, and it is not clear that
-the underlying trap mechanism is well-documented or consistent between
-different releases of Windows.
-    </P
-><P
->The current code depends on the operating system providing an
-implementation of POSIX signal handling. This is used for I/O
-purposes, for example <TT
-CLASS="LITERAL"
->SIGALRM</TT
-> is used for the
-system clock, and for exceptions. It is not known what equivalent
-functionality is available under Windows.
-    </P
-><P
->Given the above problems a port of the synthetic target to Windows may
-or may not be technically feasible, but it would certainly require a
-very large amount of effort.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-new-host.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="devs-usb-sa11x0-ref.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Writing New Devices - host</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SA11X0 USB Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-running.html b/doc/html/ref/synth-running.html
deleted file mode 100644 (file)
index 5c3b4da..0000000
+++ /dev/null
@@ -1,971 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Running a Synthetic Target Application</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="Installation"
-HREF="synth-install.html"><LINK
-REL="NEXT"
-TITLE="The I/O Auxiliary's User Interface"
-HREF="synth-gui.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-install.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-gui.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-RUNNING">Running a Synthetic Target Application</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17751"
-></A
-><H2
->Name</H2
->Execution&nbsp;--&nbsp;Arguments and configuration files</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-RUNNING-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->The procedure for configuring and building eCos and an application for
-the synthetic target is the same as for any other eCos target. Once an
-executable has been built it can be run like any Linux program, for
-example from a shell prompt,
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecos_hello &lt;options&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->or using gdb:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ gdb --nw --quiet --args ecos_hello &lt;options&gt;
-(gdb) run
-Starting program: ecos_hello &lt;options&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->By default use of the I/O auxiliary is disabled. If its I/O facilities
-are required then the option <TT
-CLASS="OPTION"
->--io</TT
-> must be used.
-    </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In future the default behaviour may change, with the I/O auxiliary
-being started by default. The option <TT
-CLASS="OPTION"
->--nio</TT
-> can be
-used to prevent the auxiliary from being run.
-    </P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-RUNNING-ARGUMENTS"
-></A
-><H2
->Command-line Arguments</H2
-><P
->The syntax for running a synthetic target application is:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ &lt;ecos_app&gt; [options] [-- [app_options]]</PRE
-></TD
-></TR
-></TABLE
-><P
->Command line options up to the <TT
-CLASS="OPTION"
->--</TT
-> are passed on to
-the I/O auxiliary. Subsequent arguments are not passed on to the
-auxiliary, and hence can be used by the eCos application itself. The
-full set of arguments can be accessed through the variables
-<TT
-CLASS="VARNAME"
->cyg_hal_sys_argc</TT
-> and
-<TT
-CLASS="VARNAME"
->cyg_hal_sys_argv</TT
->. 
-    </P
-><P
->The following options are accepted as standard:
-    </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="OPTION"
->--io</TT
-></DT
-><DD
-><P
->This option causes the eCos application to spawn the I/O auxiliary
-during HAL initialization. Without this option only limited I/O will
-be available.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--nio</TT
-></DT
-><DD
-><P
->This option prevents the eCos application from spawning the I/O
-auxiliary. In the current version of the software this is the default.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-nw</TT
->, <TT
-CLASS="OPTION"
->--no-windows</TT
-></DT
-><DD
-><P
->The I/O auxiliary can either provide a graphical user interface, or it
-can run in a text-only mode. The default is to provide the graphical
-interface, but this can be disabled with <TT
-CLASS="OPTION"
->-nw</TT
->.
-Emulation of some devices, for example buttons connected to digital
-inputs, requires the graphical interface.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-w</TT
->, <TT
-CLASS="OPTION"
->--windows</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="OPTION"
->-w</TT
-> causes the I/O auxiliary to provide a
-graphical user interface. This is the default.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-v</TT
->, <TT
-CLASS="OPTION"
->--version</TT
-></DT
-><DD
-><P
->The <TT
-CLASS="OPTION"
->-v</TT
-> option can be used to determine the version of
-the I/O auxiliary being used and where it has been installed. Both the
-auxiliary and the eCos application will exit immediately.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-h</TT
->, <TT
-CLASS="OPTION"
->--help</TT
-></DT
-><DD
-><P
-><TT
-CLASS="OPTION"
->-h</TT
-> causes the I/O auxiliary to list all accepted
-command-line arguments. This happens after all devices have been
-initialized, since the host-side support for some of the devices may
-extend the list of recognised options. After this both the auxiliary
-and the eCos application will exit immediately. This option implies
-<TT
-CLASS="OPTION"
->-nw</TT
->. 
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-k</TT
->, <TT
-CLASS="OPTION"
->--keep-going</TT
-></DT
-><DD
-><P
->If an error occurs in the I/O auxiliary while reading in any of the
-configuration files or initializing devices, by default both the 
-auxiliary and the eCos application will exit. The <TT
-CLASS="OPTION"
->-k</TT
->
-option can be used to make the auxiliary continue in spite of errors,
-although obviously it may not be fully functional.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-nr</TT
->, <TT
-CLASS="OPTION"
->--no-rc</TT
-></DT
-><DD
-><P
->Normally the auxiliary processes two <A
-HREF="synth-running.html#SYNTH-RUNNING-USER-CONFIG"
->user configuration files</A
->
-during startup: <TT
-CLASS="FILENAME"
->initrc.tcl</TT
-> and
-<TT
-CLASS="FILENAME"
->mainrc.tcl</TT
->. This can be suppressed using the
-<TT
-CLASS="OPTION"
->-nr</TT
-> option.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-x</TT
->, <TT
-CLASS="OPTION"
->--exit</TT
-></DT
-><DD
-><P
->When providing a graphical user interface the I/O auxiliary will
-normally continue running even after the eCos application has exited.
-This allows the user to take actions such as saving the current
-contents of the main text window. If run with <TT
-CLASS="OPTION"
->-x</TT
-> then
-the auxiliary will exit as soon the application exits.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-nx</TT
->, <TT
-CLASS="OPTION"
->--no-exit</TT
-></DT
-><DD
-><P
->When the graphical user interface is disabled with
-<TT
-CLASS="OPTION"
->-nw</TT
-> the I/O auxiliary will normally exit immediately
-when the eCos application exits. Without the graphical frontend there
-is usually no way for the user to interact directly with the
-auxiliary, so there is no point in continuing to run once the eCos
-application will no longer request any I/O operations. Specifying the
-<TT
-CLASS="OPTION"
->-nx</TT
-> option causes the auxiliary to continue running
-even after the application has exited.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-V</TT
->, <TT
-CLASS="OPTION"
->--verbose</TT
-></DT
-><DD
-><P
->This option causes the I/O auxiliary to output some additional
-information, especially during initialization.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-l &lt;file&gt;</TT
->, <TT
-CLASS="OPTION"
->--logfile &lt;file&gt;</TT
-></DT
-><DD
-><P
->Much of the output of the eCos application and the I/O auxiliary is
-simple text, for example resulting from eCos
-<TT
-CLASS="FUNCTION"
->printf</TT
-> or <TT
-CLASS="FUNCTION"
->diag_printf</TT
-> calls.
-When running in graphical mode this output goes to a central text
-window, and can be saved to a file or edited via menus. The
-<TT
-CLASS="OPTION"
->-l</TT
-> can be used to automatically generate an
-additional logfile containing all the text. If graphical
-mode is disabled then by default all the text just goes to the current
-standard output. Specifying <TT
-CLASS="OPTION"
->-l</TT
-> causes most of the
-text to go into a logfile instead, although some messages such as
-errors generated by the auxiliary itself will still go to stdout as
-well. 
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-t &lt;file&gt;</TT
->, <TT
-CLASS="OPTION"
->--target &lt;file&gt;</TT
-></DT
-><DD
-><P
->During initialization the I/O auxiliary reads in a target definition
-file. This file holds information such as which Linux devices should
-be used to emulate the various eCos devices. The <TT
-CLASS="OPTION"
->-t</TT
->
-option can be used to specify which target definition should be used
-for the current run, defaulting to <TT
-CLASS="FILENAME"
->default.tdf</TT
->.
-It is not necessary to include the <TT
-CLASS="FILENAME"
->.tdf</TT
-> suffix,
-this will be appended automatically if necessary.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-geometry &lt;geometry&gt;</TT
-></DT
-><DD
-><P
->This option can be used to control the size and position of the main
-window, as per X conventions.
-         </P
-></DD
-></DL
-></DIV
-><P
->The I/O auxiliary loads support for the various devices dynamically
-and some devices may accept additional command line arguments. Details
-of these can be obtained using the <TT
-CLASS="OPTION"
->-h</TT
-> option or by
-consulting the device-specific documentation. If an unrecognised
-command line argument is used then a warning will be issued.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-RUNNING-TDF"
-></A
-><H2
->The Target Definition File</H2
-><P
->The eCos application will want to access devices such as
-<TT
-CLASS="VARNAME"
->eth0</TT
-> or <TT
-CLASS="VARNAME"
->/dev/ser0</TT
->. These need to
-be mapped on to Linux devices. For example some users may all traffic
-on the eCos <TT
-CLASS="VARNAME"
->/dev/ser0</TT
-> serial device to go via the
-Linux serial device <TT
-CLASS="VARNAME"
->/dev/ttyS1</TT
->, while ethernet I/O
-for the eCos <TT
-CLASS="VARNAME"
->eth0</TT
-> device should be mapped to the
-Linux ethertap device <TT
-CLASS="VARNAME"
->tap3</TT
->. Some devices may need
-additional configuration information, for example to limit the
-number of packets that should be buffered within the I/O auxiliary.
-The target definition file provides all this information.
-    </P
-><P
->By default the I/O auxiliary will look for a file
-<TT
-CLASS="FILENAME"
->default.tdf</TT
->. An alternative target definition can
-be specified on the command line using <TT
-CLASS="OPTION"
->-t</TT
->, for
-example:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ bridge_app --io -t twineth</PRE
-></TD
-></TR
-></TABLE
-><P
->A <TT
-CLASS="FILENAME"
->.tdf</TT
-> suffix will be appended automatically if
-necessary. If a relative pathname is used then the I/O auxiliary will
-search for the target definition file in the current directory, then
-in <TT
-CLASS="FILENAME"
->~/.ecos/synth/</TT
->, and finally
-in its install location.
-    </P
-><P
->A typical target definition file might look like this:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device console {
-    # appearance -foreground white -background black
-    filter trace {^TRACE:.*} -foreground HotPink1 -hide 1
-}
-
-synth_device ethernet {
-    eth0 real eth1
-    eth1 ethertap tap4 00:01:02:03:FE:06
-
-    ## Maximum number of packets that should be buffered per interface.
-    ## Default 16
-    #max_buffer 32
-
-    ## Filters for the various recognised protocols.
-    ## By default all filters are visible and use standard colours.
-    filter ether  -hide 0
-    #filter arp    -hide 1
-    #filter ipv4   -hide 1
-    #filter ipv6   -hide 1
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->A target definition file is actually a Tcl script that gets run in the
-main interpreter of the I/O auxiliary during initialization. This
-provides a lot of flexibility if necessary. For example the script
-could open a socket to a resource management server of some sort to
-determine which hardware facilities are already in use and adapt
-accordingly. Another possibility is to adapt based on <A
-HREF="synth-new-host.html#SYNTH-NEW-HOST-ARGS"
->command line arguments</A
->. Users who
-are not familiar with Tcl programming should still be able to edit a
-simple target definition file without too much difficulty, using a
-mixture of cut'n'paste, commenting or uncommenting various lines, and
-making small edits such as changing <TT
-CLASS="LITERAL"
->tap4</TT
-> to
-<TT
-CLASS="LITERAL"
->eth2</TT
->. 
-    </P
-><P
->Each type of device will have its own entry in the target definition
-file, taking the form:
-    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->synth_device &lt;device type&gt; {
-    &lt;options&gt;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The documentaton for each synthetic target device should provide
-details of the options available for that device, and often a suitable
-fragment that can be pasted into a target definition file and edited.
-There is no specific set of options that a given device will always
-provide. However in practice many devices will use common code
-exported by the main I/O auxiliary, or their implementation will
-involve some re-use of code for an existing device. Hence certain
-types of option are common to many devices.
-    </P
-><P
->A good example of this is filters, which control the appearance of
-text output. The above target definition file defines a filter
-<TT
-CLASS="VARNAME"
->trace</TT
-> for output from the eCos application. The
-regular expression will match output from the infrastructure package's
-tracing facilities when <TT
-CLASS="VARNAME"
->CYGDBG_USE_TRACING</TT
-> and
-<TT
-CLASS="VARNAME"
->CYGDBG_INFRA_DEBUG_TRACE_ASSERT_SIMPLE</TT
-> are enabled.
-With the current settings this output will not be visible by default,
-but can be made visible using the menu item <SPAN
-CLASS="GUIMENUITEM"
->System
-Filters</SPAN
->. If made visible the trace output will appear in
-an unusual colour, so users can easily distinguish the trace output
-from other text. All filters accept the following options:
-    </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="OPTION"
->-hide [0|1]</TT
-></DT
-><DD
-><P
->This controls whether or not text matching this filter should be
-invisible by default or not. At run-time the visibility of each filter
-can be controlled using the <SPAN
-CLASS="GUIMENUITEM"
->System Filters</SPAN
->
-menu item.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-foreground &lt;colour&gt;</TT
-></DT
-><DD
-><P
->This specifies the foreground colour for all text matching this
-filter. The colour can be specified using an RGB value such as
-<TT
-CLASS="LITERAL"
->#F08010</TT
->, or a symbolic name such as
-<TT
-CLASS="LITERAL"
->"light steel blue"</TT
->. The X11 utility
-<SPAN
-CLASS="APPLICATION"
->showrgb</SPAN
-> can be used to find out
-about the available colours.
-         </P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->-background &lt;colour&gt;</TT
-></DT
-><DD
-><P
->This specifies the background colour for all text matching the filter.
-As with <TT
-CLASS="OPTION"
->-foreground</TT
-> the colour can be specified using
-a symbolic name or an RGB value.
-         </P
-></DD
-></DL
-></DIV
-><P
->Some devices may create their own subwindows, for example to monitor
-ethernet traffic or to provide additional I/O facilities such as
-emulated LED's or buttons. Usually the target definition file can be
-used to control the <A
-HREF="synth-gui.html#SYNTH-GUI-LAYOUT"
->layout</A
-> of
-these windows.
-    </P
-><P
->The I/O auxiliary will not normally warn about
-<B
-CLASS="COMMAND"
->synth_device</B
-> entries in the target definition file
-for devices that are not actually needed by the current eCos
-application. This makes it easier to use a single file for several
-different applications. However it can lead to confusion if an entry
-is spelled incorrectly and hence does not actually get used. The
-<TT
-CLASS="OPTION"
->-V</TT
-> command line option can be used to get warnings
-about unused device entries in the target definition file.
-    </P
-><P
->If the body of a <B
-CLASS="COMMAND"
->synth_device</B
-> command contains an
-unrecognised option and the relevant device is in use, the I/O
-auxiliary will always issue a warning about such options.
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-RUNNING-USER-CONFIG"
-></A
-><H2
->User Configuration Files</H2
-><P
->During initialization the I/O auxiliary will execute two user
-configuration files, <TT
-CLASS="FILENAME"
->initrc.tcl</TT
-> and
-<TT
-CLASS="FILENAME"
->mainrc.tcl</TT
->. It will look for these files in the
-directory <TT
-CLASS="FILENAME"
->~/.ecos/synth/</TT
->. If
-that directory does not yet exist it will be created and populated
-with initial dummy files.
-    </P
-><P
->Both of these configuration files are Tcl scripts and will be run in
-the main interpreter used by the I/O auxiliary itself. This means that
-they have full access to the internals of the auxiliary including the
-various Tk widgets, and they can perform file or socket I/O if
-desired. The section <A
-HREF="synth-new-host.html"
->Writing New Devices - host</A
-> contains
-information about the facilities available on the host-side for
-writing new device drivers, and these can also be used in the
-initialization scripts.
-    </P
-><P
->The <TT
-CLASS="FILENAME"
->initrc.tcl</TT
-> script is run before the auxiliary
-has processed any requests from the eCos application, and hence before
-any devices have been instantiated. At this point the generic
-command-line arguments has been processed, the target definition file
-has been read in, and the hooks functionality has been initialized. If
-running in graphical mode the main window will have been created, but
-has been withdrawn from the screen to allow new widgets to be added
-without annoying screen flicker. A typical
-<TT
-CLASS="FILENAME"
->initrc.tcl</TT
-> script could add some menu or toolbar
-options, or install a hook function that will be run when the
-eCos application exits.
-    </P
-><P
->The <TT
-CLASS="FILENAME"
->mainrc.tcl</TT
-> script is run after eCos has
-performed all its device initialization and after C++ static
-constructors have run, and just before the call to
-<TT
-CLASS="FUNCTION"
->cyg_start</TT
-> which will end up transferring control
-to the application itself. A typical <TT
-CLASS="FILENAME"
->mainrc.tcl</TT
->
-script could look at what interrupt vectors have been allocated to
-which devices and create a little monitor window that shows interrupt
-activity. 
-    </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-RUNNING-SESSION"
-></A
-><H2
->Session Information</H2
-><P
->When running in graphical mode, the I/O auxiliary will read in a file
-<TT
-CLASS="FILENAME"
->~/.ecos/synth/guisession</TT
-> containing session
-information. This file should not normally be edited manually, instead
-it gets updated automatically when the auxiliary exits. The purpose of
-this file is to hold configuration options that are manipulated via
-the graphical interface, for example which browser should be used to
-display online help.
-    </P
-><DIV
-CLASS="WARNING"
-><P
-></P
-><TABLE
-CLASS="WARNING"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Warning</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->GUI session functionality is not yet available in the current release.
-When that functionality is fully implemented it is possible that some
-target definition file options may be removed, to be replaced by
-graphical editing via a suitable preferences dialog, with the
-current settings saved in the session file.
-    </P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-install.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-gui.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Installation</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The I/O Auxiliary's User Interface</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth-syscalls.html b/doc/html/ref/synth-syscalls.html
deleted file mode 100644 (file)
index 43209c6..0000000
+++ /dev/null
@@ -1,340 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->System Calls</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="The Console Device"
-HREF="synth-console.html"><LINK
-REL="NEXT"
-TITLE="Writing New Devices - target"
-HREF="synth-new-target.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="synth-console.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-new-target.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH-SYSCALLS">System Calls</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN18139"
-></A
-><H2
->Name</H2
->cyg_hal_sys_xyz&nbsp;--&nbsp;Access Linux system facilities</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN18142"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN18143"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/hal/hal_io.h&gt;
-      </PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->int cyg_hal_sys_xyzzy</CODE
->(...);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-SYSCALLS-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->On a real embedded target eCos interacts with the hardware by peeking
-and poking various registers, manipulating special regions of memory,
-and so on. The synthetic target does not access hardware directly.
-Instead I/O and other operations are emulated by making appropriate
-Linux system calls. The HAL package exports a number of functions
-which allow other packages, or even application code, to make these
-same system calls. However this facility must be used with care: any
-code which calls, for example, <TT
-CLASS="FUNCTION"
->cyg_hal_sys_write</TT
->
-will only ever run on the synthetic target; that functionality is
-obviously not provided on any real hardware because there is no
-underlying Linux kernel to implement it.
-    </P
-><P
->The synthetic target only provides a subset of the available system
-calls, specifically those calls which have proved useful to implement
-I/O emulation. This subset can be extended fairly easily if necessary.
-All of the available calls, plus associated data structures and
-macros, are defined in the header file <TT
-CLASS="FILENAME"
->cyg/hal/hal_io.h</TT
->. There is a simple
-convention: given a Linux system call such as
-<TT
-CLASS="FUNCTION"
->open</TT
->, the synthetic target will prefix
-<TT
-CLASS="LITERAL"
->cyg_hal_sys</TT
-> and provide a function with that name.
-The second argument to the <TT
-CLASS="FUNCTION"
->open</TT
-> system call is
-a set of flags such as <TT
-CLASS="CONSTANT"
->O_RDONLY</TT
->, and the header
-file will define a matching constant
-<TT
-CLASS="CONSTANT"
->CYG_HAL_SYS_O_RDONLY</TT
->. There are also data
-structures such as <SPAN
-CLASS="STRUCTNAME"
->cyg_hal_sys_sigset_t</SPAN
->,
-matching the Linux data structure <SPAN
-CLASS="STRUCTNAME"
->sigset_t</SPAN
->.
-    </P
-><P
->In most cases the functions provided by the synthetic target behave as
-per the documentation for the Linux system calls, and section 2 of the
-Linux man pages can be consulted for more information. There is one
-important difference: typically the documentation will say that a
-function returns <TT
-CLASS="LITERAL"
->-1</TT
-> to indicate an error, with the
-actual error code held in <TT
-CLASS="VARNAME"
->errno</TT
->; the actual
-underlying system call and hence the
-<TT
-CLASS="FUNCTION"
->cyg_hal_sys_xyz</TT
-> provided by eCos instead returns
-a negative number to indicate an error, with the absolute value of
-that number corresponding to the error code; usually it is the C
-library which handles this and manipulates errno, but of course
-synthetic target applications are not linked with that Linux library.
-    </P
-><P
->However, there are some exceptions. The Linux kernel has evolved over
-the years, and some of the original system call interfaces are no
-longer appropriate. For example the original
-<TT
-CLASS="FUNCTION"
->select</TT
-> system call has been superseded by
-<TT
-CLASS="FUNCTION"
->_newselect</TT
->, and that is what the
-<TT
-CLASS="FUNCTION"
->select</TT
-> function in the C library actually uses.
-The old call is still available to preserve binary compatibility but,
-like the C library, eCos makes use of the new one because it provides
-the appropriate functionality. In an attempt to reduce confusion the
-eCos function is called <TT
-CLASS="FUNCTION"
->cyg_hal_sys__newselect</TT
->,
-in other words it matches the official system call naming scheme. The
-authoritive source of information on such matters is the Linux kernel
-sources themselves, and especially its header files.
-    </P
-><P
->eCos packages and applications should never
-<TT
-CLASS="LITERAL"
->#include</TT
-> Linux header files directly. For example,
-doing a <TT
-CLASS="LITERAL"
->#include&nbsp;&lt;/usr/include/fcntl.h&gt;</TT
->
-to access additional macros or structure definitions, or alternatively
-manipulating the header file search path, will lead to problems
-because the Linux header files are likely to duplicate and clash with
-definitions in the eCos headers. Instead the appropriate functionality
-should be extracted from the Linux headers and moved into either
-<TT
-CLASS="FILENAME"
->cyg/hal/hal_io.h</TT
-> or into
-application code, with suitable renaming to avoid clashes with eCos
-names. Users should be aware that large-scale copying may involve
-licensing complications.
-    </P
-><P
->Adding more system calls is usually straightforward and involves
-adding one or more lines to the platform-specific file in the
-appropriate platform HAL, for example
-<TT
-CLASS="FILENAME"
->syscall-i386-linux-1.0.S</TT
->. However it is necessary
-to do some research first about the exact interface implemented by the
-system call, because of issues such as old system calls that have been
-superseded. The required information can usually be found fairly
-easily by searching through the Linux kernel sources and possibly the
-GNU C library sources.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="synth-console.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-new-target.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The Console Device</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Writing New Devices - target</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/synth.html b/doc/html/ref/synth.html
deleted file mode 100644 (file)
index 01b5ddb..0000000
+++ /dev/null
@@ -1,379 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Overview</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"><LINK
-REL="NEXT"
-TITLE="Installation"
-HREF="synth-install.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="synth-install.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="SYNTH">Overview</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17662"
-></A
-><H2
->Name</H2
->The eCos synthetic target&nbsp;--&nbsp;Overview</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="SYNTH-DESCRIPTION"
-></A
-><H2
->Description</H2
-><P
->Usually eCos runs on either a custom piece of hardware, specially
-designed to meet the needs of a specific application, or on a
-development board of some sort that is available before the final
-hardware. Such boards have a number of things in common:
-    </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Obviously there has to be at least one processor to do the work. Often
-this will be a 32-bit processor, but it can be smaller or larger.
-Processor speed will vary widely, depending on the expected needs of
-the application. However the exact processor being used tends not to
-matter very much for most of the development process: the use of
-languages such as C or C++ means that the compiler will handle those
-details.
-      </P
-></LI
-><LI
-><P
->There needs to be memory for code and for data. A typical system will
-have two different types of memory. There will be some non-volatile
-memory such as flash, EPROM or masked ROM. There will also be some
-volatile memory such as DRAM or SRAM. Often the code for the final
-application will reside in the non-volatile memory and all of the RAM
-will be available for data. However updating non-volatile memory
-requires a non-trivial amount of effort, so for much of the
-development process it is more convenient to burn suitable firmware,
-for example RedBoot, into the non-volatile memory and then use that to
-load the application being debugged into RAM, alongside the
-application data and a small area reserved for use by the firmware.
-      </P
-></LI
-><LI
-><P
->The platform must provide certain mimimal I/O facilities. Most eCos
-configurations require a clock signal of some sort. There must also be
-some way of outputting diagnostics to the user, often but not always 
-via a serial port. Unless special debug hardware is being used, source
-level debugging will require bidirectional communication between a
-host machine and the target hardware, usually via a serial port or an
-ethernet device.
-      </P
-></LI
-><LI
-><P
->All the above is not actually very useful yet because there is no way
-for the embedded device to interact with the rest of the world, except
-by generating diagnostics. Therefore an embedded device will have
-additional I/O hardware. This may be fairly standard hardware such as
-an ethernet or USB interface, or special hardware designed
-specifically for the intended application, or quite often some
-combination. Standard hardware such as ethernet or USB may be
-supported by eCos device drivers and protocol stacks, whereas the
-special hardware will be driven directly by application code.
-      </P
-></LI
-></OL
-><P
->Much of the above can be emulated on a typical PC running Linux.
-Instead of running the embedded application being developed on a
-target board of some sort, it can be run as a Linux process. The
-processor will be the PC's own processor, for example an x86, and the
-memory will be the process' address space. Some I/O facilities can be
-emulated directly through system calls. For example clock hardware can
-be emulated by setting up a <TT
-CLASS="LITERAL"
->SIGALRM</TT
-> signal, which
-will cause the process to be interrupted at regular intervals. This
-emulation of real hardware will not be particularly accurate, the
-number of cpu cycles available to the eCos application between clock
-ticks will vary widely depending on what else is running on the PC,
-but for much development work it will be good enough.
-    </P
-><P
->Other I/O facilities are provided through an I/O auxiliary process,
-ecosynth, that gets spawned by the eCos application during startup.
-When an eCos device driver wants to perform some I/O operation, for
-example send out an ethernet packet, it sends a request to the I/O
-auxiliary. That is an ordinary Linux application so it has ready
-access to all normal Linux I/O facilities. To emulate a device
-interrupt the I/O auxiliary can raise a <TT
-CLASS="LITERAL"
->SIGIO</TT
->
-signal within the eCos application. The HAL's interrupt subsystem
-installs a signal handler for this, which will then invoke the
-standard eCos ISR/DSR mechanisms. The I/O auxiliary is based around
-Tcl scripting, making it easy to extend and customize. It should be
-possible to configure the synthetic target so that its I/O
-functionality is similar to what will be available on the final target
-hardware for the application being developed.
-    </P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN17681"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="synth-io-overview.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->A key requirement for synthetic target code is that the embedded
-application must not be linked with any of the standard Linux
-libraries such as the GNU C library: that would lead to a confusing
-situation where both eCos and the Linux libraries attempted to provide
-functions such as <TT
-CLASS="FUNCTION"
->printf</TT
->. Instead the synthetic
-target support must be implemented directly on top of the Linux
-kernels' system call interface. For example, the kernel provides a
-system call for write operations. The actual function
-<TT
-CLASS="FUNCTION"
->write</TT
-> is implemented in the system's C library,
-but all it does is move its arguments on to the stack or into certain
-registers and then execute a special trap instruction such as
-<TT
-CLASS="LITERAL"
->int&nbsp;0x80</TT
->. When this instruction is executed
-control transfers into the kernel, which will validate the arguments
-and perform the appropriate operation. Now, a synthetic target
-application cannot be linked with the system's C library. Instead it
-contains a function <TT
-CLASS="FUNCTION"
->cyg_hal_sys_write</TT
-> which, like
-the C library's <TT
-CLASS="FUNCTION"
->write</TT
-> function, pushes its
-arguments on to the stack and executes the trap instruction. The Linux
-kernel cannot tell the difference, so it will perform the I/O
-operation requested by the synthetic target. With appropriate
-knowledge of what system calls are available, this makes it possible
-to emulate the required I/O facilities. For example, spawning the
-ecosynth I/O auxiliary involves system calls
-<TT
-CLASS="FUNCTION"
->cyg_hal_sys_fork</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_hal_sys_execve</TT
->, and sending a request to the
-auxiliary uses <TT
-CLASS="FUNCTION"
->cyg_hal_sys_write</TT
->.
-    </P
-><P
->In many ways developing for the synthetic target is no different from
-developing for real embedded targets. eCos must be configured
-appropriately: selecting a suitable target such as
-<TT
-CLASS="USERINPUT"
-><B
->i386linux</B
-></TT
-> will cause the configuration system
-to load the appropriate packages for this hardware; this includes an
-architectural HAL package and a platform-specific package; the
-architectural package contains generic code applicable to all Linux
-platforms, whereas the platform package is for specific Linux
-implementations such as the x86 version and contains any
-processor-specific code. Selecting this target will also bring in some
-device driver packages. Other aspects of the configuration such as
-which API's are supported are determined by the template, by adding
-and removing packages, and by fine-grained configuration.
-    </P
-><P
->In other ways developing for the synthetic target can be much easier
-than developing for a real embedded target. For example there is no
-need to worry about building and installing suitable firmware on the
-target hardware, and then downloading and debugging the actual
-application over a serial line or a similar connection. Instead an
-eCos application built for the synthetic target is mostly
-indistinguishable from an ordinary Linux program. It can be run simply
-by typing the name of the executable file at a shell prompt.
-Alternatively you can debug the application using whichever version of
-gdb is provided by your Linux distribution. There is no need to build
-or install special toolchains. Essentially using the synthetic target
-means that the various problems associated with real embedded hardware
-can be bypassed for much of the development process.
-    </P
-><P
->The eCos synthetic target provides emulation, not simulation. It is
-possible to run eCos in suitable architectural simulators but that
-involves a rather different approach to software development. For
-example, when running eCos on the psim PowerPC simulator you need
-appropriate cross-compilation tools that allow you to build PowerPC
-executables. These are then loaded into the simulator which interprets
-every instruction and attempts to simulate what would happen if the
-application were running on real hardware. This involves a lot of
-processing overhead, but depending on the functionality provided by
-the simulator it can give very accurate results. When developing for
-the synthetic target the executable is compiled for the PC's own
-processor and will be executed at full speed, with no need for a
-simulator or special tools. This will be much faster and somewhat
-simpler than using an architectural simulator, but no attempt is made
-to accurately match the behaviour of a real embedded target.
-    </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="synth-install.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos Synthetic Target</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Installation</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-freebsd-building-the-network-stack.html b/doc/html/ref/tcpip-freebsd-building-the-network-stack.html
deleted file mode 100644 (file)
index d88eddd..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building the Network Stack</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Freebsd TCP/IP stack port"
-HREF="tcpip-freebsd-stack-port.html"><LINK
-REL="PREVIOUS"
-TITLE="Freebsd TCP/IP stack port"
-HREF="tcpip-freebsd-stack-port.html"><LINK
-REL="NEXT"
-TITLE="APIs"
-HREF="tcpip-freebsd-tcpip-apis.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-stack-port.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 40. Freebsd TCP/IP stack port</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-tcpip-apis.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-FREEBSD-BUILDING-THE-NETWORK-STACK">Building the Network Stack</H1
-><P
->Using the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Packages</I
-></SPAN
-> dialog,
-add the packages &#8220;Networking&#8221;,
-&#8220;Freebsd TCP/IP Stack&#8221;
-and &#8220;Common Ethernet Support&#8221;
-to your configuration.  Their package names
-are CYGPKG_NET, CYGPKG_NET_FREEBSD_STACK and CYGPKG_NET_ETH_DRIVERS
-respectively.</P
-><P
->A short-cut way to do this is by
-using the &#8220;net&#8221; <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->template</I
-></SPAN
->
-if it is available for your platform.</P
-><P
->The platform-specific ethernet device driver for your platform
-will be added as part of the target selection (in the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Templates</I
-></SPAN
-> &#8220;Hardware&#8221; item),
-along with the 
-PCI I/O subsystem (if relevent) and the appropriate serial device driver.</P
-><P
->For example, the PowerPC MBX target selection adds the package
-PKG_NET_QUICC_ETH_DRIVERS,
-and the Cirrus Logic EDB7xxx target selection adds the package
-CYGPKG_NET_EDB7XXX_ETH_DRIVERS.
-After this, eCos and its tests can be built exactly as usual.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->By default, most of the network tests are not built.  This
-is because some of them require manual intervention, i.e. they are
-to be run &#8220;by hand&#8221;, and are not suitable for
-automated testing.  To build the full set of network tests, set
-the configuration option CYGPKG_NET_BUILD_TESTS &#8220;Build
-networking tests (demo programs)&#8221; within &#8220;Networking
-support build options&#8221;.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-stack-port.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-tcpip-apis.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Freebsd TCP/IP stack port</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-stack-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->APIs</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-freebsd-enhanced-select.html b/doc/html/ref/tcpip-freebsd-enhanced-select.html
deleted file mode 100644 (file)
index 6042d7c..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Enhanced Select()</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="APIs"
-HREF="tcpip-freebsd-tcpip-apis.html"><LINK
-REL="PREVIOUS"
-TITLE="APIs"
-HREF="tcpip-freebsd-tcpip-apis.html"><LINK
-REL="NEXT"
-TITLE="OpenBSD TCP/IP Stack port for eCos"
-HREF="tcpip-openbsd.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-tcpip-apis.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 41. APIs</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-FREEBSD-ENHANCED-SELECT">Enhanced Select()</H1
-><P
->The network stack supports an extension to the standard select
-semantics which allows all threads that are waiting to be restarted
-even if the select conditions are not satisfied.</P
-><P
->The standard select() API:  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int  
-<TT
-CLASS="FUNCTION"
->select</TT
->(int nfd,
-       fd_set &#0042;in, fd_set &#0042;out, fd_set &#0042;ex,
-       struct timeval &#0042;tv); </PRE
-></TD
-></TR
-></TABLE
-><P
->does not support the restart.</P
-><P
->The additional API:  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int  
-<TT
-CLASS="FUNCTION"
->cyg_select_with_abort</TT
->(int nfd,
-       fd_set &#0042;in, fd_set &#0042;out, fd_set &#0042;ex,
-       struct timeval &#0042;tv)</PRE
-></TD
-></TR
-></TABLE
-><P
->behaves exactly as select() with the additional feature that
-a call to</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->cyg_select_abort</TT
->(void)</PRE
-></TD
-></TR
-></TABLE
-><P
->will cause all threads waiting in any
-<TT
-CLASS="FUNCTION"
->cyg_select_with_abort()</TT
-> call
-to cease waiting and continue execution.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-tcpip-apis.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->APIs</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-tcpip-apis.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->OpenBSD TCP/IP Stack port for eCos</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-freebsd-networking-stack-features.html b/doc/html/ref/tcpip-freebsd-networking-stack-features.html
deleted file mode 100644 (file)
index e137706..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Networking Stack Features</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="FreeBSD TCP/IP Stack port for eCos"
-HREF="tcpip-freebsd.html"><LINK
-REL="PREVIOUS"
-TITLE="FreeBSD TCP/IP Stack port for eCos"
-HREF="tcpip-freebsd.html"><LINK
-REL="NEXT"
-TITLE="Freebsd TCP/IP stack port"
-HREF="tcpip-freebsd-stack-port.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-stack-port.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-FREEBSD-NETWORKING-STACK-FEATURES">Chapter 39. Networking Stack Features</H1
-><P
->Since this networking package is based on BSD code, it is
-very complete and robust.  The eCos implementation includes support
-for the following protocols:   </P
-><P
-></P
-><UL
-><LI
-><P
->IPv4</P
-></LI
-><LI
-><P
->UDP</P
-></LI
-><LI
-><P
->TCP</P
-></LI
-><LI
-><P
->ICMP</P
-></LI
-><LI
-><P
->raw packet interface</P
-></LI
-><LI
-><P
->Multi-cast addressing</P
-></LI
-><LI
-><P
->IPv6 (including UDP, ICP, ICMP)</P
-></LI
-></UL
-><P
->These additional features are also present in the package,
-       but are not supported:</P
-><P
-></P
-><UL
-><LI
-><P
->Berkeley Packet Filter   </P
-></LI
-><LI
-><P
->Uni-cast support   </P
-></LI
-><LI
-><P
->Multi-cast routing   </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-stack-port.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->FreeBSD TCP/IP Stack port for eCos</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Freebsd TCP/IP stack port</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-freebsd-stack-port.html b/doc/html/ref/tcpip-freebsd-stack-port.html
deleted file mode 100644 (file)
index 93ccd0a..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Freebsd TCP/IP stack port</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="FreeBSD TCP/IP Stack port for eCos"
-HREF="tcpip-freebsd.html"><LINK
-REL="PREVIOUS"
-TITLE="Networking Stack Features"
-HREF="tcpip-freebsd-networking-stack-features.html"><LINK
-REL="NEXT"
-TITLE="Building the Network Stack"
-HREF="tcpip-freebsd-building-the-network-stack.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-networking-stack-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-building-the-network-stack.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-FREEBSD-STACK-PORT">Chapter 40. Freebsd TCP/IP stack port</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="tcpip-freebsd-stack-port.html#TCPIP-FREEBSD-TCPIP-TARGETS"
->Targets</A
-></DT
-><DT
-><A
-HREF="tcpip-freebsd-building-the-network-stack.html"
->Building the Network Stack</A
-></DT
-></DL
-></DIV
-><P
->This document describes how to get started with the Freebsd
-TCP/IP network stack. </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-FREEBSD-TCPIP-TARGETS">Targets</H1
-><P
->A number of ethernet devices may be supported. The default configuration
-supports two instances of the interface by default,
-and you will need to write your own driver instantiation code,
-and supplemental startup and initialization code,
-if you should add additional ones.</P
-><P
->The target for your board will normally be supplied with an
-ethernet driver, in which case including the network stack and
-generic ethernet driver package to your build will automatically
-enable usage of the ethernet device driver.
-If your target is not supplied with an ethernet
-driver, you will need to use loopback (see
-<A
-HREF="net-common-tests-and-demonstrations.html#NET-COMMON-LOOPBACK-TESTS"
->the Section called <I
->Loopback tests</I
-> in Chapter 36</A
->).</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-networking-stack-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-building-the-network-stack.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Networking Stack Features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building the Network Stack</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-freebsd-tcpip-apis.html b/doc/html/ref/tcpip-freebsd-tcpip-apis.html
deleted file mode 100644 (file)
index 66afae9..0000000
+++ /dev/null
@@ -1,208 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->APIs</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="FreeBSD TCP/IP Stack port for eCos"
-HREF="tcpip-freebsd.html"><LINK
-REL="PREVIOUS"
-TITLE="Building the Network Stack"
-HREF="tcpip-freebsd-building-the-network-stack.html"><LINK
-REL="NEXT"
-TITLE="Enhanced Select()"
-HREF="tcpip-freebsd-enhanced-select.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-building-the-network-stack.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-enhanced-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-FREEBSD-TCPIP-APIS">Chapter 41. APIs</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="tcpip-freebsd-tcpip-apis.html#TCPIP-FREEBSD-STANDARD-NETWORKING-API"
->Standard networking</A
-></DT
-><DT
-><A
-HREF="tcpip-freebsd-enhanced-select.html"
->Enhanced Select()</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-FREEBSD-STANDARD-NETWORKING-API">Standard networking</H1
-><P
->The APIs for the standard networking calls such as
-<TT
-CLASS="FUNCTION"
->socket()</TT
->, <TT
-CLASS="FUNCTION"
->recv()</TT
-> and so on, are
-in header files relative to the top-level
-include directory, within the standard subdirectories as conventionally
-found in <TT
-CLASS="FILENAME"
->/usr/include</TT
->.  For example:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> install/include/arpa/tftp.h
- install/include/netinet/tcpip.h
- install/include/sys/socket.h
- install/include/sys/socketvar.h
- install/include/sys/sockio.h</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-building-the-network-stack.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-enhanced-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building the Network Stack</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Enhanced Select()</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-freebsd.html b/doc/html/ref/tcpip-freebsd.html
deleted file mode 100644 (file)
index 015ea39..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->FreeBSD TCP/IP Stack port for eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="socketpair"
-HREF="net-common-tcpip-manpages-socketpair.html"><LINK
-REL="NEXT"
-TITLE="Networking Stack Features"
-HREF="tcpip-freebsd-networking-stack-features.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-socketpair.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-networking-stack-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="TCPIP-FREEBSD"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XI. FreeBSD TCP/IP Stack port for eCos</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN14500"><P
->        <SPAN
-CLASS="PRODUCTNAME"
->TCP/IP Networking for eCos</SPAN
->
-          now provides a complete
-         TCP/IP networking stack, 
-based on a recent snapshot of the FreeBSD code, released by the
-KAME project.
-The networking support is
-         fully featured and well tested within the eCos environment.
-       </P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->39. <A
-HREF="tcpip-freebsd-networking-stack-features.html"
->Networking Stack Features</A
-></DT
-><DT
->40. <A
-HREF="tcpip-freebsd-stack-port.html"
->Freebsd TCP/IP stack port</A
-></DT
-><DT
->41. <A
-HREF="tcpip-freebsd-tcpip-apis.html"
->APIs</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-socketpair.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-networking-stack-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->socketpair</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Networking Stack Features</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-library-reference.html b/doc/html/ref/tcpip-library-reference.html
deleted file mode 100644 (file)
index dbb05f5..0000000
+++ /dev/null
@@ -1,410 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->TCP/IP Library Reference</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="TCP/IP Stack Support for eCos"
-HREF="net-common-tcpip.html"><LINK
-REL="PREVIOUS"
-TITLE="DHCP"
-HREF="net-common-dhcp.html"><LINK
-REL="NEXT"
-TITLE="gethostname"
-HREF="net-common-tcpip-manpages-gethostname.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="net-common-dhcp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-common-tcpip-manpages-gethostname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-LIBRARY-REFERENCE">Chapter 38. TCP/IP Library Reference</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="tcpip-library-reference.html#NET-COMMON-TCPIP-MANPAGES-GETDOMAINNAME"
->getdomainname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-gethostname.html"
->gethostname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-byteorder.html"
->byteorder</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ethers.html"
->ethers</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getaddrinfo.html"
->getaddrinfo</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-gethostbyname.html"
->gethostbyname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getifaddrs.html"
->getifaddrs</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getnameinfo.html"
->getnameinfo</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getnetent.html"
->getnetent</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getprotoent.html"
->getprotoent</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getrrsetbyname.html"
->getrrsetbyname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getservent.html"
->getservent</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-if-nametoindex.html"
->if_nametoindex</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet.html"
->inet</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet6-option-space.html"
->inet6_option_space</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet6-rthdr-space.html"
->inet6_rthdr_space</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-inet-net.html"
->inet_net</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ipx.html"
->ipx</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-iso-addr.html"
->iso_addr</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-link-addr.html"
->link_addr</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-net-addrcmp.html"
->net_addrcmp</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ns.html"
->ns</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-resolver.html"
->resolver</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-accept.html"
->accept</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-bind.html"
->bind</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-connect.html"
->connect</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getpeername.html"
->getpeername</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getsockname.html"
->getsockname</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-getsockopt.html"
->getsockopt</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-ioctl.html"
->ioctl</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-poll.html"
->poll</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-select.html"
->select</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-send.html"
->send</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-shutdown.html"
->shutdown</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-socket.html"
->socket</A
-></DT
-><DT
-><A
-HREF="net-common-tcpip-manpages-socketpair.html"
->socketpair</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="NET-COMMON-TCPIP-MANPAGES-GETDOMAINNAME">getdomainname</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->GETDOMAINNAME(3)        System Library Functions Manual       GETDOMAINNAME(3)
-
-NAME
-     getdomainname, setdomainname - get/set YP domain name of current host
-
-SYNOPSIS
-     #include &lt;unistd.h&#62;
-
-     int
-     getdomainname(char *name, size_t namelen);
-
-     int
-     setdomainname(const char *name, size_t namelen);
-
-DESCRIPTION
-     The getdomainname() function returns the YP domain name for the current
-     processor, as previously set by setdomainname().  The parameter namelen
-     specifies the size of the name array.  If insufficient space is provided,
-     the returned name is truncated.  The returned name is always null termi-
-     nated.
-
-     setdomainname() sets the domain name of the host machine to be name,
-     which has length namelen.  This call is restricted to the superuser and
-     is normally used only when the system is bootstrapped.
-
-RETURN VALUES
-     If the call succeeds a value of 0 is returned.  If the call fails, a
-     value of -1 is returned and an error code is placed in the global vari-
-     able errno.
-
-ERRORS
-     The following errors may be returned by these calls:
-
-     [EFAULT]           The name or namelen parameter gave an invalid address.
-
-     [EPERM]            The caller tried to set the domain name and was not
-                        the superuser.
-
-SEE ALSO
-     domainname(1), gethostid(3), gethostname(3), sysctl(3), sysctl(8), yp(8)
-
-BUGS
-     Domain names are limited to MAXHOSTNAMELEN (from &lt;sys/param.h&#62;) charac-
-     ters, currently 256.  This includes the terminating NUL character.
-
-     If the buffer passed to getdomainname() is too small, other operating
-     systems may not guarantee termination with NUL.
-
-HISTORY
-     The getdomainname function call appeared in SunOS 3.x.
-
-BSD                               May 6, 1994                              BSD
-    </PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="net-common-dhcp.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-common-tcpip-manpages-gethostname.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->DHCP</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="net-common-tcpip.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->gethostname</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-openbsd-building-the-network-stack.html b/doc/html/ref/tcpip-openbsd-building-the-network-stack.html
deleted file mode 100644 (file)
index edc3df0..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building the Network Stack</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="OpenBSD TCP/IP stack port"
-HREF="tcpip-openbsd-stack-port.html"><LINK
-REL="PREVIOUS"
-TITLE="OpenBSD TCP/IP stack port"
-HREF="tcpip-openbsd-stack-port.html"><LINK
-REL="NEXT"
-TITLE="APIs"
-HREF="tcpip-openbsd-tcpip-apis.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-stack-port.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 43. OpenBSD TCP/IP stack port</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-tcpip-apis.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-OPENBSD-BUILDING-THE-NETWORK-STACK">Building the Network Stack</H1
-><P
->Using the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Packages</I
-></SPAN
-> dialog,
-add the packages &#8220;Networking&#8221;,
-&#8220;OpenBSD TCP/IP Stack&#8221;
-and &#8220;Common Ethernet Support&#8221;
-to your configuration.  Their package names
-are CYGPKG_NET, CYGPKG_NET_OPENBSD_STACK and CYGPKG_NET_ETH_DRIVERS
-respectively.</P
-><P
->A short-cut way to do this is by
-using the &#8220;net&#8221; <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->template</I
-></SPAN
->
-if it is available for your platform.</P
-><P
->The platform-specific ethernet device driver for your platform
-will be added as part of the target selection (in the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Templates</I
-></SPAN
-> &#8220;Hardware&#8221; item),
-along with the 
-PCI I/O subsystem (if relevent) and the appropriate serial device driver.</P
-><P
->For example, the PowerPC MBX target selection adds the package
-PKG_NET_QUICC_ETH_DRIVERS,
-and the Cirrus Logic EDB7xxx target selection adds the package
-CYGPKG_NET_EDB7XXX_ETH_DRIVERS.
-After this, eCos and its tests can be built exactly as usual.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->By default, most of the network tests are not built.  This
-is because some of them require manual intervention, i.e. they are
-to be run &#8220;by hand&#8221;, and are not suitable for
-automated testing.  To build the full set of network tests, set
-the configuration option CYGPKG_NET_BUILD_TESTS &#8220;Build
-networking tests (demo programs)&#8221; within &#8220;Networking
-support build options&#8221;.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-stack-port.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-tcpip-apis.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->OpenBSD TCP/IP stack port</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-stack-port.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->APIs</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-openbsd-enhanced-select.html b/doc/html/ref/tcpip-openbsd-enhanced-select.html
deleted file mode 100644 (file)
index ff0859c..0000000
+++ /dev/null
@@ -1,222 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Enhanced Select()</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="APIs"
-HREF="tcpip-openbsd-tcpip-apis.html"><LINK
-REL="PREVIOUS"
-TITLE="APIs"
-HREF="tcpip-openbsd-tcpip-apis.html"><LINK
-REL="NEXT"
-TITLE="DNS for eCos and RedBoot"
-HREF="net-ns-dns.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-tcpip-apis.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 44. APIs</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="net-ns-dns.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-OPENBSD-ENHANCED-SELECT">Enhanced Select()</H1
-><P
->The network stack supports an extension to the standard select
-semantics which allows all threads that are waiting to be restarted
-even if the select conditions are not satisfied.</P
-><P
->The standard select() API:  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int  
-<TT
-CLASS="FUNCTION"
->select</TT
->(int nfd,
-       fd_set &#0042;in, fd_set &#0042;out, fd_set &#0042;ex,
-       struct timeval &#0042;tv); </PRE
-></TD
-></TR
-></TABLE
-><P
->does not support the restart.</P
-><P
->The additional API:  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int  
-<TT
-CLASS="FUNCTION"
->cyg_select_with_abort</TT
->(int nfd,
-       fd_set &#0042;in, fd_set &#0042;out, fd_set &#0042;ex,
-       struct timeval &#0042;tv)</PRE
-></TD
-></TR
-></TABLE
-><P
->behaves exactly as select() with the additional feature that
-a call to</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->void <TT
-CLASS="FUNCTION"
->cyg_select_abort</TT
->(void)</PRE
-></TD
-></TR
-></TABLE
-><P
->will cause all threads waiting in any
-<TT
-CLASS="FUNCTION"
->cyg_select_with_abort()</TT
-> call
-to cease waiting and continue execution.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-tcpip-apis.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="net-ns-dns.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->APIs</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-tcpip-apis.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->DNS for eCos and RedBoot</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-openbsd-networking-stack-features.html b/doc/html/ref/tcpip-openbsd-networking-stack-features.html
deleted file mode 100644 (file)
index 88c5eb4..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Networking Stack Features</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="OpenBSD TCP/IP Stack port for eCos"
-HREF="tcpip-openbsd.html"><LINK
-REL="PREVIOUS"
-TITLE="OpenBSD TCP/IP Stack port for eCos"
-HREF="tcpip-openbsd.html"><LINK
-REL="NEXT"
-TITLE="OpenBSD TCP/IP stack port"
-HREF="tcpip-openbsd-stack-port.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-stack-port.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-OPENBSD-NETWORKING-STACK-FEATURES">Chapter 42. Networking Stack Features</H1
-><P
->Since this networking package is based on BSD code, it is
-very complete and robust.  The eCos implementation includes support
-for the following protocols:   </P
-><P
-></P
-><UL
-><LI
-><P
->IPv4</P
-></LI
-><LI
-><P
->UDP</P
-></LI
-><LI
-><P
->TCP</P
-></LI
-><LI
-><P
->ICMP</P
-></LI
-><LI
-><P
->raw packet interface</P
-></LI
-></UL
-><P
->These additional features are also present in the package,
-       but are not supported:</P
-><P
-></P
-><UL
-><LI
-><P
->Berkeley Packet Filter   </P
-></LI
-><LI
-><P
->Multi-cast and uni-cast support, including multi-casting
-routing   </P
-></LI
-><LI
-><P
->IPv6 </P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-stack-port.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->OpenBSD TCP/IP Stack port for eCos</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->OpenBSD TCP/IP stack port</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-openbsd-stack-port.html b/doc/html/ref/tcpip-openbsd-stack-port.html
deleted file mode 100644 (file)
index 69fc439..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->OpenBSD TCP/IP stack port</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="OpenBSD TCP/IP Stack port for eCos"
-HREF="tcpip-openbsd.html"><LINK
-REL="PREVIOUS"
-TITLE="Networking Stack Features"
-HREF="tcpip-openbsd-networking-stack-features.html"><LINK
-REL="NEXT"
-TITLE="Building the Network Stack"
-HREF="tcpip-openbsd-building-the-network-stack.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-networking-stack-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-building-the-network-stack.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-OPENBSD-STACK-PORT">Chapter 43. OpenBSD TCP/IP stack port</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="tcpip-openbsd-stack-port.html#TCPIP-OPENBSD-TCPIP-TARGETS"
->Targets</A
-></DT
-><DT
-><A
-HREF="tcpip-openbsd-building-the-network-stack.html"
->Building the Network Stack</A
-></DT
-></DL
-></DIV
-><P
->This document describes how to get started with the OpenBSD
-TCP/IP network stack. </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-OPENBSD-TCPIP-TARGETS">Targets</H1
-><P
->A number of ethernet devices may be supported. The default configuration
-supports two instances of the interface by default,
-and you will need to write your own driver instantiation code,
-and supplemental startup and initialization code,
-if you should add additional ones.</P
-><P
->The target for your board will normally be supplied with an
-ethernet driver, in which case including the network stack and
-generic ethernet driver package to your build will automatically
-enable usage of the ethernet device driver.
-If your target is not supplied with an ethernet
-driver, you will need to use loopback (see
-<A
-HREF="net-common-tests-and-demonstrations.html#NET-COMMON-LOOPBACK-TESTS"
->the Section called <I
->Loopback tests</I
-> in Chapter 36</A
->).</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-networking-stack-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-building-the-network-stack.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Networking Stack Features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building the Network Stack</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-openbsd-tcpip-apis.html b/doc/html/ref/tcpip-openbsd-tcpip-apis.html
deleted file mode 100644 (file)
index d6f5ad2..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->APIs</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="OpenBSD TCP/IP Stack port for eCos"
-HREF="tcpip-openbsd.html"><LINK
-REL="PREVIOUS"
-TITLE="Building the Network Stack"
-HREF="tcpip-openbsd-building-the-network-stack.html"><LINK
-REL="NEXT"
-TITLE="Enhanced Select()"
-HREF="tcpip-openbsd-enhanced-select.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-building-the-network-stack.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-enhanced-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="TCPIP-OPENBSD-TCPIP-APIS">Chapter 44. APIs</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="tcpip-openbsd-tcpip-apis.html#TCPIP-OPENBSD-STANDARD-NETWORKING-API"
->Standard networking</A
-></DT
-><DT
-><A
-HREF="tcpip-openbsd-enhanced-select.html"
->Enhanced Select()</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TCPIP-OPENBSD-STANDARD-NETWORKING-API">Standard networking</H1
-><P
->The APIs for the standard networking calls such as
-<TT
-CLASS="FUNCTION"
->socket()</TT
->, <TT
-CLASS="FUNCTION"
->recv()</TT
-> and so on, are
-in header files relative to the top-level
-include directory, within the standard subdirectories as conventionally
-found in <TT
-CLASS="FILENAME"
->/usr/include</TT
->.  For example:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> install/include/arpa/tftp.h
- install/include/netinet/tcpip.h
- install/include/sys/socket.h
- install/include/sys/socketvar.h
- install/include/sys/sockio.h</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
-><TT
-CLASS="FILENAME"
->network.h</TT
-> at the top level
-defines various extensions, for example the API
-<TT
-CLASS="FUNCTION"
->init_all_network_interfaces(void)</TT
->
-described
-above.  We advise including <TT
-CLASS="FILENAME"
->network.h</TT
-> whether
-you use these features or not.</P
-><P
->In general, using the networking code may require definition
-of two symbols: _KERNEL and __ECOS.  _KERNEL
-is not normally required; __ECOS is normally required.
-So add this to your compile lines for files which use the network
-stack:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      -D__ECOS</PRE
-></TD
-></TR
-></TABLE
-><P
->To expand a little, it&#8217;s like this because this is
-a port of a standard distribution external to Red Hat.  One goal
-is to perturb the sources as little as possible, so that upgrading
-and maintenance from the external distribution is simplified.  The __ECOS
-symbol marks out Red Hat&#8217;s additions in making the port.
-The _KERNEL symbol is traditional UNIX practice: it distinguishes
-a compilation which is to be linked into the kernel from one which
-is part of an application.  eCos applications are fully linked,
-so this distinction does not apply.  _KERNEL can however
-be used to control the visibility of the internals of the stack,
-so depending on what features your application uses, it may or may
-not be necessary.</P
-><P
->The include file <TT
-CLASS="FILENAME"
->network.h</TT
-> undefines _KERNEL
-unconditionally, to provide an application-like compilation environment.
-If you were writing code which, for example,
-enumerates the stack&#8217;s internal
-structures, that is a kernel-like compilation environment, so you
-would need to define _KERNEL (in addition to __ECOS)
-and avoid including <TT
-CLASS="FILENAME"
->network.h</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-building-the-network-stack.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-enhanced-select.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building the Network Stack</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Enhanced Select()</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip-openbsd.html b/doc/html/ref/tcpip-openbsd.html
deleted file mode 100644 (file)
index 36d5219..0000000
+++ /dev/null
@@ -1,185 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->OpenBSD TCP/IP Stack port for eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="Enhanced Select()"
-HREF="tcpip-freebsd-enhanced-select.html"><LINK
-REL="NEXT"
-TITLE="Networking Stack Features"
-HREF="tcpip-openbsd-networking-stack-features.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="tcpip-freebsd-enhanced-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="tcpip-openbsd-networking-stack-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="TCPIP-OPENBSD"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->XII. OpenBSD TCP/IP Stack port for eCos</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN14574"><P
->        <SPAN
-CLASS="PRODUCTNAME"
->TCP/IP Networking for eCos</SPAN
->
-          now provides a complete
-         TCP/IP networking stack, which is derived from a recent
-         stable release of OpenBSD. The networking support is
-         fully featured and well tested within the eCos environment.
-       </P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->42. <A
-HREF="tcpip-openbsd-networking-stack-features.html"
->Networking Stack Features</A
-></DT
-><DT
->43. <A
-HREF="tcpip-openbsd-stack-port.html"
->OpenBSD TCP/IP stack port</A
-></DT
-><DT
->44. <A
-HREF="tcpip-openbsd-tcpip-apis.html"
->APIs</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="tcpip-freebsd-enhanced-select.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="tcpip-openbsd-networking-stack-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Enhanced Select()</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Networking Stack Features</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/tcpip.png b/doc/html/ref/tcpip.png
deleted file mode 100644 (file)
index 4d3e394..0000000
Binary files a/doc/html/ref/tcpip.png and /dev/null differ
diff --git a/doc/html/ref/the-ecos-hardware-abstraction-layer.html b/doc/html/ref/the-ecos-hardware-abstraction-layer.html
deleted file mode 100644 (file)
index 6318ff5..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The eCos Hardware Abstraction Layer (HAL)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="PREVIOUS"
-TITLE="SuperH/SH4(SH7751) Hitachi Solution Engine 7751"
-HREF="se7751.html"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="hal-introduction.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="se7751.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-introduction.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="THE-ECOS-HARDWARE-ABSTRACTION-LAYER"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->III. The eCos Hardware Abstraction Layer (HAL)</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->6. <A
-HREF="hal-introduction.html"
->Introduction</A
-></DT
-><DT
->7. <A
-HREF="hal-architecture-variant-and-platform.html"
->Architecture, Variant and Platform</A
-></DT
-><DT
->8. <A
-HREF="hal-general-principles.html"
->General principles</A
-></DT
-><DT
->9. <A
-HREF="hal-interfaces.html"
->HAL Interfaces</A
-></DT
-><DT
->10. <A
-HREF="hal-exception-handling.html"
->Exception Handling</A
-></DT
-><DT
->11. <A
-HREF="hal-porting-guide.html"
->Porting Guide</A
-></DT
-><DT
->12. <A
-HREF="hal-future-developments.html"
->Future developments</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="se7751.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-introduction.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SuperH/SH4(SH7751) Hitachi Solution Engine 7751</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/updating-redboot.html b/doc/html/ref/updating-redboot.html
deleted file mode 100644 (file)
index dde397d..0000000
+++ /dev/null
@@ -1,602 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Updating RedBoot</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="RedBoot&#8482; User's Guide"
-HREF="redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="Rebuilding RedBoot"
-HREF="rebuilding-redboot.html"><LINK
-REL="NEXT"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rebuilding-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="UPDATING-REDBOOT">Chapter 4. Updating RedBoot</H1
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="AEN4752">Introduction</H1
-><P
->RedBoot
-normally resides in an EPROM or, more common these days, a flash 
-on the board. In the former case, updating RedBoot necessitates
-physically removing the part and
-reprogramming a new RedBoot image into it using prommer hardware. In
-the latter case, it is often possible to update RedBoot in situ using
-Redboot's flash management commands.</P
-><P
->The process of updating RedBoot in situ is documented in this
-section. For this process, it is assumed that the target is connected
-to a host system and that there is a serial connection giving access
-to the RedBoot CLI. For platforms with a ROMRAM mode RedBoot, skip to
-<A
-HREF="updating-redboot.html#UPDATE-PRIMARY-IMAGE"
->the Section called <I
->Update the primary RedBoot flash image</I
-></A
->.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The addresses and sizes included in the below are examples
-only, and will differ from those you will see. This is normal and
-should not cause concern.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="DIFFERENT-VERSION-FROM-RAM">Load and start a RedBoot RAM instance</H2
-><P
->There are a number of choices here. The basic case is where a RAM
-mode image has been stored in the FIS (flash Image System). To load and
-execute this image, use the commands: <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis load RedBoot[RAM]</B
-></TT
->
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->go</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-If this image is not available, or does not work,
-then an alternate RAM mode image must be loaded:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load redboot_RAM.img</B
-></TT
->
-Entry point: 0x060213c0, address range: 0x06020000-0x060369c8                   
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->go</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
->
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->This command loads the RedBoot image using the TFTP
-protocol via a network connection. Other methods of loading are
-available, refer to the <B
-CLASS="COMMAND"
-><A
-HREF="download-command.html"
->load</A
-></B
-> command for more
-details. </P
-></BLOCKQUOTE
-></DIV
->
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If you expect to be doing this more than once, it is a
-good idea to program the RAM mode image into the flash. You do this
-using the <B
-CLASS="COMMAND"
->fis create</B
-> command after having
-downloaded the RAM mode image, but before you start it.</P
-><P
->Some platforms support locking (write protecting) certain regions of
-the flash, while others do not. If your platform does not support
-locking, simply ignore the <B
-CLASS="COMMAND"
->fis unlock</B
-> and
-<B
-CLASS="COMMAND"
->fis lock</B
-> steps (the commands will not be
-recognized by RedBoot).</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis unlock RedBoot[RAM]</B
-></TT
->
-  ... Unlock from 0x00000000-0x00020000: ..
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis create RedBoot[RAM]</B
-></TT
->
-An image named 'RedBoot[RAM]' exists - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-* CAUTION * about to program 'RedBoot[RAM]'
-            at 0x00020000..0x000369c7 from 0x06020000 - continue (y/n)?<TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0x00020000-0x00040000: ..                                        
-... Program from 0x06020000-0x060369c8 at 0x00020000: ..                        
-... Erase from 0x00070000-0x00080000: .                                         
-... Program from 0x0606f000-0x0607f000 at 0x00070000: .                         
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis lock RedBoot[RAM]</B
-></TT
->
-  ... Lock from 0x00000000-0x00020000: ..</PRE
-></TD
-></TR
-></TABLE
-></P
-></BLOCKQUOTE
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="UPDATE-PRIMARY-IMAGE">Update the primary RedBoot flash image</H2
-><P
->An
-instance of RedBoot should now be running on the target from RAM. This
-can be verified by looking for the mode identifier in the banner. It
-should be either [RAM] or [ROMRAM].</P
-><P
->If this is the first time RedBoot is running on the board or if
-the flash contents has been damaged, initialize the FIS directory:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis init -f</B
-></TT
->
-About to initialize [format] FLASH image system - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-*** Initialize FLASH Image System
-... Erase from 0x00020000-0x00070000: .....
-... Erase from 0x00080000-0x00080000:
-... Erase from 0x00070000-0x00080000: .
-... Program from 0x0606f000-0x0607f000 at 0x00070000: .</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->It is important to understand that the presence of a correctly
-initialized FIS directory allows RedBoot to automatically determine
-the flash parameters. Additionally, executing the steps below as
-stated without loading other data or using other flash commands (than
-possibly <B
-CLASS="COMMAND"
->fis list</B
->) allows RedBoot to automatically
-determine the image location and size parameters. This greatly reduces
-the risk of potential critical mistakes due to typographical errors. It is
-still always possible to explicitly specify parameters, and indeed
-override these, but it is not advised.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If the new RedBoot image has grown beyond the slot in
-flash reserved for it, it is necessary to change the RedBoot
-configuration option CYGBLD_REDBOOT_MIN_IMAGE_SIZE so the FIS is
-created with adequate space reserved for RedBoot images. In this case,
-it is necessary to re-initialize the FIS directory as described above,
-using a RAM mode RedBoot compiled with the updated
-configuration.</P
-></BLOCKQUOTE
-></DIV
-><P
->Using the <B
-CLASS="COMMAND"
->load</B
-> command, download the
-new flash based image from the host, relocating the image to RAM::
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->load -r -b %{FREEMEMLO} redboot_ROM.bin</B
-></TT
->
-Raw file loaded 0x06046800-0x06062fe8, assumed entry at 0x06046800</PRE
-></TD
-></TR
-></TABLE
->
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->This command loads the RedBoot image using the TFTP
-protocol via a network connection. Other methods of loading are
-available, refer to the <A
-HREF="download-command.html"
->load</A
-> command for
-more details. </P
-></BLOCKQUOTE
-></DIV
->
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Note that the binary version of the image is being
-downloaded. This is to ensure that the memory after the image is
-loaded should match the contents of the file on the host. Loading SREC
-or ELF versions of the image does not guarantee this since these
-formats may contain holes, leaving bytes in these holes in an unknown
-state after the load, and thus causing a likely cksum difference. It
-is possible to use these, but then the step verifying the cksum below
-may fail.</P
-></BLOCKQUOTE
-></DIV
-></P
-><P
->Once the image is loaded into RAM, it should be checksummed,
-thus verifying that the image on the target is indeed the image
-intended to be loaded, and that no corruption of the image has
-happened. This is done using the <A
-HREF="cksum-command.html"
->cksum</A
->
-command:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->cksum</B
-></TT
->
-Computing cksum for area 0x06046800-0x06062fe8                                  
-POSIX cksum = 2535322412 116712 (0x971df32c 0x0001c7e8)                         </PRE
-></TD
-></TR
-></TABLE
->
-Compare the numbers with those for the binary version of the image on
-the host. If they do not match, try downloading the image again.</P
-><P
->Assuming the cksum matches, the next step is programming the
-image into flash using the FIS commands.</P
-><P
->Some platforms support locking (write protecting) certain
-regions of the flash, while others do not. If your platform does not
-support locking, simply ignore the <B
-CLASS="COMMAND"
->fis unlock</B
-> and
-<B
-CLASS="COMMAND"
->fis lock</B
-> steps (the commands will not be recognized
-by RedBoot).</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis unlock RedBoot</B
-></TT
->
-  ... Unlock from 0x00000000-0x00020000: ..
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis create RedBoot</B
-></TT
->
-An image named 'RedBoot' exists - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-* CAUTION * about to program 'RedBoot'
-            at 0x00000000..0x0001c7e7 from 0x06046800 - continue (y/n)? <TT
-CLASS="USERINPUT"
-><B
->y</B
-></TT
->
-... Erase from 0x00000000-0x00020000: ..
-... Program from 0x06046800-0x06062fe8 at 0x00000000: ..
-... Erase from 0x00070000-0x00080000: .
-... Program from 0x0606f000-0x0607f000 at 0x00070000: .
-RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->fis lock RedBoot</B
-></TT
->
-  ... Lock from 0x00000000-0x00020000: ..</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4824">Reboot; run the new RedBoot image</H2
-><P
->Once the image has been successfully written into the flash, simply
-reset the target and the new version of RedBoot should be running. </P
-><P
->When installing RedBoot for the first time, or after updating to
-a newer RedBoot with different configuration keys, it is necessary to
-update the configuration directory in the flash using the
-<B
-CLASS="COMMAND"
->fconfig</B
-> command. See <A
-HREF="persistent-state-flash.html"
->the Section called <I
->Persistent State Flash-based Configuration and Control</I
-> in Chapter 2</A
->.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rebuilding-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Rebuilding RedBoot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Installation and Testing</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-control.html b/doc/html/ref/usbs-control.html
deleted file mode 100644 (file)
index f95b25c..0000000
+++ /dev/null
@@ -1,1016 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Control Endpoints</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Halted Endpoints"
-HREF="usbs-halt.html"><LINK
-REL="NEXT"
-TITLE="Data Endpoints"
-HREF="usbs-data.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-halt.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-CONTROL">Control Endpoints</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16526"
-></A
-><H2
->Name</H2
->Control Endpoints&nbsp;--&nbsp;Control endpoint data structure</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16529"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->#include &lt;cyg/io/usb/usbs.h&gt;
-
-typedef struct usbs_control_endpoint {
-    *hellip;
-} usbs_control_endpoint;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16531"
-></A
-><H2
-><TT
-CLASS="LITERAL"
->usbs_control_endpoint</TT
-> Data Structure</H2
-><P
->The device driver for a USB slave device should supply one
-<SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-> data structure per USB
-device. This corresponds to endpoint 0 which will be used for all
-control message interaction between the host and that device. The data
-structure is also used for internal management purposes, for example
-to keep track of the current state. In a typical USB peripheral there
-will only be one such data structure in the entire system, but if
-there are multiple USB slave ports, allowing the peripheral to be
-connected to multiple hosts, then there will be a separate data
-structure for each one. The name or names of the data structures are
-determined by the device drivers. For example, the SA11x0 USB device
-driver package provides <TT
-CLASS="LITERAL"
->usbs_sa11x0_ep0</TT
->.</P
-><P
->The operations on a control endpoint do not fit cleanly into a
-conventional open/read/write I/O model. For example, when the host
-sends a control message to the USB peripheral this may be one of four
-types: standard, class, vendor and reserved. Some or all of the
-standard control messages will be handled automatically by the common
-USB slave package or by the device driver itself. Other standard
-control messages and the other types of control messages may be
-handled by a class-specific package or by application code. Although
-it would be possible to have devtab entries such as
-<TT
-CLASS="LITERAL"
->/dev/usbs_ep0/standard</TT
-> and
-<TT
-CLASS="LITERAL"
->/dev/usbs_ep0/class</TT
->, and then support read and
-write operations on these devtab entries, this would add significant
-overhead and code complexity. Instead, all of the fields in the
-control endpoint data structure are public and can be manipulated
-directly by higher level code if and when required. </P
-><P
->Control endpoints involve a number of callback functions, with
-higher-level code installing suitable function pointers in the control
-endpoint data structure. For example, if the peripheral involves
-vendor-specific control messages then a suitable handler for these
-messages should be installed. Although the exact details depend on the
-device driver, typically these callback functions will be invoked at
-DSR level rather than thread level. Therefore, only certain eCos
-functions can be invoked; specifically, those functions that are
-guaranteed not to block. If a potentially blocking function such as a
-semaphore wait or a mutex lock operation is invoked from inside the
-callback then the resulting behaviour is undefined, and the system as
-a whole may fail. In addition, if one of the callback functions
-involves significant processing effort then this may adversely affect
-the system's real time characteristics. The eCos kernel documentation
-should be consulted for more details of DSR handling.</P
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16541"
-></A
-><H3
->Initialization</H3
-><P
->The <SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-> data structure
-contains the following fields related to initialization.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct usbs_control_endpoint {
-    &#8230;
-    const usbs_enumeration_data* enumeration_data;
-    void                         (*start_fn)(usbs_control_endpoint*);
-    &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->It is the responsibility of higher-level code, usually the
-application, to define the USB enumeration data. This needs to be
-installed in the control endpoint data structure early on during
-system startup, before the USB device is actually started and any
-interaction with the host is possible. Details of the enumeration data
-are supplied in the section <A
-HREF="usbs-enum.html"
->USB Enumeration
-Data</A
->. Typically, the enumeration data is constant for a given
-peripheral, although it can be constructed dynamically if necessary.
-However, the enumeration data cannot change while the peripheral is
-connected to a host: the peripheral cannot easily claim to be a
-keyboard one second and a printer the next.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->start_fn</I
-></TT
-> member is normally accessed
-via the utility <A
-HREF="usbs-start.html"
-><TT
-CLASS="FUNCTION"
->usbs_start</TT
-></A
-> rather
-than directly. It is provided by the device driver and should be
-invoked once the system is fully initialized and interaction with the
-host is possible. A typical implementation would change the USB data
-pins from tristated to active. If the peripheral is already plugged
-into a host then the latter should detect this change and start
-interacting with the peripheral, including requesting the enumeration
-data.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16552"
-></A
-><H3
->State</H3
-><P
->There are three <SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-> fields
-related to the current state of a USB slave device, plus some state
-constants and an enumeration of the possible state changes:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct usbs_control_endpoint {
-    &#8230;
-    int     state;
-    void    (*state_change_fn)(struct usbs_control_endpoint*, void*,
-                               usbs_state_change, int);
-    void*   state_change_data;
-    &#8230;
-};
-
-#define USBS_STATE_DETACHED             0x01
-#define USBS_STATE_ATTACHED             0x02
-#define USBS_STATE_POWERED              0x03
-#define USBS_STATE_DEFAULT              0x04
-#define USBS_STATE_ADDRESSED            0x05
-#define USBS_STATE_CONFIGURED           0x06
-#define USBS_STATE_MASK                 0x7F
-#define USBS_STATE_SUSPENDED            (1 &lt;&lt; 7)
-
-typedef enum {
-    USBS_STATE_CHANGE_DETACHED          = 1,
-    USBS_STATE_CHANGE_ATTACHED          = 2,
-    USBS_STATE_CHANGE_POWERED           = 3,
-    USBS_STATE_CHANGE_RESET             = 4,    
-    USBS_STATE_CHANGE_ADDRESSED         = 5,
-    USBS_STATE_CHANGE_CONFIGURED        = 6,
-    USBS_STATE_CHANGE_DECONFIGURED      = 7,    
-    USBS_STATE_CHANGE_SUSPENDED         = 8,
-    USBS_STATE_CHANGE_RESUMED           = 9
-} usbs_state_change;</PRE
-></TD
-></TR
-></TABLE
-><P
->The USB standard defines a number of states for a given USB
-peripheral. The initial state is <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->detached</I
-></SPAN
->, where
-the peripheral is either not connected to a host at all or, from the
-host's perspective, the peripheral has not started up yet because the
-relevant pins are tristated. The peripheral then moves via
-intermediate <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->attached</I
-></SPAN
-> and
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->powered</I
-></SPAN
-> states to its default or
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->reset</I
-></SPAN
-> state, at which point the host and
-peripheral can actually start exchanging data. The first message is
-from host to peripheral and provides a unique 7-bit address within the
-local USB network, resulting in a state change to
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->addressed</I
-></SPAN
->. The host then requests enumeration
-data and performs other initialization. If everything succeeds the
-host sends a standard set-configuration control message, after which
-the peripheral is <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->configured</I
-></SPAN
-> and expected to be
-up and running. Note that some USB device drivers may be unable to
-distinguish between the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->detached</I
-></SPAN
->,
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->attached</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->powered</I
-></SPAN
-> states
-but generally this is not important to higher-level code.</P
-><P
->A USB host should generate at least one token every millisecond. If a
-peripheral fails to detect any USB traffic for a period of time then
-typically this indicates that the host has entered a power-saving
-mode, and the peripheral should do the same if possible. This
-corresponds to the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->suspended</I
-></SPAN
-> bit. The actual
-state is a combination of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->suspended</I
-></SPAN
-> and the
-previous state, for example <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->configured</I
-></SPAN
-> and
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->suspended</I
-></SPAN
-> rather than just
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->suspended</I
-></SPAN
->. When the peripheral subsequently
-detects USB traffic it would switch back to the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->configured</I
-></SPAN
-> state.</P
-><P
->The USB device driver and the common USB slave package will maintain
-the current state in the control endpoint's
-<TT
-CLASS="STRUCTFIELD"
-><I
->state</I
-></TT
-> field. There should be no need for
-any other code to change this field, but it can be examined whenever
-appropriate. In addition whenever a state change occurs the generic
-code can invoke a state change callback function. By default, no such
-callback function will be installed. Some class-specific packages such
-as the USB-ethernet package will install a suitable function to keep
-track of whether or not the host-peripheral connection is up, that is
-whether or not ethernet packets can be exchanged. Application code can
-also update this field. If multiple parties want to be informed of
-state changes, for example both a class-specific package and
-application code, then typically the application code will install its
-state change handler after the class-specific package and is
-responsible for chaining into the package's handler.</P
-><P
->The state change callback function is invoked with four arguments. The
-first identifies the control endpoint. The second is an arbitrary
-pointer: higher-level code can fill in the
-<TT
-CLASS="STRUCTFIELD"
-><I
->state_change_data</I
-></TT
-> field to set this. The
-third argument specifies the state change that has occurred, and the
-last argument supplies the previous state (the new state is readily
-available from the control endpoint structure).</P
-><P
->eCos does not provide any utility functions for updating or examining
-the <TT
-CLASS="STRUCTFIELD"
-><I
->state_change_fn</I
-></TT
-> or
-<TT
-CLASS="STRUCTFIELD"
-><I
->state_change_data</I
-></TT
-> fields. Instead, it is
-expected that the fields in the
-<SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-> data structure will be
-manipulated directly. Any utility functions would do just this, but
-at the cost of increased code and cpu overheads.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16582"
-></A
-><H3
->Standard Control Messages</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct usbs_control_endpoint {
-    &#8230;
-    unsigned char       control_buffer[8];
-    usbs_control_return (*standard_control_fn)(struct usbs_control_endpoint*, void*);
-    void*               standard_control_data;
-    &#8230;
-} usbs_control_endpoint;
-
-typedef enum {
-    USBS_CONTROL_RETURN_HANDLED = 0,
-    USBS_CONTROL_RETURN_UNKNOWN = 1,
-    USBS_CONTROL_RETURN_STALL   = 2
-} usbs_control_return;
-
-extern usbs_control_return usbs_handle_standard_control(struct usbs_control_endpoint*);</PRE
-></TD
-></TR
-></TABLE
-><P
->When a USB peripheral is connected to the host it must always respond
-to control messages sent to endpoint 0. Control messages always
-consist of an initial eight-byte header, containing fields such as a
-request type. This may be followed by a further data transfer, either
-from host to peripheral or from peripheral to host. The way this is
-handled is described in the <A
-HREF="usbs-control.html#AEN16615"
->Buffer Management</A
-> section below.</P
-><P
->The USB device driver will always accept the initial eight-byte
-header, storing it in the <TT
-CLASS="STRUCTFIELD"
-><I
->control_buffer</I
-></TT
->
-field. Then it determines the request type: standard, class, vendor,
-or reserved. The way in which the last three of these are processed is
-described in the section <A
-HREF="usbs-control.html#AEN16607"
->Other
-Control Messages</A
->. Some
-standard control messages will be handled by the device driver itself;
-typically the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->set-address</I
-></SPAN
-> request and the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->get-status</I
-></SPAN
->, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->set-feature</I
-></SPAN
-> and
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->clear-feature</I
-></SPAN
-> requests when applied to endpoints.</P
-><P
->If a standard control message cannot be handled by the device driver
-itself, the driver checks the
-<TT
-CLASS="STRUCTFIELD"
-><I
->standard_control_fn</I
-></TT
-> field in the control
-endpoint data structure. If higher-level code has installed a suitable
-callback function then this will be invoked with two argument, the
-control endpoint data structure itself and the
-<TT
-CLASS="STRUCTFIELD"
-><I
->standard_control_data</I
-></TT
-> field. The latter
-allows the higher level code to associate arbitrary data with the
-control endpoint. The callback function can return one of three
-values: <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->HANDLED</I
-></SPAN
-> to indicate that the request has
-been processed; <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->UNKNOWN</I
-></SPAN
-> if the message should be
-handled by the default code; or <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->STALL</I
-></SPAN
-> to indicate
-an error condition. If higher level code has not installed a callback
-function or if the callback function has returned
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->UNKNOWN</I
-></SPAN
-> then the device driver will invoke a
-default handler, <TT
-CLASS="FUNCTION"
->usbs_handle_standard_control</TT
->
-provided by the common USB slave package.</P
-><P
->The default handler can cope with all of the standard control messages
-for a simple USB peripheral. However, if the peripheral involves
-multiple configurations, multiple interfaces in a configuration, or
-alternate settings for an interface, then this cannot be handled by
-generic code. For example, a multimedia peripheral may support various
-alternate settings for a given data source with different bandwidth
-requirements, and the host can select a setting that takes into
-account the current load. Clearly higher-level code needs to be aware
-when the host changes the current setting, so that it can adjust the
-rate at which data is fed to or retrieved from the host. Therefore the
-higher-level code needs to install its own standard control callback
-and process appropriate messages, rather than leaving these to the
-default handler.</P
-><P
->The default handler will take care of the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->get-descriptor</I
-></SPAN
-> request used to obtain the
-enumeration data. It has support for string descriptors but ignores
-language encoding issues. If language encoding is important for the
-peripheral then this will have to be handled by an
-application-specific standard control handler.</P
-><P
->The header file <TT
-CLASS="FILENAME"
->&lt;cyg/io/usb/usb.h&gt;</TT
-> defines various
-constants related to control messages, for example the function codes
-corresponding to the standard request types. This header file is
-provided by the common USB package, not by the USB slave package,
-since the information is also relevant to USB hosts.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16607"
-></A
-><H3
->Other Control Messages</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct usbs_control_endpoint {
-    &#8230;
-    usbs_control_return (*class_control_fn)(struct usbs_control_endpoint*, void*);
-    void*               class_control_data;
-    usbs_control_return (*vendor_control_fn)(struct usbs_control_endpoint*, void*);
-    void*               vendor_control_data;
-    usbs_control_return (*reserved_control_fn)(struct usbs_control_endpoint*, void*);
-    void*               reserved_control_data;
-    &#8230;
-} usbs_control_endpoint;</PRE
-></TD
-></TR
-></TABLE
-><P
->Non-standard control messages always have to be processed by
-higher-level code. This could be class-specific packages. For example,
-the USB-ethernet package will handle requests for getting the MAC
-address and for enabling or disabling promiscuous mode. In all cases
-the device driver will store the initial request in the
-<TT
-CLASS="STRUCTFIELD"
-><I
->control_buffer</I
-></TT
-> field, check for an
-appropriate handler, and invoke it with details of the control
-endpoint and any handler-specific data that has been installed
-alongside the handler itself. The handler should return either
-<TT
-CLASS="LITERAL"
->USBS_CONTROL_RETURN_HANDLED</TT
-> to report success or
-<TT
-CLASS="LITERAL"
->USBS_CONTROL_RETURN_STALL</TT
-> to report failure. The
-device driver will report this to the host.</P
-><P
->If there are multiple parties interested in a particular type of
-control messages, it is the responsibility of application code to
-install an appropriate handler and process the requests appropriately. </P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16615"
-></A
-><H3
->Buffer Management</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct usbs_control_endpoint {
-    &#8230;
-    unsigned char*      buffer;
-    int                 buffer_size;
-    void                (*fill_buffer_fn)(struct usbs_control_endpoint*);
-    void*               fill_data;
-    int                 fill_index;
-    usbs_control_return (*complete_fn)(struct usbs_control_endpoint*, int);
-    &#8230;
-} usbs_control_endpoint;</PRE
-></TD
-></TR
-></TABLE
-><P
->Many USB control messages involve transferring more data than just the
-initial eight-byte header. The header indicates the direction of the
-transfer, OUT for host to peripheral or IN for peripheral to host.
-It also specifies a length field, which is exact for an OUT transfer
-or an upper bound for an IN transfer. Control message handlers can
-manipulate six fields within the control endpoint data structure to
-ensure that the transfer happens correctly.</P
-><P
->For an OUT transfer, the handler should examine the length field in
-the header and provide a single buffer for all the data. A
-class-specific protocol would typically impose an upper bound on the
-amount of data, allowing the buffer to be allocated statically.
-The handler should update the <TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_fn</I
-></TT
-> fields. When all the data has
-been transferred the completion callback will be invoked, and its
-return value determines the response sent back to the host. The USB
-standard allows for a new control message to be sent before the
-current transfer has completed, effectively cancelling the current
-operation. When this happens the completion function will also be
-invoked. The second argument to the completion function specifies what
-has happened, with a value of 0 indicating success and an error code
-such as <TT
-CLASS="LITERAL"
->-EPIPE</TT
-> or <TT
-CLASS="LITERAL"
->-EIO</TT
->
-indicating that the current transfer has been cancelled.</P
-><P
->IN transfers are a little bit more complicated. The required
-information, for example the enumeration data, may not be in a single
-contiguous buffer. Instead a mechanism is provided by which the buffer
-can be refilled, thus allowing the transfer to move from one record to
-the next. Essentially, the transfer operates as follows:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->When the host requests another chunk of data (typically eight bytes),
-the USB device driver will examine the
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> field. If non-zero then
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> contains at least one more byte of
-data, and then <TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> is decremented.</P
-></LI
-><LI
-><P
->When <TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> has dropped to 0, the
-<TT
-CLASS="STRUCTFIELD"
-><I
->fill_buffer_fn</I
-></TT
-> field will be examined. If
-non-null it will be invoked to refill the buffer.</P
-></LI
-><LI
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->fill_data</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->fill_index</I
-></TT
-> fields are not used by the
-device driver. Instead these fields are available to the refill
-function to keep track of the current state of the transfer.</P
-></LI
-><LI
-><P
->When <TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> is 0 and
-<TT
-CLASS="STRUCTFIELD"
-><I
->fill_buffer_fn</I
-></TT
-> is NULL, no more data is
-available and the transfer has completed.</P
-></LI
-><LI
-><P
->Optionally a completion function can be installed. This will be
-invoked with 0 if the transfer completes successfully, or with an
-error code if the transfer is cancelled because of another control
-messsage. </P
-></LI
-></OL
-><P
->If the requested data is contiguous then the only fields that need
-to be manipulated are <TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
->, and optionally
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_fn</I
-></TT
->. If the requested data is not
-contiguous then the initial control message handler should update
-<TT
-CLASS="STRUCTFIELD"
-><I
->fill_buffer_fn</I
-></TT
-> and some or all of the other
-fields, as required. An example of this is the handling of the
-standard <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->get-descriptor</I
-></SPAN
-> control message by
-<TT
-CLASS="FUNCTION"
->usbs_handle_standard_control</TT
->.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16652"
-></A
-><H3
->Polling Support</H3
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->typedef struct usbs_control_endpoint {
-    void                (*poll_fn)(struct usbs_control_endpoint*);
-    int                 interrupt_vector;
-    &#8230;
-} usbs_control_endpoint;</PRE
-></TD
-></TR
-></TABLE
-><P
->In nearly all circumstances USB I/O should be interrupt-driven.
-However, there are special environments such as RedBoot where polled
-operation may be appropriate. If the device driver can operate in
-polled mode then it will provide a suitable function via the
-<TT
-CLASS="STRUCTFIELD"
-><I
->poll_fn</I
-></TT
-> field, and higher-level code can
-invoke this regularly. This polling function will take care of all
-endpoints associated with the device, not just the control endpoint.
-If the USB hardware involves a single interrupt vector then this will
-be identified in the data structure as well.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-halt.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Halted Endpoints</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Data Endpoints</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-data.html b/doc/html/ref/usbs-data.html
deleted file mode 100644 (file)
index 2b880a2..0000000
+++ /dev/null
@@ -1,384 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Data Endpoints</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Control Endpoints"
-HREF="usbs-control.html"><LINK
-REL="NEXT"
-TITLE="Writing a USB Device Driver"
-HREF="usbs-writing.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-writing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-DATA">Data Endpoints</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16660"
-></A
-><H2
->Name</H2
->Data Endpoints&nbsp;--&nbsp;Data endpoint data structures</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16663"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->#include &lt;cyg/io/usb/usbs.h&gt;
-
-typedef struct usbs_rx_endpoint {
-    void                 (*start_rx_fn)(struct usbs_rx_endpoint*);
-    void                 (*set_halted_fn)(struct usbs_rx_endpoint*, cyg_bool);
-    void                 (*complete_fn)(void*, int);
-    void*                complete_data;
-    unsigned char*       buffer;
-    int                  buffer_size;
-    cyg_bool             halted;
-} usbs_rx_endpoint;
-
-typedef struct usbs_tx_endpoint {
-    void                 (*start_tx_fn)(struct usbs_tx_endpoint*);
-    void                 (*set_halted_fn)(struct usbs_tx_endpoint*, cyg_bool);
-    void                 (*complete_fn)(void*, int);
-    void*                complete_data;
-    const unsigned char* buffer;
-    int                  buffer_size;
-    cyg_bool             halted;
-} usbs_tx_endpoint;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16665"
-></A
-><H2
->Receive and Transmit Data Structures</H2
-><P
->In addition to a single <SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
->
-data structure per USB slave device, the USB device driver should also
-provide receive and transmit data structures corresponding to the
-other endpoints. The names of these are determined by the device
-driver. For example, the SA1110 USB device driver package provides
-<TT
-CLASS="LITERAL"
->usbs_sa11x0_ep1</TT
-> for receives and
-<TT
-CLASS="LITERAL"
->usbs_sa11x0_ep2</TT
-> for transmits.</P
-><P
->Unlike control endpoints, the common USB slave package does provide a
-number of utility routines to manipulate data endpoints. For example
-<A
-HREF="usbs-start-rx.html"
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-></A
->
-can be used to receive data from the host into a buffer. In addition
-the USB device driver can provide devtab entries such as
-<TT
-CLASS="LITERAL"
->/dev/usbs1r</TT
-> and <TT
-CLASS="LITERAL"
->/dev/usbs2w</TT
->, so
-higher-level code can <TT
-CLASS="FUNCTION"
->open</TT
-> these devices and then
-perform blocking <TT
-CLASS="FUNCTION"
->read</TT
-> and
-<TT
-CLASS="FUNCTION"
->write</TT
-> operations.</P
-><P
->However, the operation of data endpoints and the various
-endpoint-related functions is relatively straightforward. First
-consider a <SPAN
-CLASS="STRUCTNAME"
->usbs_rx_endpoint</SPAN
-> structure. The
-device driver will provide the members
-<TT
-CLASS="STRUCTFIELD"
-><I
->start_rx_fn</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->set_halted_fn</I
-></TT
->, and it will maintain the
-<TT
-CLASS="STRUCTFIELD"
-><I
->halted</I
-></TT
-> field. To receive data, higher-level
-code sets the <TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_fn</I
-></TT
-> and optionally the
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_data</I
-></TT
-> fields. Next the
-<TT
-CLASS="STRUCTFIELD"
-><I
->start_rx_fn</I
-></TT
-> member should be called. When
-the transfer has finished the device driver will invoke the completion
-function, using <TT
-CLASS="STRUCTFIELD"
-><I
->complete_data</I
-></TT
-> as the first
-argument and a size field for the second argument. A negative size
-indicates an error of some sort: <TT
-CLASS="LITERAL"
->-EGAIN</TT
-> indicates
-that the endpoint has been halted, usually at the request of the host;
-<TT
-CLASS="LITERAL"
->-EPIPE</TT
-> indicates that the connection between the
-host and the peripheral has been broken. Certain device drivers may
-generate other error codes.</P
-><P
->If higher-level code needs to halt or unhalt an endpoint then it can
-invoke the <TT
-CLASS="STRUCTFIELD"
-><I
->set_halted_fn</I
-></TT
-> member. When an
-endpoint is halted, invoking <TT
-CLASS="STRUCTFIELD"
-><I
->start_rx_fn</I
-></TT
->
-wit <TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> set to 0 indicates that
-higher-level code wants to block until the endpoint is no longer
-halted; at that point the completion function will be invoked.</P
-><P
->USB device drivers are allowed to assume that higher-level protocols
-ensure that host and peripheral agree on the amount of data that will
-be transferred, or at least on an upper bound. Therefore there is no
-need for the device driver to maintain its own buffers, and copy
-operations are avoided. If the host sends more data than expected then
-the resulting behaviour is undefined.</P
-><P
->Transmit endpoints work in essentially the same way as receive
-endpoints. Higher-level code should set the
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> fields to point at the data to
-be transferred, then call <TT
-CLASS="STRUCTFIELD"
-><I
->start_tx_fn</I
-></TT
->, and
-the device driver will invoked the completion function when the
-transfer has completed.</P
-><P
->USB device drivers are not expected to perform any locking. If at any
-time there are two concurrent receive operations for a given endpoint,
-or two concurrent transmit operations, then the resulting behaviour is
-undefined. It is the responsibility of higher-level code to perform
-any synchronisation that may be necessary. In practice, conflicts are
-unlikely because typically a given endpoint will only be accessed
-sequentially by just one part of the overall system.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-writing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Control Endpoints</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Writing a USB Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-devtab.html b/doc/html/ref/usbs-devtab.html
deleted file mode 100644 (file)
index d880da5..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Devtab Entries</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Starting up a USB Device"
-HREF="usbs-start.html"><LINK
-REL="NEXT"
-TITLE="Receiving Data from the Host"
-HREF="usbs-start-rx.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-start.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-start-rx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-DEVTAB">Devtab Entries</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16237"
-></A
-><H2
->Name</H2
->Devtab Entries&nbsp;--&nbsp;Data endpoint data structure</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16240"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->/dev/usb0c
-/dev/usb1r
-/dev/usb2w</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16242"
-></A
-><H2
->Devtab Entries</H2
-><P
->USB device drivers provide two ways of transferring data between host
-and peripheral. The first involves USB-specific functionality such as
-<A
-HREF="usbs-start-rx.html"
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-></A
->.
-This provides non-blocking I/O: a transfer is started, and some time
-later the device driver will call a supplied completion function. The
-second uses the conventional I/O model: there are entries in the
-device table corresponding to the various endpoints. Standard calls
-such as <TT
-CLASS="FUNCTION"
->open</TT
-> can then be used to get a suitable
-handle. Actual I/O happens via blocking <TT
-CLASS="FUNCTION"
->read</TT
-> and
-<TT
-CLASS="FUNCTION"
->write</TT
-> calls. In practice the blocking operations
-are simply implemented using the underlying non-blocking
-functionality.</P
-><P
->Each endpoint will have its own devtab entry. The exact names are
-controlled by the device driver package, but typically the root will
-be <TT
-CLASS="LITERAL"
->/dev/usb</TT
->. This is followed by one or more
-decimal digits giving the endpoint number, followed by
-<TT
-CLASS="LITERAL"
->c</TT
-> for a control endpoint, <TT
-CLASS="LITERAL"
->r</TT
-> for
-a receive endpoint (host to peripheral), and <TT
-CLASS="LITERAL"
->w</TT
-> for
-a transmit endpoint (peripheral to host). If the target hardware
-involves more than one USB device then different roots should be used,
-for example <TT
-CLASS="LITERAL"
->/dev/usb0c</TT
-> and
-<TT
-CLASS="LITERAL"
->/dev/usb1_0c</TT
->. This may require explicit
-manipulation of device driver configuration options by the application
-developer.</P
-><P
->At present the devtab entry for a control endpoint does not support
-any I/O operations. </P
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16258"
-></A
-><H3
-><TT
-CLASS="FUNCTION"
->write</TT
-> operations</H3
-><P
-><TT
-CLASS="FUNCTION"
->cyg_io_write</TT
-> and similar functions in
-higher-level packages can be used to perform a transfer from
-peripheral to host. Successive write operations will not be coalesced.
-For example, when doing a 1000 byte write to an endpoint that uses the
-bulk transfer protocol this will involve 15 full-size 64-byte packets
-and a terminating 40-byte packet. USB device drivers are not expected
-to do any locking, and if higher-level code performs multiple
-concurrent write operations on a single endpoint then the resulting
-behaviour is undefined.</P
-><P
->A USB <TT
-CLASS="FUNCTION"
->write</TT
-> operation will never transfer less
-data than specified. It is the responsibility of higher-level code to
-ensure that the amount of data being transferred is acceptable to the
-host-side code. Usually this will be defined by a higher-level
-protocol. If an attempt is made to transfer more data than the host
-expects then the resulting behaviour is undefined.</P
-><P
->There are two likely error conditions. <TT
-CLASS="LITERAL"
->EPIPE</TT
->
-indicates that the connection between host and target has been broken.
-<TT
-CLASS="LITERAL"
->EAGAIN</TT
-> indicates that the endpoint has been
-stalled, either at the request of the host or by other activity
-inside the peripheral.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16268"
-></A
-><H3
-><TT
-CLASS="FUNCTION"
->read</TT
-> operations</H3
-><P
-><TT
-CLASS="FUNCTION"
->cyg_io_read</TT
-> and similar functions in higher-level
-packages can be used to perform a transfer from host to peripheral.
-This should be a complete transfer: higher-level protocols should
-define an upper bound on the amount of data being transferred, and the
-<TT
-CLASS="FUNCTION"
->read</TT
-> operation should involve at least this
-amount of data. The return value will indicate the actual transfer
-size, which may be less than requested.</P
-><P
->Some device drivers may support partial reads, but USB device drivers
-are not expected to perform any buffering because that involves both
-memory and code overheads. One technique that may work for bulk
-transfers is to exploit the fact that such transfers happen in 64-byte
-packets. It is possible to <TT
-CLASS="FUNCTION"
->read</TT
-> an initial 64
-bytes, corresponding to the first packet in the transfer. These 64
-bytes can then be examined to determine the total transfer size, and
-the remaining data can be transferred in another
-<TT
-CLASS="FUNCTION"
->read</TT
-> operation. This technique is not guaranteed
-to work with all USB hardware. Also, if the delay between accepting
-the first packet and the remainder of the transfer is excessive then
-this could cause timeout problems for the host-side software. For
-these reasons the use of partial reads should be avoided.</P
-><P
->There are two likely error conditions. <TT
-CLASS="LITERAL"
->EPIPE</TT
->
-indicates that the connection between host and target has been broken.
-<TT
-CLASS="LITERAL"
->EAGAIN</TT
-> indicates that the endpoint has been
-stalled, either at the request of the host or by other activity
-inside the peripheral.</P
-><P
->USB device drivers are not expected to do any locking. If higher-level
-code performs multiple concurrent read operations on a single endpoint
-then the resulting behaviour is undefined.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16281"
-></A
-><H3
-><TT
-CLASS="FUNCTION"
->select</TT
-> operations</H3
-><P
->Typical USB device drivers will not provide any support for
-<TT
-CLASS="FUNCTION"
->select</TT
->. Consider bulk transfers from the host to
-the peripheral. At the USB device driver level there is no way of
-knowing in advance how large a transfer will be, so it is not feasible
-for the device driver to buffer the entire transfer. It may be
-possible to buffer part of the transfer, for example the first 64-byte
-packet, and copy this into application space at the start of a
-<TT
-CLASS="FUNCTION"
->read</TT
->, but this adds code and memory overheads.
-Worse, it means that there is an unknown but potentially long delay
-between a peripheral accepting the first packet of a transfer and the
-remaining packets, which could confuse or upset the host-side
-software.</P
-><P
->With some USB hardware it may be possible for the device driver to
-detect OUT tokens from the host without actually accepting the data,
-and this would indicate that a  <TT
-CLASS="FUNCTION"
->read</TT
-> is likely to
-succeed. However, it would not be reliable since the host-side I/O
-operation could time out. A similar mechanism could be used to
-implement <TT
-CLASS="FUNCTION"
->select</TT
-> for outgoing data, but again
-this would not be reliable.</P
-><P
->Some device drivers may provide partial support for
-<TT
-CLASS="FUNCTION"
->select</TT
-> anyway, possibly under the control of a
-configuration option. The device driver's documentation should be
-consulted for further information. It is also worth noting that the
-USB-specific non-blocking API can often be used as an alternative to
-<TT
-CLASS="FUNCTION"
->select</TT
->.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16293"
-></A
-><H3
-><TT
-CLASS="FUNCTION"
->get_config</TT
-> and
-<TT
-CLASS="FUNCTION"
->set_config</TT
-> operations</H3
-><P
->There are no <TT
-CLASS="FUNCTION"
->set_config</TT
-> or
-<TT
-CLASS="FUNCTION"
->get_config</TT
-> (also known as
-<TT
-CLASS="FUNCTION"
->ioctl</TT
->) operations defined for USB devices.
-Some device drivers may provide hardware-specific facilities this way. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Currently the USB-specific functions related to <A
-HREF="usbs-halt.html"
->halted endpoints</A
-> cannot be accessed readily
-via devtab entries. This functionality should probably be made
-available via <TT
-CLASS="FUNCTION"
->set_config</TT
-> and
-<TT
-CLASS="FUNCTION"
->get_config</TT
->. It may also prove useful to provide
-a <TT
-CLASS="FUNCTION"
->get_config</TT
-> operation that maps from the
-devtab entries to the underlying endpoint data structures.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16307"
-></A
-><H3
->Presence</H3
-><P
->The devtab entries are optional. If the USB device is accessed
-primarily by class-specific code such as the USB-ethernet package and
-that package uses the USB-specific API directly, the devtab entries
-are redundant. Even if application code does need to access the USB
-device, the non-blocking API may be more convenient than the blocking
-I/O provided via the devtab entries. In these cases the devtab entries
-serve no useful purpose, but they still impose a memory overhead. It
-is possible to suppress the presence of these entries by disabling the
-configuration option
-<TT
-CLASS="LITERAL"
->CYGGLO_IO_USB_SLAVE_PROVIDE_DEVTAB_ENTRIES</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-start.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-start-rx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Starting up a USB Device</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Receiving Data from the Host</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-enum.html b/doc/html/ref/usbs-enum.html
deleted file mode 100644 (file)
index 416986b..0000000
+++ /dev/null
@@ -1,841 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->USB Enumeration Data</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="usbs-intro.html"><LINK
-REL="NEXT"
-TITLE="Starting up a USB Device"
-HREF="usbs-start.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-start.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-ENUM">USB Enumeration Data</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16105"
-></A
-><H2
->Name</H2
->Enumeration Data&nbsp;--&nbsp;The USB enumeration data structures</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16108"><H2
->Synopsis</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SYNOPSIS"
->#include &lt;cyg/io/usb/usb.h&gt;
-#include &lt;cyg/io/usb/usbs.h&gt;
-
-typedef struct usb_device_descriptor {
-    &#8230;
-} usb_device_descriptor __attribute__((packed));
-
-typedef struct usb_configuration_descriptor {
-    &#8230;
-} usb_configuration_descriptor __attribute__((packed));
-
-typedef struct usb_interface_descriptor {
-    &#8230;
-} usb_interface_descriptor __attribute__((packed));        
-
-typedef struct usb_endpoint_descriptor {
-    &#8230;
-} usb_endpoint_descriptor;
-
-typedef struct usbs_enumeration_data {
-    usb_device_descriptor               device;
-    int                                 total_number_interfaces;
-    int                                 total_number_endpoints;
-    int                                 total_number_strings;
-    const usb_configuration_descriptor* configurations;
-    const usb_interface_descriptor*     interfaces;
-    const usb_endpoint_descriptor*      endpoints;
-    const unsigned char**               strings;
-} usbs_enumeration_data;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16110"
-></A
-><H2
->USB Enumeration Data</H2
-><P
->When a USB host detects that a peripheral has been plugged in or
-powered up, one of the first steps is to ask the peripheral to
-describe itself by supplying enumeration data. Some of this data
-depends on the class of peripheral. Other fields are vendor-specific.
-There is also a dependency on the hardware, specifically which
-endpoints are available should be used. In general it is not possible
-for generic code to provide this information, so it is the
-responsibility of application code to provide a suitable
-<SPAN
-CLASS="STRUCTNAME"
->usbs_enumeration_data</SPAN
-> data structure and
-install it in the endpoint 0 data structure during initialization.
-This must happen before the USB device is enabled by a call to
-<TT
-CLASS="FUNCTION"
->usbs_start</TT
->, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const usbs_enumeration_data usb_enum_data = {
-    &#8230;
-};
-
-int
-main(int argc, char** argv)
-{
-    usbs_sa11x0_ep0.enumeration_data = &amp;usb_enum_data;
-    &#8230;
-    usbs_start(&amp;usbs_sa11x0_ep0);
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->For most applications the enumeration data will be static, although
-the <SPAN
-CLASS="STRUCTNAME"
->usbs_enumeration_data</SPAN
-> structure can be
-filled in at run-time if necessary. Full details of the enumeration
-data can be found in the Universal Serial Bus specification obtainable
-from the <A
-HREF="http://www.usb.org/"
-TARGET="_top"
->USB Implementers Forum web
-site</A
->, although the meaning of most fields is fairly obvious.
-The various data structures and utility macros are defined in the
-header files <TT
-CLASS="FILENAME"
->cyg/io/usb/usb.h</TT
->
-and <TT
-CLASS="FILENAME"
->cyg/io/usb/usbs.h</TT
->. Note
-that the example code below makes use of the gcc labelled element
-extension.</P
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16121"
-></A
-><H3
-><SPAN
-CLASS="STRUCTNAME"
->usb_device_descriptor</SPAN
-></H3
-><P
->The main information about a USB peripheral comes from a single
-<SPAN
-CLASS="STRUCTNAME"
->usb_device_descriptor</SPAN
-> structure, which is
-embedded in the <SPAN
-CLASS="STRUCTNAME"
->usbs_enumeration_data</SPAN
->
-structure. A typical example might look like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const usbs_enumeration_data usb_enum_data = {
-    {
-        length:                 USB_DEVICE_DESCRIPTOR_LENGTH,
-        type:                   USB_DEVICE_DESCRIPTOR_TYPE,
-        usb_spec_lo:            USB_DEVICE_DESCRIPTOR_USB11_LO,
-        usb_spec_hi:            USB_DEVICE_DESCRIPTOR_USB11_HI,
-        device_class:           USB_DEVICE_DESCRIPTOR_CLASS_VENDOR,
-        device_subclass:        USB_DEVICE_DESCRIPTOR_SUBCLASS_VENDOR,
-        device_protocol:        USB_DEVICE_DESCRIPTOR_PROTOCOL_VENDOR,
-        max_packet_size:        8,
-        vendor_lo:              0x42,
-        vendor_hi:              0x42,
-        product_lo:             0x42,
-        product_hi:             0x42,
-        device_lo:              0x00,
-        device_hi:              0x01,
-        manufacturer_str:       1,
-        product_str:            2,
-        serial_number_str:      0,
-        number_configurations:  1
-    },
-    &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The length and type fields are specified by the USB standard. The
-<TT
-CLASS="STRUCTFIELD"
-><I
->usb_spec_lo</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->usb_spec_hi</I
-></TT
-> fields identify the particular
-revision of the standard that the peripheral implements, for example
-revision 1.1.</P
-><P
->The device class, subclass, and protocol fields are used by generic
-host-side USB software to determine which host-side device driver
-should be loaded to interact with the peripheral. A number of standard
-classes are defined, for example mass-storage devices and
-human-interface devices. If a peripheral implements one of the
-standard classes then a standard existing host-side device driver may
-exist, eliminating the need to write a custom driver. The value
-<TT
-CLASS="LITERAL"
->0xFF</TT
-> (<TT
-CLASS="LITERAL"
->VENDOR</TT
->) is reserved for
-peripherals that implement a vendor-specific protocol rather than a
-standard one. Such peripherals will require a custom host-side device
-driver. The value <TT
-CLASS="LITERAL"
->0x00</TT
->
-(<TT
-CLASS="LITERAL"
->INTERFACE</TT
->) is reserved and indicates that the
-protocol used by the peripheral is defined at the interface level
-rather than for the peripheral as a whole.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->max_package_size</I
-></TT
-> field specifies the
-maximum length of a control message. There is a lower bound of eight
-bytes, and typical hardware will not support anything larger because
-control messages are usually small and not performance-critical.</P
-><P
->The <TT
-CLASS="STRUCTFIELD"
-><I
->vendor_lo</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->vendor_hi</I
-></TT
-> fields specify a vendor id, which
-must be obtained from the USB Implementor's Forum. The numbers used in
-the code fragment above are examples only and must not be used in real
-USB peripherals. The product identifier is determined by the vendor,
-and different USB peripherals should use different identifiers. The
-device identifier field should indicate a release number in
-binary-coded decimal.</P
-><P
->The above fields are all numerical in nature. A USB peripheral can
-also provide a number of strings as described <A
-HREF="usbs-enum.html#AEN16196"
->below</A
->, for example the name of the
-vendor can be provided. The various <TT
-CLASS="STRUCTFIELD"
-><I
->_str</I
-></TT
->
-fields act as indices into an array of strings, with index 0
-indicating that no string is available. </P
-><P
->A typical USB peripheral involves just a single configuration. However
-more complicated peripherals can support multiple configurations. Only
-one configuration will be active at any one time, and the host will
-switch between them as appropriate. If a peripheral does involve
-multiple configurations then typically it will be the responsibility
-of application code to <A
-HREF="usbs-control.html#AEN16582"
->handle</A
-> the standard
-set-configuration control message.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16146"
-></A
-><H3
-><SPAN
-CLASS="STRUCTNAME"
->usb_configuration_descriptor</SPAN
-></H3
-><P
->A USB peripheral involves at least one and possible several different
-configurations. The <SPAN
-CLASS="STRUCTNAME"
->usbs_enumeration_data</SPAN
->
-structure requires a pointer to an array, possibly of length 1, of
-<SPAN
-CLASS="STRUCTNAME"
->usb_configuration_descriptor</SPAN
-> structures.
-Usually a single structure suffices:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const usb_configuration_descriptor usb_configuration = {
-    length:             USB_CONFIGURATION_DESCRIPTOR_LENGTH,
-    type:               USB_CONFIGURATION_DESCRIPTOR_TYPE,
-    total_length_lo:    USB_CONFIGURATION_DESCRIPTOR_TOTAL_LENGTH_LO(1, 2),
-    total_length_hi:    USB_CONFIGURATION_DESCRIPTOR_TOTAL_LENGTH_HI(1, 2),
-    number_interfaces:  1,
-    configuration_id:   1,
-    configuration_str:  0,
-    attributes:         USB_CONFIGURATION_DESCRIPTOR_ATTR_REQUIRED |
-                        USB_CONFIGURATION_DESCRIPTOR_ATTR_SELF_POWERED,
-    max_power:          50
-};
-
-const usbs_enumeration_data usb_enum_data = {
-    &#8230;
-    configurations:             &amp;usb_configuration,
-    &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The values for the <TT
-CLASS="STRUCTFIELD"
-><I
->length</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->type</I
-></TT
-> fields are determined by the standard.
-The <TT
-CLASS="STRUCTFIELD"
-><I
->total_length</I
-></TT
-> field depends on the
-number of interfaces and endpoints used by this configuration, and
-convenience macros are provided to calculate this: the first argument
-to the macros specify the number of interfaces, the second the number
-of endpoints. The <TT
-CLASS="STRUCTFIELD"
-><I
->number_interfaces</I
-></TT
-> field
-is self-explanatory. If the peripheral involves multiple
-configurations then each one must have a unique id, and this will be
-used in the set-configuration control message. The id
-<TT
-CLASS="LITERAL"
->0</TT
-> is reserved, and a set-configuration control
-message that uses this id indicates that the peripheral should be
-inactive. Configurations can have a string description if required.
-The <TT
-CLASS="STRUCTFIELD"
-><I
->attributes</I
-></TT
-> field must have the
-<TT
-CLASS="LITERAL"
->REQUIRED</TT
-> bit set; the
-<TT
-CLASS="LITERAL"
->SELF_POWERED</TT
-> bit informs the host that the
-peripheral has its own power supply and will not draw any power over
-the bus, leaving more bus power available to other peripherals; the
-<TT
-CLASS="LITERAL"
->REMOTE_WAKEUP</TT
-> bit is used if the peripheral can
-interrupt the host when the latter is in power-saving mode. For
-peripherals that are not self-powered, the
-<TT
-CLASS="STRUCTFIELD"
-><I
->max_power</I
-></TT
-> field specifies the power
-requirements in units of 2mA.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16164"
-></A
-><H3
-><SPAN
-CLASS="STRUCTNAME"
->usb_interface_descriptor</SPAN
-></H3
-><P
->A USB configuration involves one or more interfaces, typically
-corresponding to different streams of data. For example, one interface
-might involve video data while another interface is for audio.
-Multiple interfaces in a single configuration will be active at the
-same time.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const usb_interface_descriptor usb_interface = {
-    length:             USB_INTERFACE_DESCRIPTOR_LENGTH,
-    type:               USB_INTERFACE_DESCRIPTOR_TYPE,
-    interface_id:       0,
-    alternate_setting:  0,
-    number_endpoints:   2,
-    interface_class:    USB_INTERFACE_DESCRIPTOR_CLASS_VENDOR,
-    interface_subclass: USB_INTERFACE_DESCRIPTOR_SUBCLASS_VENDOR,
-    interface_protocol: USB_INTERFACE_DESCRIPTOR_PROTOCOL_VENDOR,
-    interface_str:      0
-};
-
-const usbs_enumeration_data usb_enum_data = {
-    &#8230;
-    total_number_interfaces:    1,
-    interfaces:                 &amp;usb_interface,
-    &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->Again, the <TT
-CLASS="STRUCTFIELD"
-><I
->length</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->type</I
-></TT
-> fields are specified by the standard.
-Each interface within a configuration requires its own id. However, a
-given interface may have several alternate settings, in other words
-entries in the interfaces array with the same id but different
-<TT
-CLASS="STRUCTFIELD"
-><I
->alternate_setting</I
-></TT
-> fields. For example,
-there might be one setting which requires a bandwidth of 100K/s and
-another setting that only needs 50K/s. The host can use the standard
-set-interface control message to choose the most appropriate setting.
-The handling of this request is the responsibility of higher-level
-code, so the application may have to <A
-HREF="usbs-control.html#AEN16582"
->install</A
-> its own handler.</P
-><P
->The number of endpoints used by an interface is specified in the
-<TT
-CLASS="STRUCTFIELD"
-><I
->number_endpoints</I
-></TT
-> field. Exact details of
-which endpoints are used is held in a separate array of endpoint
-descriptors. The class, subclass and protocol fields are used by
-host-side code to determine which host-side device driver should
-handle this specific interface. Usually this is determined on a
-per-peripheral basis in the
-<SPAN
-CLASS="STRUCTNAME"
->usb_device_descriptor</SPAN
-> structure, but that can
-defer the details to individual interfaces. A per-interface string
-is allowed as well.</P
-><P
->For USB peripherals involving multiple configurations, the array of
-<SPAN
-CLASS="STRUCTNAME"
->usb_interface_descriptor</SPAN
-> structures should
-first contain all the interfaces for the first configuration, then all
-the interfaces for the second configuration, and so on.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16179"
-></A
-><H3
-><SPAN
-CLASS="STRUCTNAME"
->usb_endpoint_descriptor</SPAN
-></H3
-><P
->The host also needs information about which endpoint should be used
-for what. This involves an array of endpoint descriptors:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const usb_endpoint_descriptor usb_endpoints[] = {
-    {
-        length:         USB_ENDPOINT_DESCRIPTOR_LENGTH,
-        type:           USB_ENDPOINT_DESCRIPTOR_TYPE,
-        endpoint:       USB_ENDPOINT_DESCRIPTOR_ENDPOINT_OUT | 1,
-        attributes:     USB_ENDPOINT_DESCRIPTOR_ATTR_BULK,
-        max_packet_lo:  64,
-        max_packet_hi:  0,
-        interval:       0
-    },
-    {
-        length:         USB_ENDPOINT_DESCRIPTOR_LENGTH,
-        type:           USB_ENDPOINT_DESCRIPTOR_TYPE,
-        endpoint:       USB_ENDPOINT_DESCRIPTOR_ENDPOINT_IN | 2,
-        attributes:     USB_ENDPOINT_DESCRIPTOR_ATTR_BULK,
-        max_packet_lo:  64,
-        max_packet_hi:  0,
-        interval:       0
-    }
-};
-
-const usbs_enumeration_data usb_enum_data = {
-    &#8230;
-    total_number_endpoints:     2,
-    endpoints:                  usb_endpoints,
-    &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->As usual the values for the <TT
-CLASS="STRUCTFIELD"
-><I
->length</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->type</I
-></TT
-> fields are specified by the standard.
-The <TT
-CLASS="STRUCTFIELD"
-><I
->endpoint</I
-></TT
-> field gives both the endpoint
-number and the direction, so in the above example endpoint 1 is used
-for OUT (host to peripheral) transfers and endpoint 2 is used for IN
-(peripheral to host) transfers. The
-<TT
-CLASS="STRUCTFIELD"
-><I
->attributes</I
-></TT
-> field indicates the USB protocol
-that should be used on this endpoint: <TT
-CLASS="LITERAL"
->CONTROL</TT
->,
-<TT
-CLASS="LITERAL"
->ISOCHRONOUS</TT
->, <TT
-CLASS="LITERAL"
->BULK</TT
-> or
-<TT
-CLASS="LITERAL"
->INTERRUPT</TT
->. The
-<TT
-CLASS="STRUCTFIELD"
-><I
->max_packet</I
-></TT
-> field specifies the maximum size
-of a single USB packet. For bulk transfers this will typically be 64
-bytes. For isochronous transfers this can be up to 1023 bytes. For
-interrupt transfers it can be up to 64 bytes, although usually a
-smaller value will be used. The <TT
-CLASS="STRUCTFIELD"
-><I
->interval</I
-></TT
->
-field is ignored for control and bulk transfers. For isochronous
-transfers it should be set to 1. For interrupt transfers it can be a
-value between 1 and 255, and indicates the number of milliseconds
-between successive polling operations.</P
-><P
->For USB peripherals involving multiple configurations or interfaces
-the array of endpoint descriptors should be organized sequentially:
-first the endpoints corresponding to the first interface of the first
-configuration, then the second interface in that configuration, and so
-on; then all the endpoints for all the interfaces in the second
-configuration; etc.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16196"
-></A
-><H3
->Strings</H3
-><P
->The enumeration data can contain a number of strings with additional
-information. Unicode encoding is used for the strings, and it is
-possible for a peripheral to supply a given string in multiple
-languages using the appropriate characters. The first two bytes of
-each string give a length and type field. The first string is special;
-after the two bytes header it consists of an array of 2-byte language
-id codes, indicating the supported languages. The language code
-0x0409 corresponds to English (United States). </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const unsigned char* usb_strings[] = {
-    "\004\003\011\004",
-    "\020\003R\000e\000d\000 \000H\000a\000t\000"
-};
-
-const usbs_enumeration_data usb_enum_data = {
-    &#8230;
-    total_number_strings:       2,
-    strings:                    usb_strings,
-    &#8230;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The default handler for standard control messages assumes that the
-peripheral only uses a single language. If this is not the case then
-higher-level code will have to handle the standard get-descriptor
-control messages when a string descriptor is requested.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN16201"
-></A
-><H3
-><SPAN
-CLASS="STRUCTNAME"
->usbs_enumeration_data</SPAN
-></H3
-><P
->The <SPAN
-CLASS="STRUCTNAME"
->usbs_enumeration_data</SPAN
-> data structure
-collects together all the various descriptors that make up the
-enumeration data. It is the responsibility of application code to
-supply a suitable data structure and install it in the control
-endpoints's <TT
-CLASS="STRUCTFIELD"
-><I
->enumeration_data</I
-></TT
-> field before
-the USB device is started.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-start.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Starting up a USB Device</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-halt.html b/doc/html/ref/usbs-halt.html
deleted file mode 100644 (file)
index 71dc8b0..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Halted Endpoints</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Sending Data to the Host"
-HREF="usbs-start-tx.html"><LINK
-REL="NEXT"
-TITLE="Control Endpoints"
-HREF="usbs-control.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-start-tx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-HALT">Halted Endpoints</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16457"
-></A
-><H2
->Name</H2
->Halted Endpoints&nbsp;--&nbsp;Support for Halting and Halted Endpoints</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16460"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN16461"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool usbs_rx_endpoint_halted</CODE
->(usbs_rx_endpoint* ep);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_set_rx_endpoint_halted</CODE
->(usbs_rx_endpoint* ep, cyg_bool new_state);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start_rx_endpoint_wait</CODE
->(usbs_rx_endpoint* ep, void (*)(void*, int) complete_fn, void * complete_data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->cyg_bool
-usbs_tx_endpoint_halted</CODE
->(usbs_tx_endpoint* ep);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_set_tx_endpoint_halted</CODE
->(usbs_tx_endpoint* ep, cyg_bool new_state);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start_tx_endpoint_wait</CODE
->(usbs_tx_endpoint* ep, void (*)(void*, int) complete_fn, void * complete_data);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16505"
-></A
-><H2
-><TT
-CLASS="FUNCTION"
->Description</TT
-></H2
-><P
->Normal USB traffic involves straightforward handshakes, with either an
-<TT
-CLASS="LITERAL"
->ACK</TT
-> to indicate that a packet was transferred
-without errors, or a <TT
-CLASS="LITERAL"
->NAK</TT
-> if an error occurred, or
-if a peripheral is currently unable to process another packet from the
-host, or has no packet to send to the host. There is a third form of
-handshake, a <TT
-CLASS="LITERAL"
->STALL</TT
->, which indicates that the
-endpoint is currently <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->halted</I
-></SPAN
->.</P
-><P
->When an endpoint is halted it means that the host-side code needs to
-take some sort of recovery action before communication over that
-endpoint can resume. The exact circumstances under which this can
-happen are not defined by the USB specification, but one example would
-be a protocol violation if say the peripheral attempted to transmit
-more data to the host than was permitted by the protocol in use. The
-host can use the standard control messages get-status, set-feature and
-clear-feature to examine and manipulate the halted status of a given
-endpoint. There are USB-specific functions which can be used inside
-the peripheral to achieve the same effect. Once an endpoint has been
-halted the host can then interact with the peripheral using class or
-vendor control messages to perform appropriate recovery, and then the
-halted condition can be cleared.</P
-><P
->Halting an endpoint does not constitute a device state change, and
-there is no mechanism by which higher-level code can be informed
-immediately. However, any ongoing receive or transmit operations will
-be aborted with an <TT
-CLASS="LITERAL"
->-EAGAIN</TT
-> error, and any new
-receives or transmits will fail immediately with the same error.</P
-><P
->There are six functions to support halted endpoints, one set for
-receive endpoints and another for transmit endpoints, with both sets
-behaving in essentially the same way. The first,
-<TT
-CLASS="FUNCTION"
->usbs_rx_endpoint_halted</TT
->, can be used to determine
-whether or not an endpoint is currently halted: it takes a single
-argument that identifies the endpoint of interest. The second
-function, <TT
-CLASS="FUNCTION"
->usbs_set_rx_endpoint_halted</TT
->, can be
-used to change the halted condition of an endpoint: it takes two
-arguments; one to identify the endpoint and another to specify the new
-state. The last function
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_endpoint_wait</TT
-> operates in much the
-same way as <TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
->: when the
-endpoint is no longer halted the device driver will invoke the
-supplied completion function with a status of 0. The completion
-function has the same signature as that for a transfer operation.
-Often it will be possible to use a single completion function and have
-the foreground code invoke either
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> or
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_endpoint_wait</TT
-> depending on the
-current state of the endpoint.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-start-tx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Sending Data to the Host</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Control Endpoints</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-intro.html b/doc/html/ref/usbs-intro.html
deleted file mode 100644 (file)
index f6a4dee..0000000
+++ /dev/null
@@ -1,482 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="NEXT"
-TITLE="USB Enumeration Data"
-HREF="usbs-enum.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-enum.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-INTRO">Introduction</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16043"
-></A
-><H2
->Name</H2
->Introduction&nbsp;--&nbsp;eCos support for USB slave devices</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16046"
-></A
-><H2
->Introduction</H2
-><P
->The eCos USB slave support allows developers to produce USB
-peripherals. It consists of a number of different eCos packages:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Device drivers for specific implementations of USB slave hardware, for
-example the on-chip USB Device Controller provided by the Intel SA1110
-processor. A typical USB peripheral will only provide one USB slave
-port and therefore only one such device driver package will be needed.
-Usually the device driver package will be loaded automatically when
-you create an eCos configuration for target hardware that has a USB
-slave device. If you select a target which does have a USB slave
-device but no USB device driver is loaded, this implies that no such
-device driver is currently available.</P
-></LI
-><LI
-><P
->The common USB slave package. This serves two purposes. It defines the
-API that specific device drivers should implement. It also provides
-various utilities that will be needed by most USB device drivers and
-applications, such as handlers for standard control messages.
-Usually this package will be loaded automatically at the same time as
-the USB device driver.</P
-></LI
-><LI
-><P
->The common USB package. This merely provides some information common
-to both the host and slave sides of USB, such as details of the
-control protocol. It is also used to place the other USB-related
-packages appropriately in the overall configuration hierarchy. Usually
-this package will be loaded at the same time as the USB device driver.</P
-></LI
-><LI
-><P
->Class-specific USB support packages. These make it easier to develop
-specific classes of USB peripheral, such as a USB-ethernet device. If
-no suitable package is available for a given class of peripheral then
-the USB device driver can instead be accessed directly from
-application code. Such packages will never be loaded automatically
-since the configuration system has no way of knowing what class of USB
-peripheral is being developed. Instead developers have to add the
-appropriate package or packages explicitly.</P
-></LI
-></OL
-><P
->These packages only provide support for developing USB peripherals,
-not USB hosts.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16059"
-></A
-><H2
->USB Concepts</H2
-><P
->Information about USB can be obtained from a number of sources
-including the <A
-HREF="http://www.usb.org/"
-TARGET="_top"
->USB Implementers Forum
-web site</A
->. Only a brief summary is provided here.</P
-><P
->A USB network is asymmetrical: it consists of a single host, one or
-more slave devices, and possibly some number of intermediate hubs. The
-host side is significantly more complicated than the slave side.
-Essentially, all operations are initiated by the host. For example, if
-the host needs to receive some data from a particular USB peripheral
-then it will send an IN token to that peripheral; the latter should
-respond with either a NAK or with appropriate data. Similarly, when
-the host wants to transmit data to a peripheral it will send an OUT
-token followed by the data; the peripheral will return a NAK if it is
-currently unable to receive more data or if there was corruption,
-otherwise it will return an ACK. All transfers are check-summed and
-there is a clearly-defined error recovery process. USB peripherals can
-only interact with the host, not with each other.</P
-><P
->USB supports four different types of communication: control messages,
-interrupt transfers, isochronous transfers, and bulk transfers.
-Control messages are further subdivided into four categories:
-standard, class, vendor and a reserved category. All USB peripherals
-must respond to certain standard control messages, and usually this
-will be handled by the common USB slave package (for complicated
-peripherals, application support will be needed). Class and vendor
-control messages may be handled by an class-specific USB support
-package, for example the USB-ethernet package will handle control
-messages such as getting the MAC address or enabling/disabling
-promiscuous mode. Alternatively, some or all of these messages will
-have to be handled by application code.</P
-><P
->Interrupt transfers are used for devices which need to be polled
-regularly. For example, a USB keyboard might be polled once every
-millisecond. The host will not poll the device more frequently than
-this, so interrupt transfers are best suited to peripherals that
-involve a relatively small amount of data. Isochronous transfers are
-intended for multimedia-related peripherals where typically a large
-amount of video or audio data needs to be exchanged continuously.
-Given appropriate host support a USB peripheral can reserve some of
-the available bandwidth. Isochronous transfers are not reliable; if a
-particular packet is corrupted then it will just be discarded and
-software is expected to recover from this. Bulk transfers are used for
-everything else: after taking care of any pending control, isochronous
-and interrupt transfers the host will use whatever bandwidth remains
-for bulk transfers. Bulk transfers are reliable.</P
-><P
->Transfers are organized into USB packets, with the details depending
-on the transfer type. Control messages always involve an initial
-8-byte packet from host to peripheral, optionally followed by some
-additional packets; in theory these additional packets can be up to 64
-bytes, but hardware may limit it to 8 bytes. Interrupt transfers
-involve a single packet of up to 64 bytes. Isochronous transfers
-involve a single packet of up to 1024 bytes. Bulk transfers involve
-multiple packets. There will be some number, possibly zero, of 64-byte
-packets. The transfer is terminated by a single packet of less than 64
-bytes. If the transfer involves an exact multiple of 64 bytes than the
-final packet will be 0 bytes, consisting of just a header and checksum
-which typically will be generated by the hardware. There is no
-pre-defined limit on the size of a bulk transfer. Instead higher-level
-protocols are expected to handle this, so for a USB-ethernet
-peripheral the protocol could impose a limit of 1514 bytes of data
-plus maybe some additional protocol overhead.</P
-><P
->Transfers from the host to a peripheral are addressed not just to that
-peripheral but to a specific endpoint within that peripheral.
-Similarly, the host requests incoming data from a specific endpoint
-rather than from the peripheral as a whole. For example, a combined
-keyboard/touchpad device could provide the keyboard events on endpoint
-1 and the mouse events on endpoint 2. A given USB peripheral can have
-up to 16 endpoints for incoming data and another 16 for outgoing data.
-However, given the comparatively high speed of USB I/O this endpoint
-addressing is typically implemented in hardware rather than software,
-and the hardware will only implement a small number of endpoints.
-Endpoint 0 is generally used only for control messages.</P
-><P
->In practice, many of these details are irrelevant to application code
-or to class packages. Instead, such higher-level code usually just
-performs blocking <TT
-CLASS="FUNCTION"
->read</TT
-> and
-<TT
-CLASS="FUNCTION"
->write</TT
->, or non-blocking USB-specific calls, to
-transfer data between host and target via a specific endpoint. Control
-messages are more complicated but are usually handled by existing
-code.</P
-><P
->When a USB peripheral is plugged into the host there is an initial
-enumeration and configuration process. The peripheral provides
-information such as its class of device (audio, video, etc.), a
-vendor id, which endpoints should be used for what kind of data, and
-so on. The host OS uses this information to identify a suitable host
-device driver. This could be a generic driver for a class of
-peripherals, or it could be a vendor-specific driver. Assuming a
-suitable driver is installed the host will then activate the USB
-peripheral and perform additional application-specific initialisation.
-For example for a USB-ethernet device this would involve obtaining an
-ethernet MAC address. Most USB peripherals will be fairly simple, but
-it is possible to build multifunction peripherals with multiple
-configurations, interfaces, and alternate interface settings.</P
-><P
->It is not possible for any of the eCos packages to generate all the
-enumeration data automatically. Some of the required information such
-as the vendor id cannot be supplied by generic packages; only by the
-application developer. Class support code such as the USB-ethernet
-package could in theory supply some of the information automatically,
-but there are also hardware dependencies such as which endpoints get
-used for incoming and outgoing ethernet frames. Instead it is the
-responsibility of the application developer to provide all the
-enumeration data and perform some additional initialisation. In
-addition, the common USB slave package can handle all the standard
-control messages for a simple USB peripheral, but for something like a
-multifunction peripheral additional application support is needed.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The initial implementation of the eCos USB slave packages involved
-hardware that only supported control and bulk transfers, not
-isochronous or interrupt. There may be future changes to the USB
-code and API to allow for isochronous and interrupt transfers,
-especially the former. Other changes may be required to support
-different USB devices. At present there is no support for USB remote
-wakeups, since again it is not supported by the hardware.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16075"
-></A
-><H2
->eCos USB I/O Facilities</H2
-><P
->For protocols other than control messages, eCos provides two ways of
-performing USB I/O. The first involves device table or devtab entries such
-as <A
-HREF="usbs-devtab.html"
-><TT
-CLASS="LITERAL"
->/dev/usb1r</TT
-></A
->,
-with one entry per endpoint per USB device. It is possible to
-<TT
-CLASS="FUNCTION"
->open</TT
-> these devices and use conventional blocking
-I/O functions such as <TT
-CLASS="FUNCTION"
->read</TT
-> and
-<TT
-CLASS="FUNCTION"
->write</TT
-> to exchange data between host and
-peripheral.</P
-><P
->There is also a lower-level USB-specific API, consisting of functions
-such as <A
-HREF="usbs-start-rx.html"
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-></A
->.
-A USB device driver will supply a data structure for each endpoint,
-for example a <A
-HREF="usbs-data.html"
-><SPAN
-CLASS="STRUCTNAME"
->usbs_rx_endpoint</SPAN
-></A
->
-structure for every receive endpoint. The first argument to
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> should be a pointer to such
-a data structure. The USB-specific API is non-blocking: the initial
-call merely starts the transfer; some time later, once the transfer
-has completed or has been aborted, the device driver will invoke a
-completion function.</P
-><P
->Control messages are different. With four different categories of
-control messages including application and vendor specific ones, the
-conventional
-<TT
-CLASS="FUNCTION"
->open</TT
->/<TT
-CLASS="FUNCTION"
->read</TT
->/<TT
-CLASS="FUNCTION"
->write</TT
->
-model of I/O cannot easily be applied. Instead, a USB device driver
-will supply a <A
-HREF="usbs-control.html"
-><SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-></A
->
-data structure which can be manipulated appropriately. In practice the
-standard control messages will usually be handled by the common USB
-slave package, and other control messages will be handled by
-class-specific code such as the USB-ethernet package. Typically,
-application code remains responsible for supplying the <A
-HREF="usbs-enum.html"
->enumeration data</A
-> and for actually <A
-HREF="usbs-start.html"
->starting</A
-> up the USB device.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16097"
-></A
-><H2
->Enabling the USB code</H2
-><P
->If the target hardware contains a USB slave device then the
-appropriate USB device driver and the common packages will typically
-be loaded into the configuration automatically when that target is
-selected (assuming a suitable device driver exists). However, the
-driver will not necessarily be active. For example a processor might
-have an on-chip USB device, but not all applications using that
-processor will want to use USB functionality. Hence by default the USB
-device is disabled, ensuring that applications do not suffer any
-memory or other penalties for functionality that is not required.</P
-><P
->If the application developer explicitly adds a class support package
-such as the USB-ethernet one then this implies that the USB device is
-actually needed, and the device will be enabled automatically.
-However, if no suitable class package is available and the USB device
-will instead be accessed by application code, it is necessary to
-enable the USB device manually. Usually the easiest way to do this is
-to enable the configuration option
-<TT
-CLASS="LITERAL"
->CYGGLO_IO_USB_SLAVE_APPLICATION</TT
->, and the USB device
-driver and related packages will adjust accordingly. Alternatively,
-the device driver may provide some configuration options to provide
-more fine-grained control.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-enum.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos USB Slave Support</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->USB Enumeration Data</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-start-rx.html b/doc/html/ref/usbs-start-rx.html
deleted file mode 100644 (file)
index 1cb8f67..0000000
+++ /dev/null
@@ -1,449 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Receiving Data from the Host</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Devtab Entries"
-HREF="usbs-devtab.html"><LINK
-REL="NEXT"
-TITLE="Sending Data to the Host"
-HREF="usbs-start-tx.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-devtab.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-start-tx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-START-RX">Receiving Data from the Host</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16314"
-></A
-><H2
->Name</H2
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
->&nbsp;--&nbsp;Receiving Data from the Host</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16318"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN16319"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start_rx_buffer</CODE
->(usbs_rx_endpoint* ep, unsigned char* buffer, int length, void (*)(void*,int) complete_fn, void * complete_data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start_rx</CODE
->(usbs_rx_endpoint* ep);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16339"
-></A
-><H2
-><TT
-CLASS="FUNCTION"
->Description</TT
-></H2
-><P
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> is a USB-specific function
-to accept a transfer from host to peripheral. It can be used for bulk,
-interrupt or isochronous transfers, but not for control messages.
-Instead those involve manipulating the <A
-HREF="usbs-control.html"
-><SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-></A
->
-data structure directly. The function takes five arguments:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The first argument identifies the specific endpoint that should be
-used. Different USB devices will support different sets of endpoints
-and the device driver will provide appropriate data structures. The
-device driver's documentation should be consulted for details of which
-endpoints are available.</P
-></LI
-><LI
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->buffer</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->length</I
-></TT
->
-arguments control the actual transfer. USB device drivers are not
-expected to perform any buffering or to support partial transfers, so
-the length specified should correspond to the maximum transfer that is
-currently possible and the buffer should be at least this large. For
-isochronous transfers the USB specification imposes an upper bound of
-1023 bytes, and a smaller limit may be set in the <A
-HREF="usbs-enum.html#AEN16179"
->enumeration data</A
->. Interrupt
-transfers are similarly straightforward with an upper bound of 64
-bytes, or less as per the enumeration data. Bulk transfers are more
-complicated because they can involve multiple 64-byte packets plus a
-terminating packet of less than 64 bytes, so there is no predefined
-limit on the transfer size. Instead it is left to higher-level
-protocols to specify an appropriate upper bound.</P
-><P
->One technique that may work for bulk transfers is to exploit the fact
-that such transfers happen in 64-byte packets: it may be possible to
-receive an initial 64 bytes, corresponding to the first packet in the
-transfer; these 64 bytes can then be examined to determine the total
-transfer size, and the remaining data can be transferred in another
-receive operation. This technique is not guaranteed to work with all
-USB hardware. Also, if the delay between accepting the first packet and
-the remainder of the transfer is excessive then this could cause
-timeout problems for the host-side software. For these reasons this
-technique should be avoided.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> is non-blocking. It merely
-starts the receive operation, and does not wait for completion. At
-some later point the USB device driver will invoke the completion
-function parameter with two arguments: the completion data defined by
-the last parameter and a result field. A result &gt;=
-<TT
-CLASS="LITERAL"
->0</TT
-> indicates a successful transfer of that many
-bytes, which may be less than the upper bound imposed by the
-<TT
-CLASS="PARAMETER"
-><I
->length</I
-></TT
-> argument. A result &lt;
-<TT
-CLASS="LITERAL"
->0</TT
-> indicates an error. The most likely errors are
-<TT
-CLASS="LITERAL"
->-EPIPE</TT
-> to indicate that the connection between the
-host and the target has been broken, and <TT
-CLASS="LITERAL"
->-EAGAIN</TT
->
-for when the endpoint has been <A
-HREF="usbs-halt.html"
->halted</A
->. Specific USB device drivers may
-specify additional error conditions.</P
-></LI
-></OL
-><P
->The normal sequence of events is that the USB device driver will
-update the appropriate hardware registers. At some point after that
-the host will attempt to send data by transmitting an OUT token
-followed by a data packet, and since a receive operation is now in
-progress the data will be accepted and ACK'd. If there were no receive
-operation then the peripheral would instead generate a NAK. The USB
-hardware will generate an interrupt once the whole packet has been
-received, and the USB device driver will service this interrupt and
-arrange for a DSR to be called. Isochronous and interrupt transfers
-involve just a single packet. However, bulk transfers may involve
-multiple packets so the device driver has to check whether the packet
-was a full 64 bytes or whether it was a terminating packet of less
-than this. When the device driver DSR detects a complete transfer it
-will inform higher-level code by invoking the supplied completion
-function.</P
-><P
->This means that the completion function will normally be invoked by a
-DSR and not in thread context - although some USB device drivers may
-have a different implementation. Therefore the completion function is
-restricted in what it can do. In particular it must not make any
-calls that will or may block such as locking a mutex or allocating
-memory. The kernel documentation should be consulted for more details
-of DSR's and interrupt handling generally.</P
-><P
->It is possible that the completion function will be invoked before
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> returns. Such an event would
-be unusual because the transfer cannot happen until the next time the
-host tries to send data to this peripheral, but it may happen if for
-example another interrupt happens and a higher priority thread is
-scheduled to run. Also, if the endpoint is currently halted then the
-completion function will be invoked immediately with
-<TT
-CLASS="LITERAL"
->-EAGAIN</TT
->: typically this will happen in the current
-thread rather than in a separate DSR. The completion function is
-allowed to start another transfer immediately by calling
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> again.</P
-><P
->USB device drivers are not expected to perform any locking. It is the
-responsibility of higher-level code to ensure that there is only one
-receive operation for a given endpoint in progress at any one time. If
-there are concurrent calls to
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> then the resulting behaviour
-is undefined. For typical USB applications this does not present any
-problems, because only one piece of code will access a given endpoint
-at any particular time.</P
-><P
->The following code fragment illustrates a very simple use of
-<TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-> to implement a blocking
-receive, using a semaphore to synchronise between the foreground
-thread and the DSR. For a simple example like this no completion data
-is needed.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static int error_code = 0;
-static cyg_sem_t completion_wait;
-
-static void
-completion_fn(void* data, int result)
-{
-    error_code = result;
-    cyg_semaphore_post(&amp;completion_wait);
-}
-
-int
-blocking_receive(usbs_rx_endpoint* ep, unsigned char* buf, int len)
-{
-    error_code = 0;
-    usbs_start_rx_buffer(ep, buf, len, &amp;completion_fn, NULL);
-    cyg_semaphore_wait(&amp;completion_wait);
-    return error_code;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->There is also a utility function <TT
-CLASS="FUNCTION"
->usbs_start_rx</TT
->. This
-can be used by code that wants to manipulate <A
-HREF="usbs-data.html"
->data endpoints</A
-> directly, specifically the
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_fn</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_data</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> fields.
-<TT
-CLASS="FUNCTION"
->usbs_start_tx</TT
-> just invokes a function
-supplied by the device driver.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-devtab.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-start-tx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Devtab Entries</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Sending Data to the Host</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-start-tx.html b/doc/html/ref/usbs-start-tx.html
deleted file mode 100644 (file)
index 3521756..0000000
+++ /dev/null
@@ -1,441 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Sending Data to the Host</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Receiving Data from the Host"
-HREF="usbs-start-rx.html"><LINK
-REL="NEXT"
-TITLE="Halted Endpoints"
-HREF="usbs-halt.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-start-rx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-halt.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-START-TX">Sending Data to the Host</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16386"
-></A
-><H2
->Name</H2
-><TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
->&nbsp;--&nbsp;Sending Data to the Host</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16390"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN16391"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start_tx_buffer</CODE
->(usbs_tx_endpoint* ep, const unsigned char* buffer, int length, void (*)(void*,int) complete_fn, void * complete_data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start_tx</CODE
->(usbs_tx_endpoint* ep);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16411"
-></A
-><H2
-><TT
-CLASS="FUNCTION"
->Description</TT
-></H2
-><P
-><TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-> is a USB-specific function
-to transfer data from peripheral to host. It can be used for bulk,
-interrupt or isochronous transfers, but not for control messages;
-instead those involve manipulating the <A
-HREF="usbs-control.html"
-><SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-></A
->
-data structure directly. The function takes five arguments:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The first argument identifies the specific endpoint that should be
-used. Different USB devices will support different sets of endpoints
-and the device driver will provide appropriate data structures. The
-device driver's documentation should be consulted for details of which
-endpoints are available.</P
-></LI
-><LI
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->buffer</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->length</I
-></TT
->
-arguments control the actual transfer. USB device drivers are not
-allowed to modify the buffer during the transfer, so the data can
-reside in read-only memory. The transfer will be for all the data
-specified, and it is the responsibility of higher-level code to make
-sure that the host is expecting this amount of data. For isochronous
-transfers the USB specification imposes an upper bound of 1023 bytes,
-but a smaller limit may be set in the <A
-HREF="usbs-enum.html#AEN16179"
->enumeration data</A
->. Interrupt
-transfers have an upper bound of 64 bytes or less, as per the
-enumeration data. Bulk transfers are more complicated because they can
-involve multiple 64-byte packets plus a terminating packet of less
-than 64 bytes, so the basic USB specification does not impose an upper
-limit on the total transfer size. Instead it is left to higher-level
-protocols to specify an appropriate upper bound. If the peripheral
-attempts to send more data than the host is willing to accept then the
-resulting behaviour is undefined and may well depend on the specific
-host operating system being used.</P
-><P
->For bulk transfers, the USB device driver or the underlying hardware
-will automatically split the transfer up into the appropriate number
-of full-size 64-byte packets plus a single terminating packet, which
-may be 0 bytes.</P
-></LI
-><LI
-><P
-><TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-> is non-blocking. It merely
-starts the transmit operation, and does not wait for completion. At
-some later point the USB device driver will invoke the completion
-function parameter with two arguments: the completion data defined by
-the last parameter, and a result field. This result will be either an
-error code &lt; <TT
-CLASS="LITERAL"
->0</TT
->, or the amount of data
-transferred which should correspond to the
-<TT
-CLASS="PARAMETER"
-><I
->length</I
-></TT
-> argument. The most likely errors are
-<TT
-CLASS="LITERAL"
->-EPIPE</TT
-> to indicate that the connection between the
-host and the target has been broken, and <TT
-CLASS="LITERAL"
->-EAGAIN</TT
->
-for when the endpoint has been <A
-HREF="usbs-halt.html"
->halted</A
->. Specific USB device drivers may
-define additional error conditions.</P
-></LI
-></OL
-><P
->The normal sequence of events is that the USB device driver will
-update the appropriate hardware registers. At some point after that
-the host will attempt to fetch data by transmitting an IN token. Since
-a transmit operation is now in progress the peripheral can send a
-packet of data, and the host will generate an ACK. At this point the
-USB hardware will generate an interrupt, and the device driver will
-service this interrupt and arrange for a DSR to be called. Isochronous
-and interrupt transfers involve just a single packet. However, bulk
-transfers may involve multiple packets so the device driver has to
-check whether there is more data to send and set things up for the
-next packet. When the device driver DSR detects a complete transfer it
-will inform higher-level code by invoking the supplied completion
-function.</P
-><P
->This means that the completion function will normally be invoked by a
-DSR and not in thread context - although some USB device drivers may
-have a different implementation. Therefore the completion function is
-restricted in what it can do, in particular it must not make any
-calls that will or may block such as locking a mutex or allocating
-memory. The kernel documentation should be consulted for more details
-of DSR's and interrupt handling generally.</P
-><P
->It is possible that the completion function will be invoked before
-<TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-> returns. Such an event would
-be unusual because the transfer cannot happen until the next time the
-host tries to fetch data from this peripheral, but it may happen if,
-for example, another interrupt happens and a higher priority thread is
-scheduled to run. Also, if the endpoint is currently halted then the
-completion function will be invoked immediately with
-<TT
-CLASS="LITERAL"
->-EAGAIN</TT
->: typically this will happen in the current
-thread rather than in a separate DSR. The completion function is
-allowed to start another transfer immediately by calling
-<TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-> again.</P
-><P
->USB device drivers are not expected to perform any locking. It is the
-responsibility of higher-level code to ensure that there is only one
-transmit operation for a given endpoint in progress at any one time.
-If there are concurrent calls to
-<TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-> then the resulting behaviour
-is undefined. For typical USB applications this does not present any
-problems because only piece of code will access a given endpoint at
-any particular time.</P
-><P
->The following code fragment illustrates a very simple use of
-<TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-> to implement a blocking
-transmit, using a semaphore to synchronise between the foreground
-thread and the DSR. For a simple example like this no completion data
-is needed.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->static int error_code = 0;
-static cyg_sem_t completion_wait;
-
-static void
-completion_fn(void* data, int result)
-{
-    error_code = result;
-    cyg_semaphore_post(&amp;completion_wait);
-}
-
-int
-blocking_transmit(usbs_tx_endpoint* ep, const unsigned char* buf, int len)
-{
-    error_code = 0;
-    usbs_start_tx_buffer(ep, buf, len, &amp;completion_fn, NULL);
-    cyg_semaphore_wait(&amp;completion_wait);
-    return error_code;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->There is also a utility function <TT
-CLASS="FUNCTION"
->usbs_start</TT
->. This
-can be used by code that wants to manipulate <A
-HREF="usbs-data.html"
->data endpoints</A
-> directly, specifically the
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_fn</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_data</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
-> fields.
-<TT
-CLASS="FUNCTION"
->usbs_start_tx</TT
-> just calls a function supplied by
-the device driver.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-start-rx.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-halt.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Receiving Data from the Host</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Halted Endpoints</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-start.html b/doc/html/ref/usbs-start.html
deleted file mode 100644 (file)
index 993edb3..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Starting up a USB Device</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="USB Enumeration Data"
-HREF="usbs-enum.html"><LINK
-REL="NEXT"
-TITLE="Devtab Entries"
-HREF="usbs-devtab.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-enum.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-devtab.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-START">Starting up a USB Device</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16210"
-></A
-><H2
->Name</H2
-><TT
-CLASS="FUNCTION"
->usbs_start</TT
->&nbsp;--&nbsp;Starting up a USB Device</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN16214"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN16215"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_start</CODE
->(usbs_control_endpoint* ep0);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16222"
-></A
-><H2
->Description</H2
-><P
->Initializing a USB device requires some support from higher-level
-code, typically the application, in the form of enumeration data.
-Hence it is not possible for the low-level USB driver to activate a
-USB device itself. Instead the higher-level code has to take care of
-this by invoking <TT
-CLASS="FUNCTION"
->usbs_start</TT
->. This function takes
-a pointer to a USB control endpoint data structure. USB device drivers
-should provide exactly one such data structure for every USB device,
-so the pointer uniquely identifies the device.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->const usbs_enumeration_data usb_enum_data = {
-    &#8230;
-};
-
-int
-main(int argc, char** argv)
-{
-    usbs_sa11x0_ep0.enumeration_data = &amp;usb_enum_data;
-    &#8230;
-    usbs_start(&amp;usbs_sa11x0_ep0);
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->The exact behaviour of <TT
-CLASS="FUNCTION"
->usbs_start</TT
-> depends on the
-USB hardware and the device driver. A typical implementation would
-change the USB data pins from tristated to active. If the peripheral
-is already plugged into a host then the latter should detect this
-change and start interacting with the peripheral, including requesting
-the enumeration data. Some of this may happen before
-<TT
-CLASS="FUNCTION"
->usbs_start</TT
-> returns, but given that multiple
-interactions between USB host and peripheral are required it is likely
-that the function will return before the peripheral is fully
-configured. Control endpoints provide a <A
-HREF="usbs-control.html#AEN16552"
->mechanism</A
-> for informing
-higher-level code of USB state changes.
-<TT
-CLASS="FUNCTION"
->usbs_start</TT
-> will return even if the peripheral is
-not currently connected to a host: it will not block until the
-connection is established.</P
-><P
-><TT
-CLASS="FUNCTION"
->usbs_start</TT
-> should only be called once for a given
-USB device. There are no defined error conditions. Note that the
-function affects the entire USB device and not just the control
-endpoint: there is no need to start any data endpoints as well.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-enum.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-devtab.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->USB Enumeration Data</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Devtab Entries</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-testing.html b/doc/html/ref/usbs-testing.html
deleted file mode 100644 (file)
index 7fd6816..0000000
+++ /dev/null
@@ -1,2285 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Testing</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Writing a USB Device Driver"
-HREF="usbs-writing.html"><LINK
-REL="NEXT"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-writing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-TESTING">Testing</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16868"
-></A
-><H2
->Name</H2
->Testing&nbsp;--&nbsp;Testing of USB Device Drivers</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16871"
-></A
-><H2
->Introduction</H2
-><P
->The support for USB testing provided by the eCos USB common slave
-package is somewhat different in nature from the kind of testing used
-in many other packages. One obvious problem is that USB tests cannot
-be run on just a bare target platform: instead the target platform
-must be connected to a suitable USB host machine, and that host
-machine must be running appropriate software for the test code to
-interact with. This is very different from say a kernel test which
-typically will have no external dependencies. Another important
-difference between USB testing and say a C library
-<TT
-CLASS="FUNCTION"
->strcmp</TT
-> test is sensitivity to timing and to
-hardware boundary conditions: although a simple test case that just
-performs a small number of USB transfers is better than no testing at
-all, it should also be possible to run tests for hours or days on end,
-under a variety of loads. In order to provide the required
-functionality the basic architecture of the USB testing support is as
-follows: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->    There is a single target-side program
-    <SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
->. By default when this is run
-    on a target platform it will appear to do nothing. In fact it is
-    waiting to be contacted by another program
-    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> which will tell it what test or
-    tests to run. <SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> provides
-    mechanisms for running a wide range of tests.
-  </P
-></LI
-><LI
-><P
->    <SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> is a generic program, but USB
-    testing depends to some extent on the functionality provided by the
-    hardware. For example there is no point in testing bulk transmits
-    to endpoint 12 if the target hardware does not support an endpoint
-    12. Therefore each USB device driver should supply information about
-    what the hardware is actually capable of, in the form of an array of
-    <SPAN
-CLASS="STRUCTNAME"
->usbs_testing_endpoint</SPAN
-> data structures.
-  </P
-></LI
-><LI
-><P
->    There is a single host-side program
-    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
->, which acts as a counterpart to
-    <SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
->. Again
-    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> has no built-in knowledge of
-    the test or tests that are supposed to run, it only provides
-    mechanisms for running a wide range of tests. On start-up
-    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will search the USB bus for
-    hardware running the target-side program, specifically a USB device
-    that identifies itself as the product <TT
-CLASS="LITERAL"
->&quot;Red Hat eCos
-    USB test&quot;</TT
->.
-  </P
-></LI
-><LI
-><P
->    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> contains a Tcl interpreter, and
-    will execute any Tcl scripts specified on the command line
-    together with appropriate arguments. The Tcl interpreter has been
-    extended with various commands such as
-    <TT
-CLASS="LITERAL"
->usbtest::bulktest</TT
->, so the script can perform
-    the desired test or tests.
-  </P
-></LI
-><LI
-><P
->    Adding a new test simply involves writing a short Tcl script that
-    invokes the appropriate USB-specific commands. Running multiple
-    tests involves passing appropriate arguments to
-    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
->, or alternatively writing a
-    single script that just invokes other scripts.
-  </P
-></LI
-></OL
-><P
->The current implementation of <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
->
-depends heavily on functionality provided by the Linux kernel and in
-particular the usbdevfs support. It uses
-<TT
-CLASS="FILENAME"
->/proc/bus/usb/devices</TT
-> to find out what devices
-are attached to the bus, and will then access the device by opening
-<TT
-CLASS="FILENAME"
->/proc/bus/usb/xxx/yyy</TT
-> and performing
-<TT
-CLASS="FUNCTION"
->ioctl</TT
-> operations. This allows USB testing to take
-place without having to write a new host-side device driver, but
-getting the code working on host machines not running Linux would
-obviously be problematical.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16904"
-></A
-><H2
->Building and Running the Target-side Code</H2
-><P
->The target-side component of the USB testing software consists of a
-single program <SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> which contains
-support for a range of different tests, under the control of host-side
-software. This program is not built by default alongside other eCos
-test cases since it will only operate in certain environments,
-specifically when the target board's connector is plugged into a Linux
-host, and when the appropriate host-side software has been installed
-on that host. Instead the user must enable a configuration option
-<TT
-CLASS="LITERAL"
->CYGBLD_IO_USB_SLAVE_USBTEST</TT
-> to add the program to
-the list of tests for the current configuration.</P
-><P
->Starting the <SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> program does not
-require anything unusual, so it can be run in a normal
-<SPAN
-CLASS="APPLICATION"
->gdb</SPAN
-> session just like any eCos application.
-After initialization the program will wait for activity from the host.
-Depending on the hardware, the Linux host will detect that a new USB
-peripheral is present on the bus either when the
-<SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> initialization is complete or
-when the cable between target and host is connected. The host will
-perform the normal USB enumeration sequence and discover that the
-peripheral does not match any known vendor or product id and that
-there is no device driver for <TT
-CLASS="LITERAL"
->&quot;Red Hat eCos USB
-test&quot;</TT
->, so it will ignore the peripheral. When the
-<SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> program is run on the host it will
-connect to the target-side software, and testing can now commence.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16915"
-></A
-><H2
->Building and Running the Host-side Code</H2
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->In theory the host-side software should be built when the package is
-installed in the component repository, and removed when a package
-is uninstalled. The current eCos administration tool does not provide
-this functionality.</P
-></BLOCKQUOTE
-></DIV
-><P
->The host-side software should be built via the usual sequence of
-&quot;configure/make/make install&quot;. It can only be built on a
-Linux host and the <B
-CLASS="COMMAND"
->configure</B
-> script contains an
-explicit test for this. Because the eCos component repository should
-generally be treated as a read-only resource the configure script will
-also prevent you from trying to build inside the source tree. Instead
-a separate build tree is required. Hence a typical sequence for
-building the host-side software would be as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ mkdir usbhost_build
-$ cd usbhost_build
-$ &lt;repo&gt;packages/io/usb/slave/current/host/configure <A
-NAME="PATH"
-><IMG
-SRC="../images/callouts/1.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(1)"></A
-> <A
-NAME="VERSION"
-><IMG
-SRC="../images/callouts/2.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(2)"></A
-> &lt;args&gt; <A
-NAME="ARGS"
-><IMG
-SRC="../images/callouts/3.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(3)"></A
->
-$ make
-&lt;output from make&gt;
-$ su <A
-NAME="ROOT"
-><IMG
-SRC="../images/callouts/4.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(4)"></A
->
-$ make install
-&lt;output from make install&gt;
-$</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="CALLOUTLIST"
-><DL
-COMPACT="COMPACT"
-><DT
-><A
-HREF="usbs-testing.html#PATH"
-><IMG
-SRC="../images/callouts/1.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(1)"></A
-></DT
-><DD
->The location of the eCos component repository should be substituted
-for <TT
-CLASS="LITERAL"
->&lt;repo&gt;</TT
->.</DD
-><DT
-><A
-HREF="usbs-testing.html#VERSION"
-><IMG
-SRC="../images/callouts/2.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(2)"></A
-></DT
-><DD
->If the package has been obtained via CVS or anonymous CVS then the
-package version will be <TT
-CLASS="FILENAME"
->current</TT
->, as per the
-example. If instead the package has been obtained as part of a full
-eCos release or as a separate <TT
-CLASS="FILENAME"
->.epk</TT
-> file then the
-appropriate package version should be used instead of
-<TT
-CLASS="FILENAME"
->current</TT
->.</DD
-><DT
-><A
-HREF="usbs-testing.html#ARGS"
-><IMG
-SRC="../images/callouts/3.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(3)"></A
-></DT
-><DD
->The <B
-CLASS="COMMAND"
->configure</B
-> script takes the usual arguments such
-as <TT
-CLASS="PARAMETER"
-><I
->--prefix=</I
-></TT
-> to specify where the executables
-and support files should be installed. The only other parameter that
-some users may wish to specify is the location of a suitable Tcl
-installation. By default <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will use
-the existing Tcl installation in <TT
-CLASS="FILENAME"
->/usr</TT
->,
-as provided by your Linux distribution. An alternative Tcl
-installation can be specified using the parameter
-<TT
-CLASS="PARAMETER"
-><I
->--with-tcl=</I
-></TT
->, or alternatively using some
-combination of <TT
-CLASS="PARAMETER"
-><I
->--with-tcl-include</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->--with-tcl-lib</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->--with-tcl-version</I
-></TT
->. </DD
-><DT
-><A
-HREF="usbs-testing.html#ROOT"
-><IMG
-SRC="../images/callouts/4.gif"
-HSPACE="0"
-VSPACE="0"
-BORDER="0"
-ALT="(4)"></A
-></DT
-><DD
->One of the host-side executables that gets built,
-<SPAN
-CLASS="APPLICATION"
->usbchmod</SPAN
->, needs to be installed with suid
-root privileges. Although the Linux kernel makes it possible for
-applications to perform low-level USB operations such as transmitting
-bulk packets, by default access to this functionality is restricted to
-programs with superuser privileges. It is undesirable to run a complex
-program such as <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> with such
-privileges, especially since the program contains a general-purpose
-Tcl interpreter. Therefore when <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
->
-starts up and discovers that it does not have sufficient access to the
-appropriate entries in <TT
-CLASS="FILENAME"
->/proc/bus/usb</TT
->, 
-it spawns an instance of <SPAN
-CLASS="APPLICATION"
->usbchmod</SPAN
-> to modify
-the permissions on these entries. <SPAN
-CLASS="APPLICATION"
->usbchmod</SPAN
->
-will only do this for a USB device <TT
-CLASS="LITERAL"
->&quot;Red Hat eCos USB
-test&quot;</TT
->, so installing this program suid root should not
-introduce any security problems.</DD
-></DL
-></DIV
-><P
->During <B
-CLASS="COMMAND"
->make install</B
-> the following actions will take
-place: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
-><SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will be installed in <TT
-CLASS="FILENAME"
->/usr/local/bin</TT
->,
-or some other <TT
-CLASS="FILENAME"
->bin</TT
-> directory if
-the default location is changed at configure-time using a
-<TT
-CLASS="PARAMETER"
-><I
->--prefix=</I
-></TT
-> or similar option. It will be
-installed as the executable
-<SPAN
-CLASS="APPLICATION"
->usbhost_&lt;version&gt;</SPAN
->, for example
-<SPAN
-CLASS="APPLICATION"
->usbhost_current</SPAN
->, thus allowing several
-releases of the USB slave package to co-exist. For convenience a
-symbolic link from <TT
-CLASS="FILENAME"
->usbhost</TT
-> to this executable
-will be created, so users can just run <B
-CLASS="COMMAND"
->usbhost</B
-> to
-access the most recently-installed version.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="APPLICATION"
->usbchmod</SPAN
-> will be installed in
-<TT
-CLASS="FILENAME"
->/usr/local/libexec/ecos/io_usb_slave_&lt;version&gt;</TT
->.
-This program should only be run by <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
->,
-not invoked directly, so it is not placed in the <TT
-CLASS="FILENAME"
->bin</TT
-> 
-directory. Again the presence of the package version in the directory
-name allows multiple releases of the package to co-exist.</P
-></LI
-><LI
-><P
->A Tcl script <TT
-CLASS="FILENAME"
->usbhost.tcl</TT
-> will get installed in
-the same directory as <SPAN
-CLASS="APPLICATION"
->usbchmod</SPAN
->. This Tcl
-script is loaded automatically by the
-<SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> executable. </P
-></LI
-><LI
-><P
->A number of additional Tcl scripts, for example
-<TT
-CLASS="FILENAME"
->list.tcl</TT
-> will get installed alongside
-<TT
-CLASS="FILENAME"
->usbhost.tcl</TT
->. These correspond to various test
-cases provided as standard. If a given test case is specified on the
-command line and cannot be found relative to the current directory
-then <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will search the install
-directory for these test cases.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Strictly speaking installing the <TT
-CLASS="FILENAME"
->usbhost.tcl</TT
-> and
-other Tcl scripts below the <TT
-CLASS="FILENAME"
->libexec</TT
->
-directory deviates from standard practice: they are
-architecture-independent data files so should be installed below
-the <TT
-CLASS="FILENAME"
->share</TT
-> subdirectory. In
-practice the files are sufficiently small that there is no point in
-sharing them, and keeping them below <TT
-CLASS="FILENAME"
->libexec</TT
->
-simplifies the host-side software somewhat.</P
-></BLOCKQUOTE
-></DIV
-></LI
-></OL
-><P
->The <B
-CLASS="COMMAND"
->usbhost</B
-> should be run only when there is a
-suitable target attached to the USB bus and running the
-<SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> program. It will search
-<TT
-CLASS="FILENAME"
->/proc/bus/usb/devices</TT
-> for an entry corresponding
-to this program, invoke <SPAN
-CLASS="APPLICATION"
->usbchmod</SPAN
-> if
-necessary to change the access rights, and then interact with
-<SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> over the USB bus.
-<B
-CLASS="COMMAND"
->usbhost</B
-> should be invoked as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ usbhost [-v|--version] [-h|--help] [-V|--verbose] &lt;test&gt; [&lt;test parameters&gt;]</PRE
-></TD
-></TR
-></TABLE
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->-v</I
-></TT
-> or <TT
-CLASS="PARAMETER"
-><I
->--version</I
-></TT
->
-option will display version information for
-<SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> including the version of the USB
-slave package that was used to build the executable.</P
-></LI
-><LI
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->-h</I
-></TT
-> or <TT
-CLASS="PARAMETER"
-><I
->--help</I
-></TT
-> option
-will display usage information.</P
-></LI
-><LI
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->-V</I
-></TT
-> or <TT
-CLASS="PARAMETER"
-><I
->--verbose</I
-></TT
->
-option can be used to obtain more information at run-time, for example
-some output for every USB transfer. This option can be repeated
-multiple times to increase the amount of output.</P
-></LI
-><LI
-><P
->The first argument that does not begin with a hyphen specifies a test
-that should be run, in the form of a Tcl script. For example an
-argument of <TT
-CLASS="PARAMETER"
-><I
->list.tcl</I
-></TT
-> will cause
-<SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> to look for a script with that
-name, adding a <TT
-CLASS="FILENAME"
->.tcl</TT
-> suffix if necessarary, and
-run that script. <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will look in the
-current directory first, then in the install tree for standard test
-scripts provided by the USB slave package.</P
-></LI
-><LI
-><P
->Some test scripts may want their own parameters, for example a
-duration in seconds. These can be passed on the command line after
-the name of the test, for example
-<B
-CLASS="COMMAND"
->usbhost&nbsp;mytest&nbsp;60</B
->. </P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17020"
-></A
-><H2
->Writing a Test</H2
-><P
->Each test is defined by a Tcl script, running inside an interpreter
-provided by <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
->. In addition to the
-normal Tcl functionality this interpreter provides a number of
-variables and functions related to USB testing. For example there is a
-variable <TT
-CLASS="VARNAME"
->bulk_in_endpoints</TT
-> that lists all the
-endpoints on the target that can perform bulk IN operations, and a
-related array <TT
-CLASS="VARNAME"
->bulk_in</TT
-> which contains information
-such as the minimum and maximum packets sizes. There is a function
-<TT
-CLASS="FUNCTION"
->bulktest</TT
-> which can be used to perform bulk tests
-on a particular endpoint. A simple test script aimed at specific
-hardware could ignore the information variables since it would know
-exactly what USB hardware is available on the target, whereas a
-general-purpose script would use the information to adapt to the
-hardware capabilities.</P
-><P
->To avoid namespace pollution all USB-related Tcl variables and
-functions live in the <TT
-CLASS="VARNAME"
->usbtest::</TT
-> namespace.
-Therefore accessing requires either explicitly including the
-namespace any references, for example
-<TT
-CLASS="LITERAL"
->$usbtest::bulk_in_endpoints</TT
->, or by using Tcl's
-<TT
-CLASS="FUNCTION"
->namespace import</TT
-> facility.</P
-><P
->A very simple test script might look like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->usbtest::bulktest 1 out 4000
-usbtest::bulktest 2 in  4000
-if { [usbtest::start 60] } {
-    puts "Test successful"
-} else
-    puts "Test failed"
-    foreach result $usbtest::results {
-        puts $result
-    }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->This would perform a test run involving 4000 bulk transfers from the
-host to the target's endpoint 1, and concurrently 4000 bulk transfers
-from endpoint 2. Default settings for packet sizes, contents, and
-delays would be used. The actual test would not start running until
-<TT
-CLASS="FILENAME"
->usbtest</TT
-> is invoked, and it is expected that the
-test would complete within 60 seconds. If any failures occur then they
-are reported.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17035"
-></A
-><H2
->Available Hardware</H2
-><P
->Each target-side USB device driver provides information about the
-actual capabilities of the hardware, for example which endpoints are
-available. Strictly speaking it provides information about what is
-actually supported by the device driver, which may be a subset of what
-the hardware is capable of. For example, the hardware may support
-isochronous transfers on a particular endpoint but if there is no
-software support for this in the driver then this endpoint will not be
-listed. When <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> first contacts the
-<SPAN
-CLASS="APPLICATION"
->usbtarget</SPAN
-> program running on the target
-platform, it obtains this information and makes it available to test
-scripts via Tcl variables:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="VARNAME"
->bulk_in_endpoints</TT
-></DT
-><DD
-><P
->    This is a simple list of the endpoints which can support bulk IN
-    transfers. For example if the target-side hardware supports
-    these transfers on endpoints 3 and 5 then the value would be
-    <TT
-CLASS="LITERAL"
->&quot;3 5&quot;</TT
-> Typical test scripts would
-    iterate over the list using something like:
-  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  if { 0 != [llength $usbtest::bulk_in_endpoints] } {
-      puts"Bulk IN endpoints: $usbtest::bulk_in_endpoints"
-      foreach endpoint $usbtest:bulk_in_endpoints {
-          &#8230;
-      }
-  }
-  </PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->bulk_in()</TT
-></DT
-><DD
-><P
->  This array holds additional information about each bulk IN endpoint.
-  The array is indexed by two fields, the endpoint number and one of
-  <TT
-CLASS="LITERAL"
->min_size</TT
->, <TT
-CLASS="LITERAL"
->max_size</TT
->,
-  <TT
-CLASS="LITERAL"
->max_in_padding</TT
-> and <TT
-CLASS="LITERAL"
->devtab</TT
->:
-  </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->min_size</TT
-></DT
-><DD
-><P
->    This field specifies a lower bound on the size of bulk transfers,
-    and will typically will have a value of 1.
-    </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->    The typical minimum transfer size of a single byte is not strictly
-    speaking correct, since under some circumstances it can make sense
-    to have a transfer size of zero bytes. However current target-side
-    device drivers interpret a request to transfer zero bytes as a way
-    for higher-level code to determine whether or not an endpoint is
-    stalled, so it is not actually possible to perform zero-byte
-    transfers. This issue will be addressed at some future point.
-    </P
-></BLOCKQUOTE
-></DIV
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->max_size</TT
-></DT
-><DD
-><P
->    This field specifies an upper bound on the size of bulk transfers.
-    Some target-side drivers may be limited to transfers of say
-    0x0FFFF bytes because of hardware limitations. In practice the
-    transfer size is likely to be limited primarily to limit memory
-    consumption of the test code on the target hardware, and to ensure
-    that tests complete reasonably quickly. At the time of writing
-    transfers are limited to 4K.
-    </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->max_in_padding</TT
-></DT
-><DD
-><P
->    On some hardware it may be necessary for the target-side device
-    driver to send more data than is actually intended. For example
-    the SA11x0 USB hardware cannot perform bulk transfers that are
-    an exact multiple of 64 bytes, instead it must pad such
-    transfers with an extra byte and the host must be ready to
-    accept and discard this byte. The
-    <TT
-CLASS="LITERAL"
->max_in_padding</TT
-> field indicates the amount of
-    padding that is required. The low-level code inside
-    <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will use this field
-    automatically, and there is no need for test scripts to adjust
-    packet sizes for padding. The field is provided for
-    informational purposes only.
-    </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->devtab</TT
-></DT
-><DD
-><P
->    This is a string indicating whether or not the
-    target-side USB device driver supports access to this endpoint
-    via entries in the device table, in other words through
-    conventional calls like <TT
-CLASS="FUNCTION"
->open</TT
-> and
-    <TT
-CLASS="FUNCTION"
->write</TT
->. Some device drivers may only
-    support low-level USB access because typically that is what gets
-    used by USB class-specific packages such as USB-ethernet.
-    An empty string indicates that no devtab entry is available,
-    otherwise it will be something like
-    <TT
-CLASS="LITERAL"
->&quot;/dev/usbs2w&quot;</TT
->. 
-    </P
-></DD
-></DL
-></DIV
-><P
->  Typical test scripts would access this data using something like:
-  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  foreach endpoint $usbtest:bulk_in_endpoints {
-      puts "Endpoint $endpoint: "
-      puts "    minimum transfer size $usbtest::bulk_in($endpoint,min_size)"
-      puts "    maximum transfer size $usbtest::bulk_in($endpoint,max_size)"
-      if { 0 == $usbtest::bulk_in($endpoint,max_in_padding) } {
-          puts "    no IN padding required"
-      } else {
-          puts "    $usbtest::bulk_in($endpoint,max_in_padding) bytes of IN padding required"
-      }
-      if { "" == $usbtest::bulk_in($endpoint,devtab) } {
-          puts "    no devtab entry provided"
-      } else {
-          puts "    corresponding devtab entry is $usbtest::bulk_in($endpoint,devtab)"
-      }
-  }
-  </PRE
-></TD
-></TR
-></TABLE
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->bulk_out_endpoint</TT
-></DT
-><DD
-><P
->    This is a simple list of the endpoints which can support bulk OUT
-    transfers. It is analogous to
-    <TT
-CLASS="VARNAME"
->bulk_in_endpoints</TT
->.
-  </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->bulk_out()</TT
-></DT
-><DD
-><P
->  This array holds additional information about each bulk OUT
-  endpoint. It can be accessed in the same way as
-  <TT
-CLASS="VARNAME"
->bulk_in()</TT
->, except that there is no
-  <TT
-CLASS="LITERAL"
->max_in_padding</TT
-> field because that field only
-  makes sense for IN transfers.
-  </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->control()</TT
-></DT
-><DD
-><P
->  This array holds information about the control endpoint. It contains
-  two fields, <TT
-CLASS="LITERAL"
->min_size</TT
-> and
-  <TT
-CLASS="LITERAL"
->max_size</TT
->. Note that there is no variable
-  <TT
-CLASS="VARNAME"
->control_endpoints</TT
-> because a USB target always
-  supports a single control endpoint <TT
-CLASS="LITERAL"
->0</TT
->. Similarly
-  the <TT
-CLASS="VARNAME"
->control</TT
-> array does not use an endpoint number
-  as the first index because that would be redundant.
-  </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->isochronous_in_endpoints</TT
-> and
-        <TT
-CLASS="VARNAME"
->isochronous_in()</TT
-></DT
-><DD
-><P
->  These variables provide the same information as
-  <TT
-CLASS="VARNAME"
->bulk_in_endpoints</TT
-> and <TT
-CLASS="VARNAME"
->bulk_in</TT
->,
-  but for endpoints that support isochronous IN transfers.
-  </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->isochronous_out_endpoints</TT
-> and
-        <TT
-CLASS="VARNAME"
->isochronous_out()</TT
-></DT
-><DD
-><P
->  These variables provide the same information as
-  <TT
-CLASS="VARNAME"
->bulk_out_endpoints</TT
-> and <TT
-CLASS="VARNAME"
->bulk_out</TT
->,
-  but for endpoints that support isochronous OUT transfers.
-  </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->interrupt_in_endpoints</TT
-> and
-        <TT
-CLASS="VARNAME"
->interrupt_in()</TT
-></DT
-><DD
-><P
->  These variables provide the same information as
-  <TT
-CLASS="VARNAME"
->bulk_in_endpoints</TT
-> and <TT
-CLASS="VARNAME"
->bulk_in</TT
->,
-  but for endpoints that support interrupt IN transfers.
-  </P
-></DD
-><DT
-><TT
-CLASS="VARNAME"
->interrupt_out_endpoints</TT
-> and
-        <TT
-CLASS="VARNAME"
->interrupt_out()</TT
-></DT
-><DD
-><P
->  These variables provide the same information as
-  <TT
-CLASS="VARNAME"
->bulk_out_endpoints</TT
-> and <TT
-CLASS="VARNAME"
->bulk_out</TT
->,
-  but for endpoints that support interrupt OUT transfers.
-  </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17142"
-></A
-><H2
->Testing Bulk Transfers</H2
-><P
->The main function for initiating a bulk test is
-<TT
-CLASS="FUNCTION"
->usbtest::bulktest</TT
->. This takes three compulsory
-arguments, and can be given a number of additional arguments to
-control the exact behaviour. The compulsory arguments are:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->endpoint</DT
-><DD
-><P
->    This specifies the endpoint to use. It should correspond to
-    one of the entries in
-    <TT
-CLASS="VARNAME"
->usbtest::bulk_in_endpoints</TT
-> or
-    <TT
-CLASS="VARNAME"
->usbtest::bulk_out_endpoints</TT
->, depending on the
-    transfer direction.
-  </P
-></DD
-><DT
->direction</DT
-><DD
-><P
->  This should be either <TT
-CLASS="LITERAL"
->in</TT
-> or <TT
-CLASS="LITERAL"
->out</TT
->.
-  </P
-></DD
-><DT
->number of transfers</DT
-><DD
-><P
->  This specifies the number of transfers that should take place. The
-  testing software does not currently support the concept of performing
-  transfers for a given period of time because synchronising this on
-  both the host and a wide range of targets is difficult. However it
-  is relatively easy to work out the approximate time a number of bulk
-  transfers should take place, based on a typical bandwidth of
-  1MB/second and assuming say a 1ms overhead per transfer.
-  Alternatively a test script could perform a small initial run to
-  determine what performance can actually be expected from a given
-  target, and then use this information to run a much longer test.
-  </P
-></DD
-></DL
-></DIV
-><P
->Additional arguments can be used to control the exact transfer. For
-example a <TT
-CLASS="PARAMETER"
-><I
->txdelay+</I
-></TT
-> argument can be used to
-slowly increase the delay between transfers. All such arguments involve
-a value which can be passed either as part of the argument itself,
-for example <TT
-CLASS="LITERAL"
->txdelay+=5</TT
->, or as a subsequent
-argument, <TT
-CLASS="LITERAL"
->txdelay+ 5</TT
->. The possible arguments fall
-into a number of categories: data, I/O mechanism, transmit size,
-receive size, transmit delay, and receive delay.</P
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17167"
-></A
-><H3
->Data</H3
-><P
->An obvious parameter to control is the actual data that gets sent.
-This can be controlled by the argument <TT
-CLASS="PARAMETER"
-><I
->data</I
-></TT
->
-which can take one of five values: <TT
-CLASS="LITERAL"
->none</TT
->,
-<TT
-CLASS="LITERAL"
->bytefill</TT
->, <TT
-CLASS="LITERAL"
->intfill</TT
->,
-<TT
-CLASS="LITERAL"
->byteseq</TT
-> and <TT
-CLASS="LITERAL"
->wordseq</TT
->. The default
-value is <TT
-CLASS="LITERAL"
->none</TT
->.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="LITERAL"
->none</TT
-></DT
-><DD
-><P
->  The transmit code will not attempt to fill the buffer in any way,
-  and the receive code will not check it. The actual data that gets
-  transferred will be whatever happened to be in the buffer before
-  the transfer started.
-  </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->bytefill</TT
-></DT
-><DD
-><P
->  The entire buffer will be filled with a single byte, as per
-  <TT
-CLASS="FUNCTION"
->memset</TT
->. 
-  </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->intfill</TT
-></DT
-><DD
-><P
->  The buffer will be treated as an array of 32-bit integers, and will
-  be filled with the same integer repeated the appropriate number of
-  times. If the buffer size is not a multiple of four bytes then
-  the last few bytes will be set to 0.
-  </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->byteseq</TT
-></DT
-><DD
-><P
->  The buffer will be filled with a sequence of bytes, generated by
-  a linear congruential generator. If the first byte in the buffer is
-  filled with the value <TT
-CLASS="LITERAL"
->x</TT
->, the next byte will be
-  <TT
-CLASS="LITERAL"
->(m*x)+i</TT
->. For example a sequence of slowly
-  incrementing bytes can be achieved by setting both the multiplier
-  and the increment to 1. Alternatively a pseudo-random number
-  sequence can be achieved using values 1103515245 and 12345, as
-  per the standard C library <TT
-CLASS="FUNCTION"
->rand</TT
-> function.
-  For convenience these two constants are available as Tcl
-  variables <TT
-CLASS="VARNAME"
->usbtest::MULTIPLIER</TT
-> and
-  <TT
-CLASS="VARNAME"
->usbtest::INCREMENT</TT
->.
-  </P
-></DD
-><DT
-><TT
-CLASS="LITERAL"
->wordseq</TT
-></DT
-><DD
-><P
->  This acts like <TT
-CLASS="LITERAL"
->byteseq</TT
->, except that the buffer is
-  treated as an array of 32-bit integers rather than as an array of
-  bytes. If the buffer is not a multiple of four bytes then the last
-  few bytes will be filled with zeroes.
-  </P
-></DD
-></DL
-></DIV
-><P
->The above requires three additional parameters
-<TT
-CLASS="PARAMETER"
-><I
->data1</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->data*</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->data+</I
-></TT
->. <TT
-CLASS="PARAMETER"
-><I
->data1</I
-></TT
-> specifies
-the value to be used for byte or word fills, or the first number when
-calculating a sequence. The default value is <TT
-CLASS="LITERAL"
->0</TT
->.
-<TT
-CLASS="PARAMETER"
-><I
->data*</I
-></TT
-> and <TT
-CLASS="PARAMETER"
-><I
->data+</I
-></TT
-> specify
-the multiplier and increment for a sequence, and have default values
-of <TT
-CLASS="LITERAL"
->1</TT
-> and <TT
-CLASS="LITERAL"
->0</TT
-> respectively. For
-example, to perform a bulk transfer of a pseudo-random sequence of
-integers starting with 42 the following code could be used:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->bulktest 2 IN 1000 data=wordseq data1=42 \
-    data* $usbtest::MULTIPLIER data+ $usbtest::INCREMENT</PRE
-></TD
-></TR
-></TABLE
-><P
->The above parameters define what data gets transferred for the first
-transfer, but a test can involve multiple transfers. The data format
-will be the same for all transfers, but it is possible to adjust the
-current value, the multiplier, and the increment between each
-transfer. This is achieved with parameters <TT
-CLASS="PARAMETER"
-><I
->data1*</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->data1+</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->data**</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->data*+</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->data+*</I
-></TT
->, and
-<TT
-CLASS="PARAMETER"
-><I
->data++</I
-></TT
->, with default values of 1 for each
-multiplier and 0 for each increment. For example, if the multiplier
-for the first transfer is set to <TT
-CLASS="LITERAL"
->2</TT
-> using
-<TT
-CLASS="PARAMETER"
-><I
->data*</I
-></TT
->, and arguments
-<TT
-CLASS="LITERAL"
->data**&nbsp;2</TT
-> and <TT
-CLASS="LITERAL"
->data*+&nbsp;-1</TT
-> are also
-supplied, then the multiplier for subsequent transfers will be
-<TT
-CLASS="LITERAL"
->3</TT
->, <TT
-CLASS="LITERAL"
->5</TT
->, <TT
-CLASS="LITERAL"
->9</TT
->,
-&#8230;.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Currently it is not possible for a test script to send specific data,
-for example a specific sequence of bytes captured by a protocol analyser
-that caused a problem. If the transfer was from host to target then
-the target would have to know the exact sequence of bytes to expect,
-which means transferring data over the USB bus when that data is known
-to have caused problems in the past. Similarly for target to host
-transfers the target would have to know what bytes to send. A possible
-future extension of the USB testing support would allow for bounce
-operations, where a given message is first sent to the target and then
-sent back to the host, with only the host checking that the data was
-returned correctly.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17237"
-></A
-><H3
->I/O Mechanism</H3
-><P
->On the target side USB transfers can happen using either low-level
-USB calls such as <TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
->, or by
-higher-level calls which go through the device table. By default the
-target-side code will use the low-level calls. If it is desired to
-test the higher-level calls instead, for example because those are
-what the application uses, then that can be achieved with an
-argument <TT
-CLASS="PARAMETER"
-><I
->mechanism=devtab</I
-></TT
->.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17242"
-></A
-><H3
->Transmit Size</H3
-><P
->The next set of arguments can be used to control the size of the
-transmitted buffer: <TT
-CLASS="PARAMETER"
-><I
->txsize1</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->txsize&gt;=</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->txsize&lt;=</I
-></TT
->
-<TT
-CLASS="PARAMETER"
-><I
->txsize*</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->txsize/</I
-></TT
->,
-and <TT
-CLASS="PARAMETER"
-><I
->txsize+</I
-></TT
->.</P
-><P
-><TT
-CLASS="PARAMETER"
-><I
->txsize1</I
-></TT
-> determines the size of the first
-transfer, and has a default value of 32 bytes. The size of the next
-transfer is calculated by first multiplying by the
-<TT
-CLASS="PARAMETER"
-><I
->txsize*</I
-></TT
-> value, then dividing by the
-<TT
-CLASS="PARAMETER"
-><I
->txsize/</I
-></TT
-> value, and finally adding the
-<TT
-CLASS="PARAMETER"
-><I
->txsize+</I
-></TT
-> value. The defaults for these are
-<TT
-CLASS="LITERAL"
->1</TT
->, <TT
-CLASS="LITERAL"
->1</TT
->, and <TT
-CLASS="LITERAL"
->0</TT
->
-respectively, which means that the transfer size will remain
-unchanged. If for example the transfer size should increase by
-approximately 50 per cent each time then suitable values might be
-<TT
-CLASS="LITERAL"
->txsize*&nbsp;3</TT
->, <TT
-CLASS="LITERAL"
->txsize/&nbsp;2</TT
->,
-and <TT
-CLASS="LITERAL"
->txsize+&nbsp;1</TT
->. </P
-><P
->The <TT
-CLASS="PARAMETER"
-><I
->txsize&gt;=</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->txsize&lt;=</I
-></TT
-> arguments can be used to impose
-lower and upper bounds on the transfer. By default the
-<TT
-CLASS="LITERAL"
->min_size</TT
-> and <TT
-CLASS="LITERAL"
->max_size</TT
-> values
-appropriate for the endpoint will be used. If at any time the
-current size falls outside the bounds then it will be normalized.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17267"
-></A
-><H3
->Receive Size</H3
-><P
->The receive size, in other words the number of bytes that either host
-or target will expect to receive as opposed to the number of bytes
-that actually get sent, can be adjusted using a similar set of
-arguments: <TT
-CLASS="PARAMETER"
-><I
->rxsize1</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->rxsize&gt;=</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->rxsize&lt;=</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->rxsize*</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->rxsize/</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->rxsize+</I
-></TT
->. The current receive size will be
-adjusted between transfers just like the transmit size. However when
-communicating over USB it is not a good idea to attempt to receive
-less data than will actually be sent: typically neither the hardware
-nor the software will be able to do anything useful with the excess,
-so there will be problems. Therefore if at any time the calculated
-receive size is less than the transmit size, the actual receive will
-be for the exact number of bytes that will get transmitted. However
-this will not affect the calculations for the next receive size.</P
-><P
->The default values for <TT
-CLASS="PARAMETER"
-><I
->rxsize1</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->rxsize*</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->rxsize/</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->rxsize+</I
-></TT
-> are <TT
-CLASS="LITERAL"
->0</TT
->,
-<TT
-CLASS="LITERAL"
->1</TT
->, <TT
-CLASS="LITERAL"
->1</TT
-> and <TT
-CLASS="LITERAL"
->0</TT
->
-respectively. This means that the calculated receive size will always
-be less than the transmit size, so the receive operation will be for
-the exact number of bytes transmitted. For some USB protocols this
-would not accurately reflect the traffic that will happen. For example
-with USB-ethernet transfer sizes will vary between 16 and 1516 bytes,
-so the receiver will always expect up to 1516 bytes. This can be
-achieved using <TT
-CLASS="LITERAL"
->rxsize1&nbsp;1516</TT
->, leaving the
-other parameters at their default values.</P
-><P
->For target hardware which involves non-zero
-<TT
-CLASS="LITERAL"
->max_in_padding</TT
->, on the host side the padding will
-be added automatically to the receive size if necessary.</P
-></DIV
-><DIV
-CLASS="REFSECT2"
-><A
-NAME="AEN17288"
-></A
-><H3
->Transmit and Receive Delays</H3
-><P
->Typically during the testing there will be some minor delays between
-transfers on both host and target. Some of these delays will be caused
-by timeslicing, for example another process running on the host, or a
-concurrent test thread running inside the target. Other delays will be
-caused by the USB bus itself, for example activity from another device
-on the bus. However it is desirable that test cases be allowed to
-inject additional and somewhat more controlled delays into the system,
-for example to make sure that the target behaves correctly even if the
-target is not yet ready to receive data from the host.</P
-><P
->The transmit delay is controlled by six parameters:
-<TT
-CLASS="PARAMETER"
-><I
->txdelay1</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->txdelay*</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->txdelay/</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->txdelay+</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->txdelay&gt;=</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->txdelay&lt;=</I
-></TT
->. The default values for these are
-<TT
-CLASS="LITERAL"
->0</TT
->, <TT
-CLASS="LITERAL"
->1</TT
->, <TT
-CLASS="LITERAL"
->1</TT
->,
-<TT
-CLASS="LITERAL"
->0</TT
->, <TT
-CLASS="LITERAL"
->0</TT
-> and
-<TT
-CLASS="LITERAL"
->1000000000</TT
-> respectively, so that by default
-transmits will happen as quickly as possible. Delays are measured in
-nanoseconds, so a value of <TT
-CLASS="LITERAL"
->1000000</TT
-> would correspond
-to a delay of 0.001 seconds or one millisecond. By default delays have
-an upper bound of one second. Between transfers the transmit delay is
-updated in much the same was as the transfer sizes.</P
-><P
->The receive delay is controlled by a similar set of six parameters:
-<TT
-CLASS="PARAMETER"
-><I
->rxdelay1</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->rxdelay*</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->rxdelay/</I
-></TT
->, <TT
-CLASS="PARAMETER"
-><I
->rxdelay+</I
-></TT
->,
-<TT
-CLASS="PARAMETER"
-><I
->rxdelay&gt;=</I
-></TT
-> and
-<TT
-CLASS="PARAMETER"
-><I
->rxdelay&lt;=</I
-></TT
->. The default values for these are
-the same as for transmit delays.</P
-><P
->The transmit delay is used on the side which sends data over the USB
-bus, so for a bulk IN transfer it is the target that sends data and
-hence sleeps for the specified transmit delay, while the host receives
-data sleeps for the receive delay. For an OUT transfer the positions
-are reversed.</P
-><P
->It should be noted that although the delays are measured in
-nanoseconds, the actual delays will be much less precise and are
-likely to be of the order of milliseconds. The exact details will
-depend on the kernel clock speed.</P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17314"
-></A
-><H2
->Other Types of Transfer</H2
-><P
->Support for testing other types of USB traffic such as isochronous
-transfers is not yet implemented.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17317"
-></A
-><H2
->Starting a Test and Collecting Results</H2
-><P
->A USB test script should prepare one or more transfers using
-appropriate functions such as <TT
-CLASS="FUNCTION"
->usbtest::bulktest</TT
->.
-Once all the individual tests have been prepared they can be started
-by a call to <TT
-CLASS="FUNCTION"
->usbtest::start</TT
->. This takes a single
-argument, a maximum duration measured in seconds. If all transfers
-have not been completed in the specified time then any remaining
-transfers will be aborted.</P
-><P
-><TT
-CLASS="FUNCTION"
->usbtest::start</TT
-> will return <TT
-CLASS="LITERAL"
->1</TT
->
-if all the tests have succeeded, or <TT
-CLASS="LITERAL"
->0</TT
-> if any of
-them have failed. More detailed reports will be stored in the
-Tcl variable <TT
-CLASS="VARNAME"
->usbtests::results</TT
->, which will be a
-list of string messages.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17327"
-></A
-><H2
->Existing Test Scripts</H2
-><P
->A number of test scripts are provided as standard. These are located
-in the <TT
-CLASS="FILENAME"
->host</TT
-> subdirectory of the
-common USB slave package, and will be installed as part of the process
-of building the host-side software. When a script is specified on the
-command line <SPAN
-CLASS="APPLICATION"
->usbhost</SPAN
-> will first search for
-it in the current directory, then in the install tree. Standard
-test scripts include the following:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FILENAME"
->list.tcl</TT
-></DT
-><DD
-><P
->      This script simply displays information about the capabilities
-      of the target platform, as provided by the target-side USB
-      device driver. It can help with tracking down problems, but its
-      primary purpose is to let users check that everything is working
-      correctly: if running <B
-CLASS="COMMAND"
->usbhost list.tcl</B
->
-      outputs sensible information then the user knows that the
-      target side is running correctly and that communication between
-      host and target is possible.
-    </P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->verbose.tcl</TT
-></DT
-><DD
-><P
->      The target-side code can provide information about what
-      is happening while tests are prepared and run. This facility
-      should not normally be used since the extra I/O involved will
-      significantly affect the behaviour of the system, but in some
-      circumstances it may prove useful. Since an eCos application
-      cannot easily be given command-line arguments the target-side
-      verbosity level cannot be controlled using
-      <TT
-CLASS="PARAMETER"
-><I
->-V</I
-></TT
-> or <TT
-CLASS="PARAMETER"
-><I
->--verbose</I
-></TT
->
-      options. Instead it can be controlled from inside
-      <SPAN
-CLASS="APPLICATION"
->gdb</SPAN
-> by changing the integer
-      variable <TT
-CLASS="VARNAME"
->verbose</TT
->. Alternatively it can
-      be manipulated by running the test script
-      <TT
-CLASS="FILENAME"
->verbose.tcl</TT
->. This script takes a single
-      argument, the desired verbosity level, which should be a small
-      integer. For example, to disable target-side run-time logging
-      the command <B
-CLASS="COMMAND"
->usbhost&nbsp;verbose&nbsp;0</B
-> can
-      be used.
-    </P
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17350"
-></A
-><H2
->Possible Problems</H2
-><P
->If all transfers succeed within the specified time then both host and
-target remain in synch and further tests can be run without problem.
-However, if at any time a failure occurs then things get more
-complicated. For example, if the current test involves a series of
-bulk OUT transfers and the target detects that for one of these
-transfers it received less data than was expected then the test has
-failed, and the target will stop accepting data on this endpoint.
-However the host-side software may not have detected anything wrong
-and is now blocked trying to send the next lot of data.</P
-><P
->The test code goes to considerable effort to recover from problems
-such as these. On the host-side separate threads are used for
-concurrent transfers, and on the target-side appropriate asynchronous
-I/O mechanisms are used. In addition there is a control thread on the
-host that checks the state of all the main host-side threads, and the
-state of the target using private control messages. If it discovers
-that one side has stopped sending or receiving data because of an
-error and the other side is blocked as a result, it will set certain
-flags and then cause one additional transfer to take place. That
-additional transfer will have the effect of unblocking the other side,
-which then discovers that an error has occurred by checking the
-appropriate flags. In this way both host and target should end up back
-in synch, and it is possible to move on to the next set of tests.</P
-><P
->However, the above assumes that the testing has not triggered any
-serious hardware conditions. If instead the target-side hardware has
-been left in some strange state so that, for example, it will no
-longer raise an interrupt for traffic on a particular endpoint then
-recovery is not currently possible, and the testing software will just
-hang.</P
-><P
->A possible future enhancement to the testing software would allow the
-host-side to raise a USB reset signal whenever a failure occurs, in
-the hope that this would clear any remaining problems within the
-target-side USB hardware.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-writing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Writing a USB Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->eCos Support for Developing USB-ethernet Peripherals</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbs-writing.html b/doc/html/ref/usbs-writing.html
deleted file mode 100644 (file)
index b4becf9..0000000
+++ /dev/null
@@ -1,946 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Writing a USB Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos USB Slave Support"
-HREF="io-usb-slave.html"><LINK
-REL="PREVIOUS"
-TITLE="Data Endpoints"
-HREF="usbs-data.html"><LINK
-REL="NEXT"
-TITLE="Testing"
-HREF="usbs-testing.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbs-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbs-testing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBS-WRITING">Writing a USB Device Driver</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN16705"
-></A
-><H2
->Name</H2
->Writing a USB Device Driver&nbsp;--&nbsp;USB Device Driver Porting Guide</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16708"
-></A
-><H2
->Introduction</H2
-><P
->Often the best way to write a USB device driver will be to start with
-an existing one and modify it as necessary. The information given here
-is intended primarily as an outline rather than as a complete guide.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->At the time of writing only one USB device driver has been
-implemented. Hence it is possible, perhaps probable, that some
-portability issues have not yet been addressed. One issue
-involves the different types of transfer, for example the initial
-target hardware had no support for isochronous or interrupt transfers,
-so additional functionality may be needed to switch between transfer
-types. Another issue would be hardware where a given endpoint number,
-say endpoint 1, could be used for either receiving or transmitting
-data, but not both because a single fifo is used. Issues like these
-will have to be resolved as and when additional USB device drivers are
-written.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16713"
-></A
-><H2
->The Control Endpoint</H2
-><P
->A USB device driver should provide a single <A
-HREF="usbs-control.html"
-><SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
-></A
->
-data structure for every USB device. Typical peripherals will have
-only one USB port so there will be just one such data structure in the
-entire system, but theoretically it is possible to have multiple USB
-devices. These may all involve the same chip, in which case a single
-device driver should support multiple device instances, or they may
-involve different chips. The name or names of these data structures
-are determined by the device driver, but appropriate care should be
-taken to avoid name clashes. </P
-><P
->A USB device cannot be used unless the control endpoint data structure
-exists. However, the presence of USB hardware in the target processor
-or board does not guarantee that the application will necessarily want
-to use that hardware. To avoid unwanted code or data overheads, the
-device driver can provide a configuration option to determine whether
-or not the endpoint 0 data structure is actually provided. A default
-value of <TT
-CLASS="LITERAL"
->CYGINT_IO_USB_SLAVE_CLIENTS</TT
-> ensures that
-the USB driver will be enabled automatically if higher-level code does
-require USB support, while leaving ultimate control to the user.</P
-><P
->The USB device driver is responsible for filling in the
-<TT
-CLASS="STRUCTFIELD"
-><I
->start_fn</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->poll_fn</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->interrupt_vector</I
-></TT
-> fields. Usually this can
-be achieved by static initialization. The driver is also largely
-responsible for maintaining the <TT
-CLASS="STRUCTFIELD"
-><I
->state</I
-></TT
->
-field. The <TT
-CLASS="STRUCTFIELD"
-><I
->control_buffer</I
-></TT
-> array should be
-used to hold the first packet of a control message. The
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
-> and other fields related to data
-transfers will be managed <A
-HREF="usbs-control.html#AEN16615"
->jointly</A
-> by higher-level code and
-the device driver. The remaining fields are generally filled in by
-higher-level code, although the driver should initialize them to NULL
-values.</P
-><P
->Hardware permitting, the USB device should be inactive until the
-<TT
-CLASS="STRUCTFIELD"
-><I
->start_fn</I
-></TT
-> is invoked, for example by
-tristating the appropriate pins. This prevents the host from
-interacting with the peripheral before all other parts of the system
-have initialized. It is expected that the
-<TT
-CLASS="STRUCTFIELD"
-><I
->start_fn</I
-></TT
-> will only be invoked once, shortly
-after power-up.</P
-><P
->Where possible the device driver should detect state changes, such as
-when the connection between host and peripheral is established, and
-<A
-HREF="usbs-control.html#AEN16552"
->report</A
-> these to higher-level
-code via the <TT
-CLASS="STRUCTFIELD"
-><I
->state_change_fn</I
-></TT
-> callback, if
-any. The state change to and from configured state cannot easily be
-handled by the device driver itself, instead higher-level code such as
-the common USB slave package will take care of this.</P
-><P
->Once the connection between host and peripheral has been established,
-the peripheral must be ready to accept control messages at all times,
-and must respond to these within certain time constraints. For
-example, the standard set-address control message must be handled
-within 50ms. The USB specification provides more information on these
-constraints. The device driver is responsible for receiving the
-initial packet of a control message. This packet will always be eight
-bytes and should be stored in the
-<TT
-CLASS="STRUCTFIELD"
-><I
->control_buffer</I
-></TT
-> field. Certain standard
-control messages should be detected and handled by the device driver
-itself. The most important is set-address, but usually the get-status,
-set-feature and clear-feature requests when applied to halted
-endpoints should also be handled by the driver. Other standard control
-messages should first be passed on to the
-<TT
-CLASS="STRUCTFIELD"
-><I
->standard_control_fn</I
-></TT
-> callback (if any), and
-finally to the default handler
-<TT
-CLASS="FUNCTION"
->usbs_handle_standard_control</TT
-> provided by the
-common USB slave package. Class, vendor and reserved control messages
-should always be dispatched to the appropriate callback and there is
-no default handler for these.</P
-><P
->Some control messages will involve further data transfer, not just the
-initial packet. The device driver must handle this in accordance with
-the USB specification and the <A
-HREF="usbs-control.html#AEN16615"
->buffer management strategy</A
->. The
-driver is also responsible for keeping track of whether or not the
-control operation has succeeded and generating an ACK or STALL
-handshake. </P
-><P
->The polling support is optional and may not be feasible on all
-hardware. It is only used in certain specialised environments such as
-RedBoot. A typical implementation of the polling function would just
-check whether or not an interrupt would have occurred and, if so, call
-the same code that the interrupt handler would.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16741"
-></A
-><H2
->Data Endpoints</H2
-><P
->In addition to the control endpoint data structure, a USB device
-driver should also provide appropriate <A
-HREF="usbs-data.html"
->data
-endpoint</A
-> data structures. Obviously this is only relevant if
-the USB support generally is desired, that is if the control endpoint is
-provided. In addition, higher-level code may not require all the
-endpoints, so it may be useful to provide configuration options that
-control the presence of each endpoint. For example, the intended
-application might only involve a single transmit endpoint and of
-course control messages, so supporting receive endpoints might waste
-memory.</P
-><P
->Conceptually, data endpoints are much simpler than the control
-endpoint. The device driver has to supply two functions, one for
-data transfers and another to control the halted condition. These
-implement the functionality for
-<A
-HREF="usbs-start-rx.html"
-><TT
-CLASS="FUNCTION"
->usbs_start_rx_buffer</TT
-></A
->,
-<A
-HREF="usbs-start-tx.html"
-><TT
-CLASS="FUNCTION"
->usbs_start_tx_buffer</TT
-></A
->,
-<A
-HREF="usbs-halt.html"
-><TT
-CLASS="FUNCTION"
->usbs_set_rx_endpoint_halted</TT
-></A
-> and
-<A
-HREF="usbs-halt.html"
-><TT
-CLASS="FUNCTION"
->usbs_set_tx_endpoint_halted</TT
-></A
->.
-The device driver is also responsible for maintaining the
-<TT
-CLASS="STRUCTFIELD"
-><I
->halted</I
-></TT
-> status.</P
-><P
->For data transfers, higher-level code will have filled in the
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->buffer_size</I
-></TT
->,
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_fn</I
-></TT
-> and
-<TT
-CLASS="STRUCTFIELD"
-><I
->complete_data</I
-></TT
-> fields. The transfer function
-should arrange for the transfer to start, allowing the host to send or
-receive packets. Typically this will result in an interrupt at the end
-of the transfer or after each packet. Once the entire transfer has
-been completed, the driver's interrupt handling code should invoke the
-completion function. This can happen either in DSR context or thread
-context, depending on the driver's implementation. There are a number
-of special cases to consider. If the endpoint is halted when the
-transfer is started then the completion function can be invoked
-immediately with <TT
-CLASS="LITERAL"
->-EAGAIN</TT
->. If the transfer cannot be
-completed because the connection is broken then the completion
-function should be invoked with <TT
-CLASS="LITERAL"
->-EPIPE</TT
->. If the
-endpoint is stalled during the transfer, either because of a standard
-control message or because higher-level code calls the appropriate
-<TT
-CLASS="STRUCTFIELD"
-><I
->set_halted_fn</I
-></TT
->, then again the completion
-function should be invoked with <TT
-CLASS="LITERAL"
->-EAGAIN</TT
->. Finally,
-the &#60;<TT
-CLASS="FUNCTION"
->usbs_start_rx_endpoint_wait</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_start_tx_endpoint_wait</TT
-> functions involve
-calling the device driver's data transfer function with a buffer size
-of 0 bytes.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Giving a buffer size of 0 bytes a special meaning is problematical
-because it prevents transfers of that size. Such transfers are allowed
-by the USB protocol, consisting of just headers and acknowledgements
-and an empty data phase, although rarely useful. A future modification
-of the device driver specification will address this issue, although
-care has to be taken that the functionality remains accessible through
-devtab entries as well as via low-level accesses.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16768"
-></A
-><H2
->Devtab Entries</H2
-><P
->For some applications or higher-level packages it may be more
-convenient to use traditional open/read/write I/O calls rather than
-the non-blocking USB I/O calls. To support this the device driver can
-provide a devtab entry for each endpoint, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#ifdef CYGVAR_DEVS_USB_SA11X0_EP1_DEVTAB_ENTRY
-
-static CHAR_DEVIO_TABLE(usbs_sa11x0_ep1_devtab_functions,
-                        &amp;cyg_devio_cwrite,
-                        &amp;usbs_devtab_cread,
-                        &amp;cyg_devio_bwrite,
-                        &amp;cyg_devio_bread,
-                        &amp;cyg_devio_select,
-                        &amp;cyg_devio_get_config,
-                        &amp;cyg_devio_set_config);
-
-static CHAR_DEVTAB_ENTRY(usbs_sa11x0_ep1_devtab_entry,
-                         CYGDAT_DEVS_USB_SA11X0_DEVTAB_BASENAME "1r",
-                         0,
-                         &amp;usbs_sa11x0_ep1_devtab_functions,
-                         &amp;usbs_sa11x0_devtab_dummy_init,
-                         0,
-                         (void*) &amp;usbs_sa11x0_ep1);
-#endif</PRE
-></TD
-></TR
-></TABLE
-><P
->Again care must be taken to avoid name clashes. This can be achieved
-by having a configuration option to control the base name, with a
-default value of e.g. <TT
-CLASS="LITERAL"
->/dev/usbs</TT
->, and appending an
-endpoint-specific string. This gives the application developer
-sufficient control to eliminate any name clashes. The common USB slave
-package provides functions <TT
-CLASS="FUNCTION"
->usbs_devtab_cwrite</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_devtab_cread</TT
->, which can be used in the
-function tables for transmit and receive endpoints respectively. The
-private field <TT
-CLASS="STRUCTFIELD"
-><I
->priv</I
-></TT
-> of the devtab entry
-should be a pointer to the underlying endpoint data structure.</P
-><P
->Because devtab entries are never accessed directly, only indirectly,
-they would usually be eliminated by the linker. To avoid this the
-devtab entries should normally be defined in a separate source file
-which ends up the special library <TT
-CLASS="FILENAME"
->libextras.a</TT
->
-rather than in the default library <TT
-CLASS="FILENAME"
->libtarget.a</TT
->.</P
-><P
->Not all applications or higher-level packages will want to use the
-devtab entries and the blocking I/O facilities. It may be appropriate
-for the device driver to provide additional configuration options that
-control whether or not any or all of the devtab entries should be
-provided, to avoid unnecessary memory overheads.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16781"
-></A
-><H2
->Interrupt Handling</H2
-><P
->A typical USB device driver will need to service interrupts for all of
-the endpoints and possibly for additional USB events such as entering
-or leaving suspended mode. Usually these interrupts need not be
-serviced directly by the ISR. Instead, they can be left to a DSR. If
-the peripheral is not able to accept or send another packet just yet,
-the hardware will generate a NAK and the host will just retry a little
-bit later. If high throughput is required then it may be desirable to
-handle the bulk transfer protocol largely at ISR level, that is take
-care of each packet in the ISR and only activate the DSR once the
-whole transfer has completed.</P
-><P
->Control messages may involve invoking arbitrary callback functions in
-higher-level code. This should normally happen at DSR level. Doing it
-at ISR level could seriously affect the system's interrupt latency and
-impose unacceptable constraints on what operations can be performed by
-those callbacks. If the device driver requires a thread anyway then it
-may be appropriate to use this thread for invoking the callbacks, but
-usually it is not worthwhile to add a new thread to the system just
-for this; higher-level code is expected to write callbacks that
-function sensibly at DSR level. Much the same applies to the
-completion functions associated with data transfers. These should also
-be invoked at DSR or thread level.</P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN16785"
-></A
-><H2
->Support for USB Testing</H2
-><P
->Optionally a USB device driver can provide support for the
-<A
-HREF="usbs-testing.html"
->USB test software</A
->. This requires
-defining a number of additional data structures, allowing the
-generic test code to work out just what the hardware is capable of and
-hence what testing can be performed.</P
-><P
->The key data structure is
-<SPAN
-CLASS="STRUCTNAME"
->usbs_testing_endpoint</SPAN
->, defined in <TT
-CLASS="FILENAME"
->cyg/io/usb/usbs.h</TT
->. In addition some
-commonly required constants are provided by the common USB package in
-<TT
-CLASS="FILENAME"
->cyg/io/usb/usb.h</TT
->. One
-<SPAN
-CLASS="STRUCTNAME"
->usbs_testing_endpoint</SPAN
-> structure should be
-defined for each supported endpoint. The following fields need to be
-filled in:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->endpoint_type</I
-></TT
-></DT
-><DD
-><P
->    This specifies the type of endpoint and should be one of
-    <TT
-CLASS="LITERAL"
->USB_ENDPOINT_DESCRIPTOR_ATTR_CONTROL</TT
->,
-    <TT
-CLASS="LITERAL"
->BULK</TT
->, <TT
-CLASS="LITERAL"
->ISOCHRONOUS</TT
-> or
-    <TT
-CLASS="LITERAL"
->INTERRUPT</TT
->.
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->endpoint_number</I
-></TT
-></DT
-><DD
-><P
->    This identifies the number that should be used by the host
-    to address this endpoint. For a control endpoint it should
-    be 0. For other types of endpoints it should be between
-    1 and 15.
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->endpoint_direction</I
-></TT
-></DT
-><DD
-><P
->    For control endpoints this field is irrelevant. For other
-    types of endpoint it should be either
-    <TT
-CLASS="LITERAL"
->USB_ENDPOINT_DESCRIPTOR_ENDPOINT_IN</TT
-> or
-    <TT
-CLASS="LITERAL"
->USB_ENDPOINT_DESCRIPTOR_ENDPOINT_OUT</TT
->. If a given
-    endpoint number can be used for traffic in both directions then
-    there should be two entries in the array, one for each direction.
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->endpoint</I
-></TT
-></DT
-><DD
-><P
->    This should be a pointer to the appropriate
-    <SPAN
-CLASS="STRUCTNAME"
->usbs_control_endpoint</SPAN
->,
-    <SPAN
-CLASS="STRUCTNAME"
->usbs_rx_endpoint</SPAN
-> or
-    <SPAN
-CLASS="STRUCTNAME"
->usbs_tx_endpoint</SPAN
-> structure, allowing the
-    generic testing code to perform low-level I/O.
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->devtab_entry</I
-></TT
-></DT
-><DD
-><P
->    If the endpoint also has an entry in the system's device table then
-    this field should give the corresponding string, for example
-    <TT
-CLASS="LITERAL"
->&quot;/dev/usbs1r&quot;</TT
->. This allows the
-    generic testing code to access the device via higher-level
-    calls like <TT
-CLASS="FUNCTION"
->open</TT
-> and <TT
-CLASS="FUNCTION"
->read</TT
->. 
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->min_size</I
-></TT
-></DT
-><DD
-><P
->    This indicates the smallest transfer size that the hardware can
-    support on this endpoint. Typically this will be one.
-  </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->    Strictly speaking a minimum size of one is not quite right since it
-    is valid for a USB transfer to involve zero bytes, in other words a
-    transfer that involves just headers and acknowledgements and an
-    empty data phase, and that should be tested as well. However current
-    device drivers interpret a transfer size of 0 as special, so that
-    would have to be resolved first.
-  </P
-></BLOCKQUOTE
-></DIV
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->max_size</I
-></TT
-></DT
-><DD
-><P
->    Similarly, this specifies the largest transfer size. For control
-    endpoints the USB protocol uses only two bytes to hold the transfer
-    length, so there is an upper bound of 65535 bytes. In practice
-    it is very unlikely that any control transfers would ever need to
-    be this large, and in fact such transfers would take a long time
-    and probably violate timing constraints. For other types of endpoint
-    any of the protocol, the hardware, or the device driver may impose
-    size limits. For example a given device driver might be unable to
-    cope with transfers larger than 65535 bytes. If it should be
-    possible to transfer arbitrary amounts of data then a value of
-    <TT
-CLASS="LITERAL"
->-1</TT
-> indicates no upper limit, and transfer
-    sizes will be limited by available memory and by the capabilities
-    of the host machine.
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->max_in_padding</I
-></TT
-></DT
-><DD
-><P
->    This field is needed on some hardware where it is impossible to
-    send packets of a certain size. For example the hardware may be
-    incapable of sending an empty bulk packet to terminate a transfer
-    that is an exact multiple of the 64-byte bulk packet size.
-    Instead the driver has to do some padding and send an extra byte,
-    and the host has to be prepared to receive this extra byte. Such a
-    driver should specify a value of <TT
-CLASS="LITERAL"
->1</TT
-> for the
-    padding field. For most drivers this field should be set to
-  <TT
-CLASS="LITERAL"
->0</TT
->.
-  </P
-><P
->    A better solution would be for the device driver to supply a
-    fragment of Tcl code that would adjust the receive buffer size
-    only when necessary, rather than for every transfer. Forcing
-    receive padding on all transfers when only certain transfers
-    will actually be padded reduces the accuracy of certain tests.
-  </P
-></DD
-><DT
-><TT
-CLASS="STRUCTFIELD"
-><I
->alignment</I
-></TT
-></DT
-><DD
-><P
->    On some hardware data transfers may need to be aligned to certain
-    boundaries, for example a word boundary or a cacheline boundary.
-    Although in theory device drivers could hide such alignment
-    restrictions from higher-level code by having their own buffers and
-    performing appropriate copying, that would be expensive in terms of
-    both memory and cpu cycles. Instead the generic testing code will
-    align any buffers passed to the device driver to the specified
-    boundary. For example, if the driver requires that buffers be
-    aligned to a word boundary then it should specify an alignment
-    value of 4.
-  </P
-></DD
-></DL
-></DIV
-><P
->The device driver should provide an array of these structures
-<TT
-CLASS="VARNAME"
->usbs_testing_endpoints[]</TT
->. The USB testing code
-examines this array and uses the information to perform appropriate
-tests. Because different USB devices support different numbers of
-endpoints the number of entries in the array is not known in advance,
-so instead the testing code looks for a special terminator
-<TT
-CLASS="VARNAME"
->USBS_TESTING_ENDPOINTS_TERMINATOR</TT
->. An example
-array, showing just the control endpoint and the terminator, might
-look like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->usbs_testing_endpoint usbs_testing_endpoints[] = {
-    {
-        endpoint_type       : USB_ENDPOINT_DESCRIPTOR_ATTR_CONTROL, 
-        endpoint_number     : 0,
-        endpoint_direction  : USB_ENDPOINT_DESCRIPTOR_ENDPOINT_IN,
-        endpoint            : (void*) &amp;ep0.common,
-        devtab_entry        : (const char*) 0,
-        min_size            : 1,
-        max_size            : 0x0FFFF,
-        max_in_padding      : 0,
-        alignment           : 0
-    },
-    &#8230;,
-    USBS_TESTING_ENDPOINTS_TERMINATOR
-};</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The use of a single array <TT
-CLASS="VARNAME"
->usbs_testing_endpoints</TT
->
-limits USB testing to platforms with a single USB device: if there
-were multiple devices, each defining their own instance of this array,
-then there would a collision at link time. In practice this should not
-be a major problem since typical USB peripherals only interact with a
-single host machine via a single slave port. In addition, even if a
-peripheral did have multiple slave ports the current USB testing code
-would not support this since it would not know which port to use.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbs-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbs-testing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Data Endpoints</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Testing</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-control.html b/doc/html/ref/usbseth-control.html
deleted file mode 100644 (file)
index d483a52..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->USB-ethernet State Handling</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="USB-ethernet Data Transfers"
-HREF="usbseth-data.html"><LINK
-REL="NEXT"
-TITLE="Network Device for the eCos TCP/IP Stack"
-HREF="usbseth-netdev.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-netdev.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-CONTROL">USB-ethernet State Handling</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17514"
-></A
-><H2
->Name</H2
->USB-ethernet State Handling&nbsp;--&nbsp;Maintaining the USB-ethernet connection with the host</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN17517"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN17518"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs_eth.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->usbs_control_return usbs_eth_class_control_handler</CODE
->(usbs_control_endpoint* ep0, void* callback_data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_eth_state_change_handler</CODE
->(usbs_control_endpoint* ep0, void* callback_data, usbs_state_change change, int old_state);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_eth_disable</CODE
->(usbs_eth* usbseth&#62;);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_eth_enable</CODE
->(usbs_eth* usbseth&#62;);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17548"
-></A
-><H2
->Description</H2
-><P
->When the USB-ethernet package is initialized by a call to <A
-HREF="usbseth-init.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-></A
-> it
-installs <TT
-CLASS="FUNCTION"
->usbs_eth_state_change_handler</TT
-> to handle
-USB state changes. This allows the package to detect when the
-connection between the host and the peripheral is established or
-broken, resulting in internal calls to
-<TT
-CLASS="FUNCTION"
->usbs_eth_enable</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_disable</TT
-> respectively. This is
-appropriate if no other code needs to access the USB device. However,
-if there is other code, either other USB-related packages or the
-application itself, that needs to perform I/O over the USB bus, then
-typically the USB-ethernet package should not have exclusive access to
-state change events. Instead, the assumption is that higher-level
-code, typically provided by the application, will install an
-alternative state change handler in the control endpoint data
-structure after the call to <TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
->. This
-alternative handler will either chain into
-<TT
-CLASS="FUNCTION"
->usbs_eth_state_change_handler</TT
-> when appropriate,
-or else it will invoke <TT
-CLASS="FUNCTION"
->usbs_eth_enable</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_disable</TT
-> directly. For further details of
-state change handlers and control endpoints generally, see the
-documentation for the common USB-slave package.</P
-><P
->Similarly, <TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-> will install
-<TT
-CLASS="FUNCTION"
->usbs_eth_class_control_handler</TT
-> in the control
-endpoint data structure as the appropriate handler for class-specific
-USB control messages. This code will handle the ethernet-specific
-<A
-HREF="usbseth-protocol.html"
->control messages </A
->, for example
-requests by the host to enable or disable promiscuous mode or to
-obtain the MAC address. If the USB device is not shared with any other
-code then this is both necessary and sufficient. However, if other code
-is involved and if that code also needs to process certain control
-messages, higher-level code should install its own handler and chain
-to the USB-ethernet one when appropriate. It should be noted that the
-request code is encoded in just a single byte, so there is a real
-possibility that exactly the same number will be used by different
-protocols for different requests. Any such problems will have to be
-identified and resolved by application developers, and may involve
-modifying the source code for the USB-ethernet package.</P
-><P
->As an alternative to chaining the state change handler, higher-level
-code can instead call <TT
-CLASS="FUNCTION"
->usbs_eth_disable</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_enable</TT
-> directly. These functions may
-also be called if the USB-ethernet package should become inactive for
-reasons not related directly to events on the USB bus. The main effect
-of <TT
-CLASS="FUNCTION"
->usbs_eth_enable</TT
-> is to restart receive
-operations and to allow transmits. The main effect of
-<TT
-CLASS="FUNCTION"
->usbs_eth_disable</TT
-> is to block further transmits:
-any current receive operations need to be aborted at the USB level,
-for example by halting the appropriate endpoint.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-data.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-netdev.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->USB-ethernet Data Transfers</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Network Device for the eCos TCP/IP Stack</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-data.html b/doc/html/ref/usbseth-data.html
deleted file mode 100644 (file)
index 30c5c81..0000000
+++ /dev/null
@@ -1,380 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->USB-ethernet Data Transfers</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="Initializing the USB-ethernet Package"
-HREF="usbseth-init.html"><LINK
-REL="NEXT"
-TITLE="USB-ethernet State Handling"
-HREF="usbseth-control.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-init.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-DATA">USB-ethernet Data Transfers</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17445"
-></A
-><H2
->Name</H2
->USB-ethernet Data Transfers&nbsp;--&nbsp;Exchanging ethernet packets with the USB host</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN17448"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN17449"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs_eth.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_eth_start_rx</CODE
->(usbs_eth* usbseth, unsigned char* buffer, void (*)(usbs_eth*, void*, int) complete_fn, void* complete_data);</CODE
-></P
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_eth_start_tx</CODE
->(usbs_eth* usbseth, unsigned char* buffer, void (*)(usbs_eth*, void*, int) complete_fn, void* complete_data);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17473"
-></A
-><H2
->Description</H2
-><P
->The USB-ethernet package provides two main modes of operation. In the
-first mode it provides a <A
-HREF="usbseth-netdev.html"
->network device
-driver</A
-> for use by a TCP/IP stack running inside the USB
-peripheral. All incoming ethernet packages should be passed up the
-TCP/IP stack, and only the stack will generate outgoing packets. Apart
-from <A
-HREF="usbseth-init.html"
->initialization</A
-> and possibly
-certain <A
-HREF="usbseth-control.html"
->control operations</A
->,
-higher-level code will not interact with the USB-ethernet package
-directly.</P
-><P
->In the second mode there is no TCP/IP stack running inside the USB
-peripheral. For example, a simple USB-ethernet converter has an
-ethernet chip and a USB port: ethernet packets received by the
-ethernet chip need to be forwarded to the USB host, and ethernet
-packets sent by the USB host need to be sent out of the ethernet chip.
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_rx</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
-> allow for this lower-level
-access to the USB-ethernet package.</P
-><P
->The two modes of operation are mutually exclusive. If the network
-device driver mode is enabled then application code should communicate
-at the TCP/IP level, and not by using the lower-level functions.
-Instead, it is the network device driver that will make use of these
-functions, and it assumes that it has exclusive access. The package
-does not perform any locking.</P
-><P
->The transmit and receive functions work in much the same way. The
-first argument identifies the <SPAN
-CLASS="STRUCTNAME"
->usbs_eth</SPAN
->
-structure that should be used. For the majority of applications this
-will be <TT
-CLASS="LITERAL"
->usbs_eth0</TT
->. The second argument specifies
-the location of the ethernet packet; outgoing for
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
-> and incoming for
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_rx</TT
->. This buffer should correspond
-to the <A
-HREF="usbseth-protocol.html"
->protocol</A
->:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Outgoing packets can consist of up to 1516 bytes, consisting of a
-two-byte header specific to USB-ethernet followed by a standard
-ethernet frame (a header with 6-byte destination address, 6-byte
-source address and a further two bytes, followed by a payload of
-up to 1500 bytes). The two-byte USB-ethernet header consists simply of
-the size of the ethernet frame, i.e. the size of the rest of the
-packet not including the USB-ethernet header, with the least
-significant byte first.</P
-></LI
-><LI
-><P
->For incoming packets the supplied buffer should usually be at least
-1516 bytes. There may be special circumstances in which a smaller
-buffer might be safe; for example, if the host-side device driver is
-modified to support only smaller packets. Once the packet has been
-received the buffer will contain a two-byte header specific to
-USB-ethernet, followed by a normal ethernet frame. The header
-gives the size of the ethernet frame, excluding the header, with the
-least significant byte first.</P
-></LI
-></OL
-><P
->Both <TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_rx</TT
-> are asynchronous: the transfer
-is started and, some time later, a completion function will be invoked.
-The third and fourth arguments to both
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_rx</TT
-> supply the completion function
-and an argument to that function respectively. The completion function
-will be invoked with three arguments: a pointer to the
-<SPAN
-CLASS="STRUCTNAME"
->usbs_eth</SPAN
-> data structure, usually
-<TT
-CLASS="LITERAL"
->usbs_eth0</TT
->; the supplied completion data ; and a
-return code field. A negative value indicates that an error occurred,
-for example <TT
-CLASS="LITERAL"
->-EPIPE</TT
-> if the connection between USB
-host and peripheral has been broken, or <TT
-CLASS="LITERAL"
->-EAGAIN</TT
-> if
-an endpoint has been halted. A positive value indicates the total size
-of the transfer, which should correspond to the size in the
-USB-ethernet header plus an additional two bytes for the header
-itself.</P
-><P
->If the data transfer is succesful then the completion function will
-typically be invoked in DSR context rather than in thread context,
-although this depends on the implementation of the underlying USB
-device driver. Therefore the completion function is restricted in what
-it can do; in particular, it must not make any calls that will or may
-block such as locking a mutex or allocating memory. The kernel
-documentation should be consulted for more details of DSR's and
-interrupt handling generally. Note that if the transfer finishes
-quickly then the completion function may be invoked before
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_rx</TT
-> or
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
-> returns. This is especially
-likely to happen if the current thread is descheduled after starting
-the data transfer but before returning from these functions.</P
-><P
->For transmit operations, it is possible for
-<TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
-> to invoke the completion
-function immediately. If there is no current connection between host
-and target then the transmit will fail immediately with
-<TT
-CLASS="LITERAL"
->-EPIPE</TT
->. In addition the USB-ethernet package will
-check the destination MAC address and make sure that the ethernet
-frame really is intended for the host: either it must be for the
-address specified in the initialization call <A
-HREF="usbseth-init.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-></A
->, or
-it must be a broadcast packet, or the host must have enabled
-promiscuous mode. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-init.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-control.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Initializing the USB-ethernet Package</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->USB-ethernet State Handling</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-host.html b/doc/html/ref/usbseth-host.html
deleted file mode 100644 (file)
index a6db012..0000000
+++ /dev/null
@@ -1,338 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Example Host-side Device Driver</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="Network Device for the eCos TCP/IP Stack"
-HREF="usbseth-netdev.html"><LINK
-REL="NEXT"
-TITLE="Communication Protocol"
-HREF="usbseth-protocol.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-netdev.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-protocol.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-HOST">Example Host-side Device Driver</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17593"
-></A
-><H2
->Name</H2
->Example Host-side Device Driver&nbsp;--&nbsp;Provide host-side support for the eCos USB-ethernet package</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17596"
-></A
-><H2
->Description</H2
-><P
->The USB-ethernet package is supplied with a single host-side device
-driver. This driver has been developed against the Linux kernel
-2.2.16-22, as shipped with Red Hat 7. The driver is provided as is and
-should not be considered production quality: for example it only
-checks for a bogus vendor id <TT
-CLASS="LITERAL"
->0x4242</TT
-> rather than an
-official vendor id supplied by the <A
-HREF="http://www.usb.org/"
-TARGET="_top"
->USB Implementers Forum</A
->. Also, if the
-peripheral involves multiple configurations or multiple interfaces, it
-will fail to detect this. However, the driver can be used for simple
-testing and as the basis of a full device driver. Details of the
-protocol used between host and peripheral can be found in the <A
-HREF="usbseth-protocol.html"
->Communication Protocol</A
-> section.</P
-><P
->The host-side device driver can be found in the <TT
-CLASS="FILENAME"
->host</TT
-> subdirectory of the USB-ethernet
-package, specifically the file <TT
-CLASS="FILENAME"
->ecos_usbeth.c</TT
->, and
-comes with a <TT
-CLASS="FILENAME"
->Makefile</TT
->. Both files may need
-to be modified for specific applications. For example, the vendor id
-table <TT
-CLASS="LITERAL"
->ecos_usbeth_implementations</TT
-> may need to be
-updated for the specific USB peripheral being built. The
-<TT
-CLASS="FILENAME"
->Makefile</TT
-> assumes that the Linux kernel sources
-reside in <TT
-CLASS="FILENAME"
->/usr/src/linux</TT
->, and
-that the kernel has already been configured and built. Assuming this
-is the case, the device driver can be built simply by invoking
-<B
-CLASS="COMMAND"
->make</B
-> with no additional arguments. This will result
-in a dynamically loadable kernel module,
-<TT
-CLASS="FILENAME"
->ecos_usbeth.o</TT
->, in the current directory.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->As normal for Linux kernel builds, the generated files such as
-<TT
-CLASS="FILENAME"
->ecos_usbeth.o</TT
-> live in the same directory as the
-source tree. This is very different from eCos where the source tree
-(or component repository) is kept separate from any builds. There may
-be problems if the component repository is kept read-only or if it is
-put under source code control. Any such problems can be avoided by
-making a copy of the <TT
-CLASS="FILENAME"
->host</TT
->
-subdirectory and building that copy.</P
-></BLOCKQUOTE
-></DIV
-><P
->Loading the kernel module into the current system requires root
-privileges. If the generic USB support is also a loadable module and
-has not been loaded already, this must happen first:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># insmod usb-uhci
-Using /lib/modules/2.2.16-22/usb/usb-uhci.o</PRE
-></TD
-></TR
-></TABLE
-><P
->Depending on the host hardware, the <TT
-CLASS="LITERAL"
->uhci</TT
-> or
-<TT
-CLASS="LITERAL"
->usb-ohci</TT
-> modules may be more appropriate. Loading
-the generic USB module will typically result in a number of messages
-to the logfile <TT
-CLASS="FILENAME"
->/var/log/messages</TT
->, giving details
-of the specific host-side hardware that has been detected plus any
-hubs. The next step is to load the USB-ethernet module:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># insmod ecos_usbeth.o</PRE
-></TD
-></TR
-></TABLE
-><P
->This should result in a number of additional diagnostics in the
-logfile:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Apr 1 18:01:08 grumpy kernel: eCos USB-ethernet device driver
-Apr 1 18:01:08 grumpy kernel: usb.c: registered new driver ecos_usbeth</PRE
-></TD
-></TR
-></TABLE
-><P
->If a suitable USB peripheral is now connected the host will detect
-this, assign an address in the local USB network, obtain enumeration
-data, and find a suitable device driver. Assuming the peripheral and
-device driver agree on the supported vendor ids, the
-<TT
-CLASS="FILENAME"
->ecos_usbeth.o</TT
-> module will be selected and this
-will be reported in the system log:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Apr 1 18:04:12 grumpy kernel: usb.c: USB new device connect, assigned device number 3
-Apr 1 18:04:12 grumpy kernel: eCos-based USB ethernet peripheral active at eth1</PRE
-></TD
-></TR
-></TABLE
-><P
->What can happen next depends very much on the software that is running
-on top of the USB-ethernet package inside the peripheral. For example,
-if there is a TCP/IP stack then it should be possible to bring up a
-network connection between host and peripheral using
-<B
-CLASS="COMMAND"
->ifconfig</B
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-netdev.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-protocol.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Network Device for the eCos TCP/IP Stack</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Communication Protocol</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-init.html b/doc/html/ref/usbseth-init.html
deleted file mode 100644 (file)
index 7c1e6ee..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Initializing the USB-ethernet Package</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="usbseth-intro.html"><LINK
-REL="NEXT"
-TITLE="USB-ethernet Data Transfers"
-HREF="usbseth-data.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-INIT">Initializing the USB-ethernet Package</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17398"
-></A
-><H2
->Name</H2
-><TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
->&nbsp;--&nbsp;Initializing the USB-ethernet Package</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN17402"><H2
->Synopsis</H2
-><DIV
-CLASS="FUNCSYNOPSIS"
-><A
-NAME="AEN17403"><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="FUNCSYNOPSISINFO"
->#include &lt;cyg/io/usb/usbs_eth.h&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
-><CODE
-><CODE
-CLASS="FUNCDEF"
->void usbs_eth_init</CODE
->(usbs_eth* usbeth, usbs_control_endpoint* ep0, usbs_rx_endpoint* ep1, usbs_tx_endpoint* ep2, unsigned char* mac_address);</CODE
-></P
-><P
-></P
-></DIV
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17418"
-></A
-><H2
->Description</H2
-><P
->The USB-ethernet package is not tied to any specific hardware. It
-requires certain functionality: there must be USB-slave hardware
-supported by a device driver; there must also be two endpoints for
-bulk transfers between host and peripheral, one for each direction;
-there must also be a control endpoint, although of course that is
-implicit with any USB hardware.</P
-><P
->However, USB-slave hardware may well provide more endpoints than the
-minimum required for ethernet support. Some of those endpoints might
-be used by other packages, while other endpoints might be used
-directly by the application, or might not be needed for the peripheral
-being built. There is also the possibility of a USB peripheral that
-supports multiple configurations, with the ethernet support active in
-only some of those configurations. The USB-ethernet package has no
-knowledge about any of this, so it relies on higher-level code to tell
-it which endpoints should be used and other information. This is the
-purpose of the <TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-> function.</P
-><P
->The first argument identifies the specific
-<SPAN
-CLASS="STRUCTNAME"
->usbs_eth</SPAN
-> data structure that is affected. It
-is expected that the vast majority of affected applications will only
-provide a single USB-ethernet device to a single host, and the package
-automatically provides a suitable data structure
-<TT
-CLASS="LITERAL"
->usbs_eth0</TT
-> to support this. If multiple
-<SPAN
-CLASS="STRUCTNAME"
->usbs_eth</SPAN
-> structures are needed for some
-reason then these need to be instantiated by other code, and each one
-needs to be initialised by a call to
-<TT
-CLASS="FUNCTION"
->usbs_eth_init()</TT
->. </P
-><P
->The next three arguments identify the endpoints that should be used
-for USB communications: a control endpoint, a receive endpoint for
-ethernet packets coming from the host to the peripheral, and a
-transmit endpoint for ethernet packets going in the other direction.
-Obviously all three endpoints should be provided by the same USB
-hardware. The USB-ethernet package assumes that it has sole access to
-the receive and transmit endpoints, subject to the use of
-<TT
-CLASS="FUNCTION"
->usbs_eth_disable</TT
-> and
-<TT
-CLASS="FUNCTION"
->usbs_eth_enable</TT
-> control functions. The package
-also assumes that no other code is interested in USB state changes or
-class control messages: it installs handlers
-<A
-HREF="usbseth-control.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_state_change_handler</TT
-></A
->
-and
-<A
-HREF="usbseth-control.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_class_control_handler</TT
-></A
->
-in the control endpoint. If any other code does need to handle USB
-state changes or class control messages then replacement handlers
-should be installed after the call to
-<TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
->, and those replacements should
-invoke the USB-ethernet ones when appropriate.</P
-><P
->The final argument to <TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-> specifies 
-the MAC address (or Ethernet Station Address) that should be provided
-to the host-side device driver. Since the USB-ethernet package does not
-interact directly with a real ethernet device it cannot obtain the MAC
-address from any hardware. Instead, it must be supplied by higher-level
-code. The details depend on the <A
-HREF="usbseth-intro.html#AEN17377"
->scenario</A
-> in which the
-USB-ethernet package is being used.</P
-><P
->The call to <TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-> should normally happen
-after the enumeration data has been provided but before the underlying
-USB device driver has been started. If the USB device were to be
-started first then a connection between host and peripheral could be
-established immediately, and the host-side device driver would attempt
-to contact the USB-ethernet package for information such as the MAC
-address. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->int
-main(int argc, char** argv)
-{
-    unsigned char host_MAC[6] = { 0x40, 0x5d, 0x90, 0xa9, 0xbc, 0x02 };
-
-    usbs_sa11x0_ep0.enumeration_data    = &amp;usb_enum_data;
-    &#8230;
-    usbs_eth_init(&amp;usbs_eth0, &amp;usbs_sa11x0_ep0, &amp;usbs_sa11x0_ep1, &amp;usbs_sa11x0_ep2, host_MAC);
-    &#8230;
-    usbs_start(&amp;usbs_sa11x0_ep0);
-    &#8230;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-intro.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-data.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->USB-ethernet Data Transfers</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-intro.html b/doc/html/ref/usbseth-intro.html
deleted file mode 100644 (file)
index 441d8e5..0000000
+++ /dev/null
@@ -1,318 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="NEXT"
-TITLE="Initializing the USB-ethernet Package"
-HREF="usbseth-init.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-init.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-INTRO">Introduction</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17361"
-></A
-><H2
->Name</H2
->Introduction&nbsp;--&nbsp;eCos support for developing USB ethernet peripherals</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17364"
-></A
-><H2
->Introduction</H2
-><P
->The eCos USB-ethernet package provides additional support for USB
-peripherals that involve some sort of ethernet-style network. This can
-be a traditional ethernet, or it can involve some other networking
-technology that uses ethernet frames as a unit of transfer. It
-provides functions to transfer ethernet frames over the USB bus,
-handles certain control messages from the host, and optionally it can
-provide a network device driver for use by the eCos TCP/IP stack.
-The package comes with an example host-side device driver.</P
-><P
->The USB-ethernet package is not tied to any specific hardware. It
-requires the presence of USB hardware and a suitable device driver,
-but not all USB peripherals involve ethernet communications. Hence the
-configuration system cannot load the package automatically for
-specific targets, in the way that a USB device driver or an ethernet
-driver can be loaded automatically. Instead, the package has to be
-added explicitly. When using the command line tools this will involve
-an operation like the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig add usbs_eth</PRE
-></TD
-></TR
-></TABLE
-><P
->Typically, this will automatically cause the USB device driver to
-become active. Loading the USB-ethernet package automatically provides
-functionality for <A
-HREF="usbseth-init.html"
->initialization</A
->,
-<A
-HREF="usbseth-data.html"
->data transfer</A
->, and the handling of
-<A
-HREF="usbseth-control.html"
->control messages</A
-> and state
-changes. If the current configuration includes the eCos TCP/IP stack
-then the <A
-HREF="usbseth-netdev.html"
->network device driver</A
->
-support will be enabled as well by default, allowing the stack to
-exchange ethernet frames over the USB bus.</P
-><P
->There is a USB standard for a class of communication devices including
-ethernet. The package does not implement this standard, due to
-limitations in the hardware for which the package was first developed.
-Instead, the package uses its own <A
-HREF="usbseth-protocol.html"
->protocol</A
-> between USB
-<A
-HREF="usbseth-host.html"
->host device driver</A
-> and the
-peripheral. </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17377"
-></A
-><H2
->Usage Scenarios</H2
-><P
->The USB-ethernet package can be used several different scenarios. In
-a simple scenario, the peripheral serves only to connect the USB host
-to a suitable network:</P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN17380"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="simple.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->After initialization, and once the USB connection between host and
-peripheral has been established, higher-level code needs to detect
-packets that are intended for the host, and to forward these. This can
-be achieved by the low-level <TT
-CLASS="FUNCTION"
->usbs_eth_start_tx</TT
->
-function. Similarly, higher-level code needs to detect packets coming
-from the host, using <TT
-CLASS="FUNCTION"
->usbs_eth_start_rx</TT
->, and to
-forward these using the real network. As far as the host is concerned
-it is connected directly to the network. In this scenario there is no
-confusion about addresses: there is a single MAC address for the
-host/peripheral combination, corresponding to the connection to the
-real network, and it is this address which should be supplied during
-<A
-HREF="usbseth-init.html"
->initialization</A
->.</P
-><P
->In a more complicated scenario, there is a TCP/IP stack running inside
-the peripheral.</P
-><DIV
-CLASS="INFORMALFIGURE"
-><A
-NAME="AEN17389"><P
-></P
-><DIV
-CLASS="MEDIAOBJECT"
-><P
-><IMG
-SRC="tcpip.png"
-ALIGN="CENTER"></P
-></DIV
-><P
-></P
-></DIV
-><P
->This involves the USB-ethernet package providing a service both to the
-host and to the eCos TCP/IP stack. It achieves the latter by acting as
-an eCos network device. Typically, the TCP/IP stack will be configured
-to act as a network bridge. The USB peripheral needs to examine the
-packets arriving over the real network. Some of these packets will be
-intended for the host, while others will be intended for the
-peripheral itself. To distinguish between these two scenarios, two
-distinct MAC addresses are needed: one for the host, and one for the
-peripheral. Similarly, packets sent by the host may have to be
-forwarded via the real network, or they may be intended for the TCP/IP
-stack inside the peripheral. Packets generated inside the peripheral's
-TCP/IP stack may need to be sent via the real network or over the USB
-bus. The network bridge software will have to take care of all these
-possibilities. Unusually for a network bridge, one of the network
-segments being bridged will only ever have one machine attached.</P
-><P
->There are other possible usage scenarios. For example, the peripheral
-might not be attached to a real network at all. Instead it could be
-the USB host that acts as a network bridge, allowing a TCP/IP stack
-inside the peripheral to communicate with the outside world. The
-various details will depend on the exact type of peripheral being
-developed. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-init.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos Support for Developing USB-ethernet Peripherals</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Initializing the USB-ethernet Package</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-netdev.html b/doc/html/ref/usbseth-netdev.html
deleted file mode 100644 (file)
index 1283daa..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Network Device for the eCos TCP/IP Stack</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="USB-ethernet State Handling"
-HREF="usbseth-control.html"><LINK
-REL="NEXT"
-TITLE="Example Host-side Device Driver"
-HREF="usbseth-host.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="usbseth-host.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-NETDEV">Network Device for the eCos TCP/IP Stack</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17572"
-></A
-><H2
->Name</H2
->Network Device&nbsp;--&nbsp;USB-ethernet support for the eCos TCP/IP Stack</DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17575"
-></A
-><H2
->Description</H2
-><P
->If the USB peripheral involves running the eCos TCP/IP stack and that
-stack needs to use USB-ethernet as a transport layer (or as one of the
-transports), then the USB-ethernet package can provide a suitable
-network device driver. It is still necessary for higher-level code to
-perform appropriate initialization by calling <A
-HREF="usbseth-init.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-></A
->, but
-after that it will be the TCP/IP stack rather than application code
-that transmits or receives ethernet frames.</P
-><P
->Not all peripherals involving the USB-ethernet package will require a
-TCP/IP stack. Hence the provision of the network device is controlled
-by a configuration option <TT
-CLASS="LITERAL"
->CYGPKG_USBS_ETHDRV</TT
->. By
-default this will be enabled if the TCP/IP package
-<TT
-CLASS="LITERAL"
->CYGPKG_NET</TT
-> is loaded, and disabled otherwise. </P
-><P
->There are a number of other configuration options related to the
-network device. <TT
-CLASS="LITERAL"
->CYGFUN_USBS_ETHDRV_STATISTICS</TT
->
-determines whether or not the package will maintain statistics, mainly
-intended for SNMP: by default this will be enabled if the SNMP support
-package <TT
-CLASS="LITERAL"
->CYGPKG_SNMPAGENT</TT
-> is loaded, and disabled
-otherwise. The name of the ethernet device is controlled by
-<TT
-CLASS="LITERAL"
->CYGDATA_USBS_ETHDRV_NAME</TT
->, and has a default value
-of either <TT
-CLASS="LITERAL"
->eth0</TT
-> or <TT
-CLASS="LITERAL"
->eth1</TT
->
-depending on whether or not there is another network device driver
-present in the configuration.</P
-><P
->Usually eCos network device drivers default to using DHCP for
-obtaining necessary information such as IP addresses. This is not
-appropriate for USB-ethernet devices. On the host-side the
-USB-ethernet network device will not exist until the USB peripheral
-has been plugged in and communication has been established. Therefore
-any DHCP daemon on the host would not be listening on that network
-device at the point that eCos requests its IP and other information. A
-related issue is that the use of DHCP would imply the presence of a
-DHCP daemon on every affected host machine, as opposed to a single
-daemon (plus backups) for the network as a whole. For these reasons
-the USB-ethernet package precludes the use of DHCP as a way of setting
-the IP address, instead requiring alternatives such as manual
-configuration.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-control.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="usbseth-host.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->USB-ethernet State Handling</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Example Host-side Device Driver</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/usbseth-protocol.html b/doc/html/ref/usbseth-protocol.html
deleted file mode 100644 (file)
index 4e3f6c6..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Communication Protocol</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="eCos Support for Developing USB-ethernet Peripherals"
-HREF="io-usb-slave-eth.html"><LINK
-REL="PREVIOUS"
-TITLE="Example Host-side Device Driver"
-HREF="usbseth-host.html"><LINK
-REL="NEXT"
-TITLE="eCos Synthetic Target"
-HREF="hal-synth-arch.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="usbseth-host.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="USBSETH-PROTOCOL">Communication Protocol</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN17632"
-></A
-><H2
->Name</H2
->Communication Protocol&nbsp;--&nbsp;Protocol used between the host-side device driver and the eCos
-USB-ethernet package </DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN17635"
-></A
-><H2
->Description</H2
-><P
->There is a USB standard for the protocol to be used between the host
-and a class of communication devices, including ethernet. However, the
-eCos USB-ethernet package does not implement this protocol: the target
-hardware for which the package was first developed had certain
-limitations, and could not implement the standard. Instead, the package
-implements a simple new protocol.</P
-><P
->A USB-ethernet peripheral involves bulk transfers on two endpoints:
-one endpoint will be used for packets from host to peripheral and the
-other will be used for the opposite direction. Transfers in both
-directions are variable length, with a lower limit of 16 bytes and an
-upper limit of 1516 bytes. The first two bytes of each transfer
-constitute a header specific to USB-ethernet. The next 14 bytes form
-the normal header for an ethernet frame: destination MAC address,
-source MAC address, and a protocol field. The remaining data, up to
-1500 bytes, are the payload. The first two bytes give the size of the
-ethernet frame, least significant byte first, with a value between 14
-and 1514.</P
-><P
->For example an ARP request from host to peripheral involves an
-ethernet frame of 42 bytes (0x002A), with the usual 14-byte header and
-a 28-byte payload. The destination is the broadcast address
-0xFFFFFFFFFFFF. The source depends on the MAC address specified for
-the host in the call to <A
-HREF="usbseth-init.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-></A
->, e.g.
-0x405D90A9BC02. The remaining data is as specified by the appropriate
-<A
-HREF="http://www.ietf.org"
-TARGET="_top"
->IETF RFC's</A
->. The actual bulk
-USB transfer involves the following sequence of 44 bytes:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->2a 00 ff ff ff ff ff ff 40 5d 90 a9 bc 02 08 06
-00 01 08 00 06 04 00 01 40 5d 90 a9 bc 02 0a 00
-00 01 00 00 00 00 00 00 0a 00 00 02</PRE
-></TD
-></TR
-></TABLE
-><P
->In addition there are two control messages. These will be sent by the
-host to endpoint 0, the control endpoint, and by default they will
-be handled by <A
-HREF="usbseth-control.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_class_control_handler</TT
-></A
->. If class-specific
-control messages are intercepted by other code then it is the
-responsibility of that code to invoke the USB-ethernet handler when
-appropriate.</P
-><P
->The first control message can be used by the host to obtain a MAC
-address:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define ECOS_USBETH_CONTROL_GET_MAC_ADDRESS         0x01</PRE
-></TD
-></TR
-></TABLE
-><P
->The control message's type field should specify IN as the direction.
-The request field should be <TT
-CLASS="LITERAL"
->0x01</TT
->. The length fields
-should specify a size of 6 bytes. The remaining fields of the control
-message will be ignored by the USB-ethernet package. The response
-consists of the 6-byte MAC address supplied by the initialization call
-<A
-HREF="usbseth-init.html"
-><TT
-CLASS="FUNCTION"
->usbs_eth_init</TT
-></A
->.</P
-><P
->The second control message can be used by the host to enable or
-disable promiscuous mode.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define ECOS_USBETH_CONTROL_SET_PROMISCUOUS_MODE    0x02</PRE
-></TD
-></TR
-></TABLE
-><P
->This control message involves no further data so the length field
-should be set to 0. The value field should be non-zero to enable
-promiscuous mode, zero to disable it. The request field should be
-<TT
-CLASS="LITERAL"
->0x02</TT
->. The remaining fields in the control message
-will be ignored. It is the responsibility of the host-side device
-driver to keep track of whether or not promiscuous mode is currently
-enabled. It will be disabled when the peripheral changes to
-Configured state, typically at the point where the host-side device
-driver has been activated.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="usbseth-host.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="hal-synth-arch.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Example Host-side Device Driver</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="io-usb-slave-eth.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->eCos Synthetic Target</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/user-interface.html b/doc/html/ref/user-interface.html
deleted file mode 100644 (file)
index b1b7817..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->User Interface</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Getting Started with RedBoot"
-HREF="getting-started-with-redboot.html"><LINK
-REL="PREVIOUS"
-TITLE="Installing RedBoot"
-HREF="installing-redboot.html"><LINK
-REL="NEXT"
-TITLE="RedBoot Editing Commands"
-HREF="redboot-editing-commands.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="installing-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 1. Getting Started with RedBoot</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="redboot-editing-commands.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="USER-INTERFACE">User Interface</H1
-><P
->RedBoot
-provides a command line user interface (CLI). At the minimum, this interface
-is normally available on a serial port on the platform. If more than one serial
-interface is available, RedBoot is normally configured to try to use any one
-of the ports for the CLI. Once command input has been received on one port,
-that port is used exclusively until the board is reset or the channel
-is manually changed by the
-user. If the platform has networking
-capabilities, the RedBoot CLI is also accessible using the <TT
-CLASS="COMPUTEROUTPUT"
->telnet</TT
-> access protocol. By default, RedBoot runs <TT
-CLASS="COMPUTEROUTPUT"
->telnet</TT
-> on port TCP/9000,
-but this is configurable and/or settable by the user. </P
-><P
->RedBoot also contains a set of GDB "stubs", consisting of code which supports the GDB remote
-protocol. GDB stub mode is automatically invoked when the '$' character appears
-anywhere on a command line unless escaped using the '\' character. 
-The platform will remain in GDB
-stub mode until explicitly disconnected (via the GDB protocol). The GDB stub
-mode is available regardless of the connection method; either serial or network.
-Note that if a GDB connection is made via the network, then special care must
-be taken to preserve that connection when running user code. eCos contains
-special network sharing code to allow for this situation, and can be used
-as a model if this methodology is required in other OS environments.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="installing-redboot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="redboot-editing-commands.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Installing RedBoot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="getting-started-with-redboot.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->RedBoot Editing Commands</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/version-command.html b/doc/html/ref/version-command.html
deleted file mode 100644 (file)
index 35c0419..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->version</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Common Commands"
-HREF="common-commands.html"><LINK
-REL="PREVIOUS"
-TITLE="reset"
-HREF="reset-command.html"><LINK
-REL="NEXT"
-TITLE="Flash Image System (FIS)"
-HREF="flash-image-system.html"></HEAD
-><BODY
-CLASS="REFENTRY"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="reset-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><H1
-><A
-NAME="VERSION-COMMAND">version</H1
-><DIV
-CLASS="REFNAMEDIV"
-><A
-NAME="AEN3858"
-></A
-><H2
->Name</H2
->version&nbsp;--&nbsp;Display RedBoot version information</DIV
-><DIV
-CLASS="REFSYNOPSISDIV"
-><A
-NAME="AEN3861"><H2
->Synopsis</H2
-><P
-><B
-CLASS="COMMAND"
->version</B
-> </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3864"
-></A
-><H2
->Arguments</H2
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3868"
-></A
-><H2
->Description</H2
-><P
->The <B
-CLASS="COMMAND"
->version</B
-> command simply displays version information about RedBoot.
-      </P
-></DIV
-><DIV
-CLASS="REFSECT1"
-><A
-NAME="AEN3872"
-></A
-><H2
->Examples</H2
-><P
->Display RedBoot's version.
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->RedBoot&#62; <TT
-CLASS="USERINPUT"
-><B
->version</B
-></TT
->
-RedBoot(tm) debug environment - built 09:12:03, Feb 12 2001
-Platform: XYZ (PowerPC 860)
-Copyright (C) 2000, 2001, Red Hat, Inc.
-RAM: 0x00000000-0x00400000</PRE
-></TD
-></TR
-></TABLE
-> 
-      </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="reset-command.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="flash-image-system.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->reset</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="common-commands.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Flash Image System (FIS)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/viper.html b/doc/html/ref/viper.html
deleted file mode 100644 (file)
index 3ef4338..0000000
+++ /dev/null
@@ -1,295 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PowerPC/MPC860T Analogue &#38; Micro PowerPC 860T</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="MIPS/VR4375 NEC DDB-VRC4375"
-HREF="vrc4375.html"><LINK
-REL="NEXT"
-TITLE="PowerPC/MPC8XX Motorola MBX"
-HREF="mbx.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="vrc4375.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="mbx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="VIPER">PowerPC/MPC860T Analogue &#38; Micro PowerPC 860T</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7086">Overview</H2
-><P
->RedBoot uses
-the SMC1 serial port. The default serial port settings are 38400,8,N,1.
-Ethernet is also supported using the RJ-45 connector. Management of
-onboard flash is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7096"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7110">Initial Installation Method</H2
-><P
->RedBoot must be installed at the A &#38; M factory.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7113">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7116">Memory Maps</H2
-><P
->Memory Maps RedBoot sets up the following memory map on the MBX board.<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Physical Address Range Description
------------------------ -----------
-0x00000000 - 0x007fffff DRAM
-0xfe000000 - 0xfe0fffff flash (AMD29LV8008B)
-0xff000000 - 0xff0fffff MPC registers</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7120">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=viper
-export ARCH_DIR=powerpc
-export PLATFORM_DIR=viper</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="vrc4375.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="mbx.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MIPS/VR4375 NEC DDB-VRC4375</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PowerPC/MPC8XX Motorola MBX</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/vrc4375.html b/doc/html/ref/vrc4375.html
deleted file mode 100644 (file)
index d07e8f7..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MIPS/VR4375 NEC DDB-VRC4375</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="MIPS/RM7000 PMC-Sierra Ocelot"
-HREF="ocelot.html"><LINK
-REL="NEXT"
-TITLE="PowerPC/MPC860T Analogue & Micro PowerPC 860T"
-HREF="viper.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ocelot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="viper.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="VRC4375">MIPS/VR4375 NEC DDB-VRC4375</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7021">Overview</H2
-><P
->RedBoot supports only serial port 1, which is connected to the upper
-of the stacked serial connectors on the board. The default serial
-port settings are 38400,8,N,1. FLASH management is also supported.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN7031"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->ROMRAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[ROMRAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM, but contained in the
-             board's flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROMRAM.ecm</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RAM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[RAM]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from RAM with RedBoot in the
-             flash boot sector.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_RAM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7050">Initial Installation Method</H2
-><P
->A device programmer should be used to program a socketed FLASH part
-(AMD 29F040). The board as delivered is configured for a 512K
-EPROM. To install a FLASH ROM, Jumpers J30, J31 and J36 need to be
-changed as described in the board's User Manual.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7053">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7056">Memory Maps</H2
-><P
->RedBoot sets up the memory map primarily as described in the board's
-User Manual. There are some minor differences, noted in the following
-table:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Physical                Virtual                 Resource
-Addresses               Addresses
-00000000-01FFFFFF       80000000-81FFFFFF       Base SDRAM (cached)
-00000000-01FFFFFF       A0000000-A1FFFFFF       Base SDRAM (uncached)
-0C000000-0C0BFFFF       AC000000-AC0B0000       PCI IO space
-0F000000-0F0001FF       AF000000-AF0001FF       VRC4375 Registers
-1C000000-1C0FFFFF       BC000000-BC0FFFFF       VRC4372 Registers
-1C100000-1DFFFFFF       BC100000-BDFFFFFF       PCI Memory space
-1FC00000-1FC7FFFF       BFC00000-BFC7FFFF       FLASH ROM
-80000000-8000000D       C0000000-C000000D       RTC
-8000000E-80007FFF       C000000E-C0007FFF       NVRAM
-81000000-81FFFFFF       C1000000-C1FFFFFF       Z85C30 DUART
-82000000-82FFFFFF       C2000000-C2FFFFFF       Z8536 Timer
-83000000-83FFFFFF       C3000000-C3FFFFFF       8255 Parallel port
-87000000-87FFFFFF       C7000000-C7FFFFFF       Seven segment display</PRE
-></TD
-></TR
-></TABLE
-></P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->By default the VRC4375 SIMM control registers are not programmed
-since the values used must depend on the SIMMs installed. If SIMMs
-are to be used, correct values must be placed in these registers
-before accessing the SIMM address range.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The allocation of address ranges to devices in the PCI IO and
-memory spaces is handled by the eCos PCI support library. They do
-not correspond to those described in the board User Manual.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->The MMU has been set up to relocate the VRC4372 supported devices
-mapped at physical addresses 0x8xxxxxxx to virtual addresses
-0xCxxxxxxx.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7069">Ethernet Driver</H2
-><P
->The ethernet driver is in two parts:</P
-><P
->A generic ether driver for the Intel i21143 device is located in
-<TT
-CLASS="FILENAME"
->devs/eth/intel/i21143</TT
->. Its package name is <TT
-CLASS="COMPUTEROUTPUT"
->CYGPKG_DEVS_ETH_INTEL_I21143</TT
->.</P
-><P
->The platform-specific ether driver is <TT
-CLASS="FILENAME"
->devs/eth/mips/vrc4375</TT
->. Its package is
-<TT
-CLASS="COMPUTEROUTPUT"
->CYGPKG_DEVS_ETH_MIPS_VRC4375</TT
->. This
-tells the generic driver the address in IO memory of the chip, for
-example, and other configuration details.  The ESA (MAC address) is by
-default collected from on-board serial EEPROM, unless configured
-statically within this package.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN7078">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=vrc4373
-export ARCH_DIR=mips
-export PLATFORM_DIR=vrc4373</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ocelot.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="viper.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MIPS/RM7000 PMC-Sierra Ocelot</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PowerPC/MPC860T Analogue &#38; Micro PowerPC 860T</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/ref/x86pc.html b/doc/html/ref/x86pc.html
deleted file mode 100644 (file)
index 57355eb..0000000
+++ /dev/null
@@ -1,400 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->IA32/x86 x86-Based PC</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos Reference Manual"
-HREF="ecos-ref.html"><LINK
-REL="UP"
-TITLE="Installation and Testing"
-HREF="installation-and-testing.html"><LINK
-REL="PREVIOUS"
-TITLE="FRV/FRV400 Fujitsu FR-V 400 (MB-93091)"
-HREF="frv400.html"><LINK
-REL="NEXT"
-TITLE="MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board"
-HREF="atlas.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos Reference Manual</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="frv400.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 5. Installation and Testing</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="atlas.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="X86PC">IA32/x86 x86-Based PC</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6596">Overview</H2
-><P
->RedBoot supports
-two serial ports and an Intel i82559 based ethernet card (for example an Intel
-EtherExpress Pro 10/100) for communication and downloads. The default serial
-port settings are 38400,8,N,1.</P
-><P
->The following RedBoot configurations are supported:
-
-      <DIV
-CLASS="INFORMALTABLE"
-><A
-NAME="AEN6606"><P
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Mode</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Description</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Floppy</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->[Floppy]</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->RedBoot running from a boot floppy disk installed
-             in the A: drive of the PC.</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->redboot_ROM.ecm</TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-></DIV
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6620">Initial Installation</H2
-><P
->RedBoot takes the form of a self-booting image that must be written
-onto a formatted floppy disk. The process will erase any file system or data
-that already exists on that disk, so proceed with caution.</P
-><P
->For Red Hat Linux users, this can be done by:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->dd conv=sync if=install/bin/redboot.bin of=/dev/fd0H1440</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->For NT Cygwin users, this can be done by first ensuring that the raw
-floppy device is mounted as <TT
-CLASS="FILENAME"
->/dev/fd0</TT
->. To check if this
-is the case, type the command <B
-CLASS="COMMAND"
->mount</B
-> at the Cygwin bash
-prompt. If the floppy drive is already mounted, it will be listed as something
-similar to the following line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  \\.\a: /dev/fd0 user binmode</PRE
-></TD
-></TR
-></TABLE
-><P
->If this line is not listed, then mount the floppy drive using the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->mount -f -b //./a: /dev/fd0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->To actually install the boot image on the floppy, use the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->dd conv=sync if=install/bin/redboot.bin of=/dev/fd0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Insert this floppy in the A: drive of the PC to be used as a target
-and ensure that the BIOS is configured to boot from A: by default. On reset,
-the PC will boot from the floppy and be ready to be debugged via either serial
-line, or via the ethernet interface if it is installed.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Unreliable floppy media may cause the write to silently fail. This
-can be determined if the RedBoot image does not correctly
-boot. In such cases, the floppy should be (unconditionally) reformatted
-using the <B
-CLASS="COMMAND"
->fdformat</B
-> command on Linux, or
-<B
-CLASS="COMMAND"
->format a: /u</B
-> on DOS/Windows.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6642">Flash management</H2
-><P
->PC RedBoot does not support any FLASH commands.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6645">Special RedBoot Commands</H2
-><P
->None.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6648">Memory Maps</H2
-><P
->All selectors are initialized to map the entire 32-bit address space
-in the familiar protected mode flat model. Page translation is not used.
-RAM up to 640K is mapped to 0x0 to 0xa0000. RAM above 640K is mapped
-from address 0x100000 upwards. Space is reserved between 0xa0000 and
-0x100000 for option ROMs and the BIOS.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN6651">Rebuilding RedBoot</H2
-><P
->These shell variables provide the platform-specific information
-needed for building RedBoot according to the procedure described in
-<A
-HREF="rebuilding-redboot.html"
->Chapter 3</A
->:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export TARGET=pc
-export ARCH_DIR=i386
-export PLATFORM_DIR=pc</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The names of configuration files are listed above with the
-description of the associated modes.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="frv400.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-ref.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="atlas.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->FRV/FRV400 Fujitsu FR-V 400 (MB-93091)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="installation-and-testing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MIPS/MIPS32(CoreLV 4Kc)+MIPS64(CoreLV 5Kc) Atlas Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/appendices.html b/doc/html/user-guide/appendices.html
deleted file mode 100644 (file)
index 2d56a2a..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Appendixes</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Package Structure"
-HREF="package-structure.html"><LINK
-REL="NEXT"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="package-structure.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="APPENDICES"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->VII. Appendixes</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->A. <A
-HREF="appendix-target-setup.html"
->Target Setup</A
-></DT
-><DT
->B. <A
-HREF="real-time-characterization.html"
->Real-time characterization</A
-></DT
-><DT
->C. <A
-HREF="gnu-general-public-license.html"
->GNU General Public License</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="package-structure.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Package Structure</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Target Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/appendix-target-setup.html b/doc/html/user-guide/appendix-target-setup.html
deleted file mode 100644 (file)
index 2c8d111..0000000
+++ /dev/null
@@ -1,388 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Target Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Appendixes"
-HREF="appendices.html"><LINK
-REL="PREVIOUS"
-TITLE="Appendixes"
-HREF="appendices.html"><LINK
-REL="NEXT"
-TITLE="MN10300 Architectural Simulator Setup"
-HREF="setup-mn10300-sim.html"></HEAD
-><BODY
-CLASS="APPENDIX"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="appendices.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-mn10300-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="APPENDIX"
-><H1
-><A
-NAME="APPENDIX-TARGET-SETUP">Appendix A. Target Setup</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="appendix-target-setup.html#SETUP-MN10300-STDEVAL1"
->MN10300 stdeval1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-mn10300-sim.html"
->MN10300 Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-am33-stb.html"
->AM33 STB Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-tx39-jmr3904.html"
->TX39 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-tx39-sim.html"
->TX39 Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-tx49-ref4955.html"
->TX49 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-vr4300-vrc4373.html"
->VR4300 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-vr4300-vrc4375.html"
->VRC4375 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-mips-atlasmalta.html"
->Atlas/Malta Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-ppc-cogent.html"
->PowerPC Cogent Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-ppc-mbx860.html"
->PowerPC MBX860 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-ppc-sim.html"
->PowerPC Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-sparclite-sleb.html"
->SPARClite Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sparclite-sim.html"
->SPARClite Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-pid.html"
->ARM PID Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-aeb1.html"
->ARM AEB-1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-cma230.html"
->ARM Cogent CMA230 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7211.html"
->Cirrus Logic ARM EP7211 Development
-Board Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7212.html"
->Cirrus Logic ARM EP7212 Development Board
-Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7312.html"
->Cirrus Logic ARM EP7312 Development Board
-Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7209.html"
->Cirrus Logic ARM EP7209 Development Board Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-clps7111.html"
->Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ebsa285.html"
->StrongARM EBSA-285 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ipaq.html"
->Compaq iPAQ PocketPC Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-edk7708.html"
->SH3/EDK7708 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-cq7708.html"
->SH3/CQ7708 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-hs7729pci.html"
->SH3/HS7729PCI Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-se77x9.html"
->SH3/SE77x9 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-cq7750.html"
->SH4/CQ7750 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-se7751.html"
->SH4/SE7751 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-v850-cebsa1.html"
->NEC CEB-V850/SA1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-v850-cebsb1.html"
->NEC CEB-V850/SB1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-i386-pc.html"
->i386 PC Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-synth-i386linux.html"
->i386/Linux Synthetic Target Setup</A
-></DT
-></DL
-></DIV
-><P
->The following sections detail the setup of many of the targets
-supported by eCos. </P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->This information is presented here only temporarily. It is intended
-that there will be separate documents detailing this information for
-each target in future releases. Consequently not much effort has been
-put into bringing the following documentation up to date -- much of it
-is obsolete, bogus or just plain wrong.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-MN10300-STDEVAL1">MN10300 stdeval1 Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with a pair
-of EPROMs which provide GDB support for the Matsushita MN10300 (AM31)
-series evaluation board using CygMon, the Cygnus ROM monitor. Images
-of these EPROMs are also provided at <TT
-CLASS="FILENAME"
->BASE_DIR/loaders/mn10300-stdeval1/cygmon.bin</TT
->.
-The LSB EPROM (LROM) is installed to socket IC8 on the board and
-the MSB EPROM (UROM) is installed to socket IC9. Attention should
-be paid to the correct orientation of these EPROMs during installation.</P
-><P
->The CygMon stubs allows communication with GDB by way of the
-serial port at connector CN2. The communication parameters are fixed
-at 38400 baud, 8 data bits, no parity bit, and 1 stop bit (8-N-1).
-No flow control is employed. Connection to the host computer should
-be made using a standard RS232C serial cable (not a null modem cable).
-A gender changer may also be required.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="appendices.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-mn10300-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Appendixes</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendices.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->MN10300 Architectural Simulator Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/build-tree.html b/doc/html/user-guide/build-tree.html
deleted file mode 100644 (file)
index d1eeadf..0000000
+++ /dev/null
@@ -1,237 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Build Tree</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The Component Repository and Working Directories"
-HREF="component-repo-and-working-dirs.html"><LINK
-REL="PREVIOUS"
-TITLE="The Component Repository and Working Directories"
-HREF="component-repo-and-working-dirs.html"><LINK
-REL="NEXT"
-TITLE="Install Tree"
-HREF="install-tree.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 25. The Component Repository and Working Directories</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="install-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BUILD-TREE">Build Tree</H1
-><P
->The <I
-CLASS="FIRSTTERM"
->build tree</I
-> is the directory
-         hierarchy in which all <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->generated</I
-></SPAN
-> files
-         are placed. Generated files consist of the
-         <TT
-CLASS="FILENAME"
->makefile</TT
->, the compiled object files,
-         and a dependency file (with a <TT
-CLASS="FILENAME"
->.d</TT
->
-         extension) for each source file.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2100">Purpose</H2
-><P
->The build tree is where all intermediate object files are
-           placed. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2103">How is it modified?</H2
-><P
->Recompiling can modify the object files.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2106">User applications</H2
-><P
->User application source or binary code should
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> go in the build tree. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2110">Examples of files in this hierarchy</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FILENAME"
->ecos-work/language/c/libc/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src</TT
-></DT
-><DD
-><P
->The directory in which object files for
-                 the C library are built.</P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="install-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The Component Repository and Working Directories</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Install Tree</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/building-and-running-sample-appliations.html b/doc/html/user-guide/building-and-running-sample-appliations.html
deleted file mode 100644 (file)
index 23c7177..0000000
+++ /dev/null
@@ -1,435 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building and Running Sample Applications</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"><LINK
-REL="PREVIOUS"
-TITLE="Testing Filters"
-HREF="testing-filters.html"><LINK
-REL="NEXT"
-TITLE="A Sample Program with Two Threads"
-HREF="sample-twothreads.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="testing-filters.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="sample-twothreads.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="BUILDING-AND-RUNNING-SAMPLE-APPLIATIONS">Chapter 13. Building and Running Sample Applications</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="building-and-running-sample-appliations.html#ECOS-HELLO-WORLD"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Hello World</A
-></DT
-><DT
-><A
-HREF="sample-twothreads.html"
->A Sample Program with Two Threads</A
-></DT
-></DL
-></DIV
-><P
->The example programs in this tutorial are included, along
-with a <TT
-CLASS="FILENAME"
->Makefile</TT
->, in the <TT
-CLASS="FILENAME"
->examples</TT
-> directory
-of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> distribution. The first program you will run is a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->hello
-world</I
-></SPAN
->-style application, then you will run a more complex
-application that demonstrates the creation of threads and the use
-of cyg_thread_delay(), and finally you will run
-one that uses clocks and alarm handlers.</P
-><P
->The <TT
-CLASS="FILENAME"
->Makefile</TT
-> depends on an externally
-defined variable to find the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> library and header files. This
-variable is <TT
-CLASS="LITERAL"
->INSTALL_DIR</TT
-> and must be set to the
-pathname of the install directory created in <A
-HREF="using-configtool-windows-linux.html"
->the Section called <I
->Configuration Tool on Windows and Linux Quick Start</I
-> in Chapter 11</A
->.</P
-><P
-><TT
-CLASS="LITERAL"
->INSTALL_DIR</TT
-> may be either be set in the shell
-environment or may be supplied on the command line. To set it in the
-shell do the following in a <B
-CLASS="COMMAND"
->bash</B
-> shell:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ export INSTALL_DIR=BASE_DIR/ecos-work/arm_install</PRE
-></TD
-></TR
-></TABLE
-><P
->You can then run <B
-CLASS="COMMAND"
->make</B
-> without any extra parameters
-to build the examples.</P
-><P
->Alternatively, if you can do the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ make INSTALL_DIR=BASE_DIR/ecos-work/arm_install</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ECOS-HELLO-WORLD"><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Hello World</H1
-><P
->The following code is found in the file <TT
-CLASS="FILENAME"
->hello.c</TT
->
-in the <TT
-CLASS="FILENAME"
->examples</TT
-> directory: </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN835"><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> hello world program listing</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->/* this is a simple hello world program */
-#include &lt;stdio.h&#62;
-int main(void)
-{
- printf("Hello, eCos world!\n");
- return 0;
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->To compile this or any other program that is not part of the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> distribution, you can follow the procedures described below. Type
-this explicit compilation command (assuming your current working
-directory is also where you built the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel):</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc -g -I<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work/install/include hello.c -L<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work/install/lib -Ttarget.ld -nostdlib</PRE
-></TD
-></TR
-></TABLE
-><P
->The compilation command above contains some standard GCC
-options (for example, <TT
-CLASS="OPTION"
->-g</TT
-> enables debugging), as well
-as some mention of paths
-(<TT
-CLASS="OPTION"
->-I<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work/install/include</TT
-> allows files
-like <TT
-CLASS="FILENAME"
->cyg/kernel/kapi.h</TT
-> to be found, and
-<TT
-CLASS="OPTION"
->-L<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work/install/lib</TT
-> allows the linker to
-find <TT
-CLASS="OPTION"
->-Ttarget.ld</TT
->). </P
-><P
->The executable program will be called <TT
-CLASS="FILENAME"
->a.out</TT
->. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Some target systems require special options to be passed to
-gcc to compile correctly for that system. Please examine the Makefile
-in the examples directory to see if this applies to your target.</P
-></BLOCKQUOTE
-></DIV
-><P
->You can now run the resulting program using GDB in exactly the
-same the way you ran the test case before. The procedure will be the
-same, but this time run
-<B
-CLASS="COMMAND"
-><TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gdb</B
-> specifying
-<TT
-CLASS="OPTION"
->-nw a.out</TT
-> on the command line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gdb -nw a.out</PRE
-></TD
-></TR
-></TABLE
-><P
->For targets other than the synthetic linux target, you should
-now run the usual GDB commands described earlier. Once this is done,
-typing the command "continue" at the (gdb) prompt ("run" for
-simulators) will allow the program to execute and print the string
-"Hello, eCos world!" on your screen.</P
-><P
->On the synthetic linux target, you may use the "run" command
-immediately - you do not need to connect to the target, nor use the
-"load" command.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="testing-filters.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="sample-twothreads.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Testing Filters</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->A Sample Program with Two Threads</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/building-the-system.html b/doc/html/user-guide/building-the-system.html
deleted file mode 100644 (file)
index 4cbe73d..0000000
+++ /dev/null
@@ -1,307 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building the System</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Conflicts and constraints"
-HREF="conflicts-and-constraints.html"><LINK
-REL="NEXT"
-TITLE="Packages"
-HREF="ecos-packages.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="conflicts-and-constraints.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-packages.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="BUILDING-THE-SYSTEM">Building the System</H1
-><P
->Once a build tree has been generated with
-         <B
-CLASS="COMMAND"
->ecosconfig</B
->, building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is straightforward:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ make</PRE
-></TD
-></TR
-></TABLE
-><P
->The build tree contains the subdirectories, makefiles,
-         and everything else that is needed to generate the default
-         configuration for the selected architecture and platform.
-         The only requirement is that the tools needed for that
-         architecture, for example
-         <B
-CLASS="COMMAND"
->powerpc-eabi-g++</B
->,
-         are available using the standard search path. If this is not
-         the case then the <B
-CLASS="COMMAND"
->make</B
-> will
-         fail with an error message. If you have a multiprocessor
-         system then it may be more efficient to use:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ make -j <TT
-CLASS="REPLACEABLE"
-><I
->n</I
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->where <TT
-CLASS="REPLACEABLE"
-><I
->n</I
-></TT
-> is equal to the
-         number of processors on your system.</P
-><P
->Once the <B
-CLASS="COMMAND"
->make</B
-> process
-         has completed, the install tree will contain the header
-         files and the target library that are needed for application
-         development. </P
-><P
->It is also possible to build the system&#8217;s test cases
-for the current configuration:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ make tests</PRE
-></TD
-></TR
-></TABLE
-><P
->The resulting test executables will end up in a
-         <TT
-CLASS="FILENAME"
->tests</TT
-> subdirectory of the
-         install tree. </P
-><P
->If disk space is scarce then it is possible to make the copy
-of the install tree for application development purposes, and then
-use: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ make clean</PRE
-></TD
-></TR
-></TABLE
-><P
->The build tree will now use up a minimum of disk space &#8212; the
-bulk of what is left consists of configuration header files that
-you may have edited and hence should not be deleted automatically.
-However, it is possible to rebuild the system at any time without
-re-invoking <B
-CLASS="COMMAND"
->ecosconfig</B
->, just by
-running <B
-CLASS="COMMAND"
->make</B
-> again. </P
-><P
->Under exceptional circumstances it may be necessary to run <B
-CLASS="COMMAND"
->make
-clean</B
-> for other reasons, such as when a new release
-of the toolchain is installed. The toolchain includes a number of
-header files which are closely tied to the compiler, for example <TT
-CLASS="FILENAME"
->limits.h</TT
->,
-and these header files are not and should not be duplicated by <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.
-The makefiles perform header file dependency analysis, so that when
-a header file is changed all affected sources will be rebuilt during
-the next <B
-CLASS="COMMAND"
->make</B
->. This is very useful
-when the configuration header files are changed, but it also means
-that a build tree containing information about the locations of
-header files must be rebuilt. If a new version of the toolchain
-is installed and the old version is removed then this location information
-is no longer accurate, and <B
-CLASS="COMMAND"
->make</B
-> will
-complain that certain dependencies cannot be satisfied. Under such circumstances
-it is necessary to do a <B
-CLASS="COMMAND"
->make clean</B
-> first. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="conflicts-and-constraints.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-packages.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Conflicts and constraints</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Packages</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-component-definition-language.html b/doc/html/user-guide/cdl-component-definition-language.html
deleted file mode 100644 (file)
index 9cdbdd9..0000000
+++ /dev/null
@@ -1,177 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Component Definition Language</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="PREVIOUS"
-TITLE="Component Repository"
-HREF="cdl-component-repository.html"><LINK
-REL="NEXT"
-TITLE="Packages"
-HREF="cdl-packages.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-component-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 24. CDL Concepts</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-packages.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-COMPONENT-DEFINITION-LANGUAGE">Component Definition Language</H1
-><P
->Part of the component repository is a set of files
-         containing a definition of its structure.  The form used for
-         this purpose is the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Component Definition
-           Language</I
-></SPAN
-> (CDL).  CDL defines the relationships
-         between components and other information used by tools such
-         as the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-><SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->.
-         CDL is generally formulated by the writers of components: it
-         is not necessary to write or understand CDL in order for the
-         embedded systems developer to construct an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-         configuration. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-component-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-packages.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Component Repository</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Packages</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-component-repository.html b/doc/html/user-guide/cdl-component-repository.html
deleted file mode 100644 (file)
index bfa3203..0000000
+++ /dev/null
@@ -1,167 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Component Repository</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="PREVIOUS"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="NEXT"
-TITLE="Component Definition Language"
-HREF="cdl-component-definition-language.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 24. CDL Concepts</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-component-definition-language.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-COMPONENT-REPOSITORY">Component Repository</H1
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is shipped in source in the form of a
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->component repository</I
-></SPAN
-> - a directory
-         hierarchy that contains the sources and other files which
-         are used to build a configuration. The component repository
-         can be added to by, for example, downloading from the
-         net.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-component-definition-language.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->CDL Concepts</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Component Definition Language</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-concepts.html b/doc/html/user-guide/cdl-concepts.html
deleted file mode 100644 (file)
index 0892a62..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->CDL Concepts</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="eCos Programming Concepts and Techniques"
-HREF="ecos-programming-concepts-and-techniques.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Programming Concepts and Techniques"
-HREF="ecos-programming-concepts-and-techniques.html"><LINK
-REL="NEXT"
-TITLE="Component Repository"
-HREF="cdl-component-repository.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-component-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CDL-CONCEPTS">Chapter 24. CDL Concepts</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="cdl-concepts.html#CDL-CONCEPTS-ABOUT"
->About this chapter</A
-></DT
-><DT
-><A
-HREF="cdl-component-repository.html"
->Component Repository</A
-></DT
-><DT
-><A
-HREF="cdl-component-definition-language.html"
->Component Definition Language</A
-></DT
-><DT
-><A
-HREF="cdl-packages.html"
->Packages</A
-></DT
-><DT
-><A
-HREF="cdl-configuration-items.html"
->Configuration Items</A
-></DT
-><DT
-><A
-HREF="cdl-conflicts.html"
->Conflicts</A
-></DT
-><DT
-><A
-HREF="cdl-templates.html"
->Templates</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-CONCEPTS-ABOUT">About this chapter</H1
-><P
->This chapter serves as a brief introduction to the
-       concepts involved in <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> (Embedded Configurable Operating
-       System).  It describes the configuration architecture and the
-       underlying technology to a level required for the embedded
-       systems developer to configure <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.  It does not describe in
-       detail aspects such as how to write reusable components for
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->: this information is given in the <I
-CLASS="CITETITLE"
->Component
-         Writer&#8217;s Guide</I
->.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1835">Background</H2
-><P
->Software solutions for the embedded space place
-         particularly stringent demands on the developer, typically
-         represented as requirements for small memory footprint, high
-         performance and robustness.  These demands are addressed in
-         <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> by providing the ability to perform compile-time
-         specialization: the developer can tailor the operating
-         system to suit the needs of the application.  In order to
-         make this process manageable, <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is built in the context
-         of a Configuration Infrastructure: a set of tools including
-         a <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> and a formal
-         description of the process of configuration by means of a
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Component Definition Language</I
-></SPAN
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1842">Configurations</H2
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is tailored at source level (that is, before
-           compilation or assembly) in order to create an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->configuration</I
-></SPAN
->. In concrete terms, an
-           <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration takes the form of a configuration save
-           file (with extension .ecc) and set of files used to build
-           user applications (including, when built, a library file
-           against which the application is linked). </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-component-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Programming Concepts and Techniques</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Component Repository</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-configuration-items.html b/doc/html/user-guide/cdl-configuration-items.html
deleted file mode 100644 (file)
index 51f4425..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuration Items</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="PREVIOUS"
-TITLE="Packages"
-HREF="cdl-packages.html"><LINK
-REL="NEXT"
-TITLE="Conflicts"
-HREF="cdl-conflicts.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-packages.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 24. CDL Concepts</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-conflicts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-CONFIGURATION-ITEMS">Configuration Items</H1
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Configuration items</I
-></SPAN
-> are the
-         individual entities that form a configuration.  Each item
-         corresponds to the setting of a C pre-processor macro (for
-         example,
-         <TT
-CLASS="LITERAL"
->CYGHWR_HAL_ARM_PID_GDB_BAUD</TT
->). 
-         The code of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> itself is written to test such pre-processor
-         macros so as to tailor the code.  User code can do
-         likewise.</P
-><P
->Configuration items come in the following flavors:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->None</I
-></SPAN
->: such entities serve only as
-place holders in the hierarchy, allowing other entities to be grouped
-more easily.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Boolean</I
-></SPAN
-> entities are the most common
-flavor; they correspond to units of functionality that can be either
-enabled or disabled.  If the entity is enabled then there will be
-a #define; code will check the setting using, for example, #ifdef</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Data</I
-></SPAN
-> entities encapsulate some arbitrary
-data. Other properties such as a set or range of legal values can
-be used to constrain the actual values, for example to an integer
-or floating point value within a certain range.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Booldata</I
-></SPAN
-> entities combine the attributes
-of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Boolean</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Data</I
-></SPAN
->: they
-can be enabled or disabled and, if enabled, will hold a data value.</P
-></LI
-></UL
-><P
->Like packages, configuration items exist in a tree-based hierarchy:
-each configuration item has a parent which may be another configuration
-item or a package.  Under some conditions (such as when packages
-are added or removed from a configuration), items may be &#8220;re-parented&#8221; such
-that their position in the tree changes. </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1898">Expressions</H2
-><P
->Expressions are relationships between CDL items.  There are
-three types of expression in CDL:</P
-><DIV
-CLASS="TABLE"
-><A
-NAME="CDL-EXPRESSIONS"><P
-><B
->Table 24-1. CDL Expressions</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Expression Type</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Result</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Common Use (see <A
-HREF="cdl-configuration-items.html#TABLE-CONFIGURATION-PROPERTIES"
->Table 24-2</A
->)</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Ordinary</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->A single value</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->legal_values property</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->List</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->A range of
-               values (for example &#8220;1 to 10&#8221;)</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->legal_values property </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Goal</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->True or False</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->requires and active_if properties</TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1923">Properties</H2
-><P
->Each configuration item has a set of properties.  The following
-table describes the most commonly used:</P
-><DIV
-CLASS="TABLE"
-><A
-NAME="TABLE-CONFIGURATION-PROPERTIES"><P
-><B
->Table 24-2. Configuration properties</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Property</I
-></SPAN
-></TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Use </I
-></SPAN
-></TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Flavor</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The &#8220;type&#8221; of the item, as
-                 described above </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Enabled</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Whether
-                 the item is enabled </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Current_value</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The current value of the item </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Default_value</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->An ordinary expression defining the default value of the
-                   item</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Legal_values</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->A
-                 list expression defining the values the item may hold (for example,
-                 1 to10) </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Active_if</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->A
-                 goal expression denoting the requirement for this item to be active
-(see below: <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Inactive Items</I
-></SPAN
->) </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Requires</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->A goal
-expression denoting requirements this item places on others (see
-below: <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Conflicts</I
-></SPAN
->) </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Calculated</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Whether
-the item as non-modifiable </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Macro</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The corresponding
-C pre-processor macro </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->File</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The C header
-file in which the macro is defined </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->URL</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->The URL of
-a documentation page describing the item </TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Hardware</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Indicates
-that a particular package is related to specific hardware</TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><P
->A complete description of properties is contained in the <I
-CLASS="CITETITLE"
->Component
-Writer&#8217;s Guide</I
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1976">Inactive Items</H2
-><P
->Descendants of an item that is disabled are inactive: their
-values may not be changed.  Items may also become <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->inactive</I
-></SPAN
-> if
-an active_if expression is used to make the item dependent
-on an expression involving other items. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-packages.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-conflicts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Packages</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Conflicts</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-conflicts.html b/doc/html/user-guide/cdl-conflicts.html
deleted file mode 100644 (file)
index 37336fe..0000000
+++ /dev/null
@@ -1,263 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Conflicts</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuration Items"
-HREF="cdl-configuration-items.html"><LINK
-REL="NEXT"
-TITLE="Templates"
-HREF="cdl-templates.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-configuration-items.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 24. CDL Concepts</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-templates.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-CONFLICTS">Conflicts</H1
-><P
->Not all settings of configuration items will lead to a
-         coherent configuration; for example, the use of a timeout
-         facility might require the existence of timer support, so if
-         the one is required the other cannot be removed.  Coherence
-         is policed by means of consistency rules (in particular, the
-         goal expressions that appear as CDL items
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->requires</I
-></SPAN
-> and
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->active_if</I
-></SPAN
-> attributes [see
-         above]).  A violation of consistency rules creates a
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->conflict</I
-></SPAN
->, which must be resolved in
-         order to ensure a consistent configuration. Conflict
-         resolution can be performed manually or with the assistance
-         of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> tools.  Conflicts come in the following
-         flavors:</P
-><P
-></P
-><UL
-><LI
-><P
->An <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->unresolved</I
-></SPAN
-> conflict means that
-there is a reference to an entity that is not yet in the current
-configuration </P
-></LI
-><LI
-><P
->An <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->illegal value</I
-></SPAN
-> conflict is caused
-when a configuration item is set to a value that is not permitted
-(that is, a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->legal_values</I
-></SPAN
-> goal expression
-is failing) </P
-></LI
-><LI
-><P
->An <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->evaluation exception</I
-></SPAN
-> conflict
-is caused when the evaluation of an expression would fail (for example,
-because of a division by zero) </P
-></LI
-><LI
-><P
->An <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->unsatisfied goal</I
-></SPAN
-> conflict is caused
-by a failing <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->requires</I
-></SPAN
-> goal expression </P
-></LI
-><LI
-><P
->A <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->bad data</I
-></SPAN
-> conflict arises only rarely,
-and corresponds to badly constructed CDL.  Such a conflict can only
-be resolved by reference to the CDL writer.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-configuration-items.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-templates.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuration Items</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Templates</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-packages.html b/doc/html/user-guide/cdl-packages.html
deleted file mode 100644 (file)
index 7d512bb..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Packages</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="PREVIOUS"
-TITLE="Component Definition Language"
-HREF="cdl-component-definition-language.html"><LINK
-REL="NEXT"
-TITLE="Configuration Items"
-HREF="cdl-configuration-items.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-component-definition-language.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 24. CDL Concepts</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-configuration-items.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-PACKAGES">Packages</H1
-><P
->The building blocks of an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration are called
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->packages</I
-></SPAN
->. Packages are the units of
-         software distribution.  A set of core packages (such as
-         kernel, C library and math library) is provided by Red Hat:
-         additional third-party packages will be available in
-         future.</P
-><P
->A package may exist in one of a number of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->versions</I
-></SPAN
->.
- The default version is the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->current</I
-></SPAN
-> version.
- Only one version of a given package may be present in the component
-repository at any given time.</P
-><P
->Packages are organized in a tree hierarchy.  Each package
-is either at the top-level or is the child of another package.</P
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
-> Package Administration Tool</SPAN
-> can be used to add or remove
-packages from the component repository.  The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> can be used to include or exclude packages from the configuration
-being built.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-component-definition-language.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-configuration-items.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Component Definition Language</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuration Items</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/cdl-templates.html b/doc/html/user-guide/cdl-templates.html
deleted file mode 100644 (file)
index 3596083..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Templates</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"><LINK
-REL="PREVIOUS"
-TITLE="Conflicts"
-HREF="cdl-conflicts.html"><LINK
-REL="NEXT"
-TITLE="The Component Repository and Working Directories"
-HREF="component-repo-and-working-dirs.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-conflicts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 24. CDL Concepts</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CDL-TEMPLATES">Templates</H1
-><P
->A <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->template</I
-></SPAN
-> is a saved configuration
-         - that is, a set of packages and configuration item
-         settings.  Templates are provided with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> to allow you to
-         get started quickly by instantiating (copying) a saved
-         configuration corresponding to one of a number of common
-         scenarios; for example, a basic <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration template
-         is supplied that contains the infrastructure, kernel, C and
-         math libraries, plus their support packages.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-conflicts.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Conflicts</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The Component Repository and Working Directories</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/clocks-and-alarm-handlers.html b/doc/html/user-guide/clocks-and-alarm-handlers.html
deleted file mode 100644 (file)
index 9b346e0..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->More Features &#8212; Clocks and Alarm
-Handlers</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"><LINK
-REL="PREVIOUS"
-TITLE="A Sample Program with Two Threads"
-HREF="sample-twothreads.html"><LINK
-REL="NEXT"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="sample-twothreads.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CLOCKS-AND-ALARM-HANDLERS">Chapter 14. More Features &#8212; Clocks and Alarm
-Handlers</H1
-><P
->If a program wanted to execute a task at a given time, or
-periodically, it could do it in an inefficient way by sitting in a
-loop and checking the real-time clock to see if the proper amount of
-time has elapsed. But operating systems usually provide system calls
-which allow the program to be informed at the desired time.</P
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> provides a rich timekeeping formalism, involving
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->counters</I
-></SPAN
->, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->clocks</I
-></SPAN
->,
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->alarms</I
-></SPAN
->, and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->timers</I
-></SPAN
->.  The
-precise definition, relationship, and motivation of these features is
-beyond the scope of this tutorial, but these examples illustrate how
-to set up basic periodic tasks.</P
-><P
->Alarms are events that happen at
-a given time, either once or periodically. A thread associates an
-alarm handling function with the alarm, so that the function will
-be invoked every time the alarm &#8220;goes off&#8221;.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SAMPLE-ALARMS">A Sample Program with Alarms</H1
-><P
-><TT
-CLASS="FILENAME"
->simple-alarm.c</TT
-> (in
-the examples directory) is a short program that creates a thread that
-creates an alarm. The alarm is handled by the function
-<TT
-CLASS="FUNCTION"
->test_alarm_func()</TT
->, which sets a global
-variable. When the main thread of execution sees that the variable has
-changed, it prints a message.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN910"><P
-><B
->Example 14-1. A sample program that creates an alarm</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->/* this is a very simple program meant to demonstrate
- a basic use of time, alarms and alarm-handling functions  in eCos */
-
-#include &lt;cyg/kernel/kapi.h&#62;
-
-#include &lt;stdio.h&#62;
-
-#define NTHREADS 1
-#define STACKSIZE 4096
-
-static cyg_handle_t thread[NTHREADS];
-
-static cyg_thread thread_obj[NTHREADS];
-static char stack[NTHREADS][STACKSIZE];
-
-static void alarm_prog( cyg_addrword_t data );
-
-/* we install our own startup routine which sets up
-  threads and starts the scheduler */
-void cyg_user_start(void)
-{
- cyg_thread_create(4, alarm_prog, (cyg_addrword_t) 0,
-       "alarm_thread", (void *) stack[0],
-       STACKSIZE, &amp;thread[0], &amp;thread_obj[0]);
- cyg_thread_resume(thread[0]);
-}
-
-/* we need to declare the alarm handling function (which is
- defined below), so that we can pass it to  cyg_alarm_initialize() */
-cyg_alarm_t test_alarm_func;
-
-/* alarm_prog() is a thread which sets up an alarm which is then
- handled by test_alarm_func() */
-static void alarm_prog(cyg_addrword_t data)
-{
- cyg_handle_t test_counterH, system_clockH, test_alarmH;
- cyg_tick_count_t ticks;
- cyg_alarm test_alarm;
- unsigned how_many_alarms = 0, prev_alarms = 0, tmp_how_many;
-
- system_clockH = cyg_real_time_clock();
- cyg_clock_to_counter(system_clockH, &amp;test_counterH);
- cyg_alarm_create(test_counterH, test_alarm_func,
-       (cyg_addrword_t) &amp;how_many_alarms,
-       &amp;test_alarmH, &amp;test_alarm);
- cyg_alarm_initialize(test_alarmH, cyg_current_time()+200, 200);
-
- /* get in a loop in which we read the current time and
-    print it out, just to have something scrolling by */
- for (;;) {
-   ticks = cyg_current_time();
-   printf("Time is %llu\n", ticks);
-   /* note that we must lock access to how_many_alarms, since the
-   alarm handler might change it. this involves using the
-   annoying temporary variable tmp_how_many so that I can keep the
-   critical region short */
-   cyg_scheduler_lock();
-   tmp_how_many = how_many_alarms;
-   cyg_scheduler_unlock();
-   if (prev_alarms != tmp_how_many) {
-     printf(" --- alarm calls so far: %u\n", tmp_how_many);
-     prev_alarms = tmp_how_many;
-   }
-   cyg_thread_delay(30);
- }
-}
-
-/* test_alarm_func() is invoked as an alarm handler, so
-   it should be quick and simple. in this case it increments
-   the data that is passed to it. */
-void test_alarm_func(cyg_handle_t alarmH, cyg_addrword_t data)
-{
- ++*((unsigned *) data);
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><P
->When you run this program (by typing <B
-CLASS="COMMAND"
->continue</B
-> at
-the (<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->gdb</I
-></SPAN
->) prompt) the output should look like
-this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->Starting program: <TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/examples/simple-alarm.exe
-Time is 0
-Time is 30
-Time is 60
-Time is 90
-Time is 120
-Time is 150
-Time is 180
-Time is 210
-  --- alarm calls so far: 1
-Time is 240
-Time is 270
-Time is 300
-Time is 330
-Time is 360
-Time is 390
-Time is 420
-  --- alarm calls so far: 2
-Time is 450
-Time is 480</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When running in a simulator the  delays
-might be quite long. On a hardware board (where the clock speed is 100
-ticks/second) the delays should average to about 0.3 seconds (and 2
-seconds between alarms). In simulation, the delay will depend on the
-speed of the host processor and will almost always be much slower than
-the actual board. You might want to reduce the delay parameter when
-running in simulation.</P
-></BLOCKQUOTE
-></DIV
-><P
->Here are a few things you might notice about this program:</P
-><P
-></P
-><UL
-><LI
-><P
->It used the <TT
-CLASS="FUNCTION"
->cyg_real_time_clock()</TT
-> function;
-this always returns a handle to the default system real-time  clock. </P
-></LI
-><LI
-><P
->Clocks are based on  counters, so the function <TT
-CLASS="FUNCTION"
->cyg_alarm_create()</TT
->
-uses a counter handle. The program used the function
-<TT
-CLASS="FUNCTION"
->cyg_clock_to_counter()</TT
-> to strip the clock handle
-to the underlying counter handle. </P
-></LI
-><LI
-><P
->Once the alarm is created it is 
-initialized with <TT
-CLASS="FUNCTION"
->cyg_alarm_initialize()</TT
->, which
-sets the time at which the alarm should go off, as well as the period
-for repeating alarms. It is set to go off at the current time and
-then to repeat every 200 ticks. </P
-></LI
-><LI
-><P
->The alarm handler function
-<TT
-CLASS="FUNCTION"
->test_alarm_func()</TT
-> conforms to the guidelines for
-writing alarm handlers and other  delayed service routines: it does not invoke any
-functions which might lock the scheduler.  This is discussed in detail
-in the <I
-CLASS="CITETITLE"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Reference Manual</I
->, in the chapter
-<I
-CLASS="CITETITLE"
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Kernel</I
->.</P
-></LI
-><LI
-><P
->There is a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->critical region</I
-></SPAN
-> in this program:
-the variable <TT
-CLASS="LITERAL"
->how_many_alarms</TT
-> is accessed in the
-main thread of control and is also modified in the alarm handler. To
-prevent a possible (though unlikely) race condition on this variable,
-access to <TT
-CLASS="LITERAL"
->how_many_alarms</TT
-> in the principal thread
-is protected by calls to <TT
-CLASS="FUNCTION"
->cyg_scheduler_lock()</TT
-> and
-<TT
-CLASS="FUNCTION"
->cyg_scheduler_unlock()</TT
->. When the scheduler is
-locked, the alarm handler will not be invoked, so the problem is
-averted. </P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="sample-twothreads.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->A Sample Program with Two Threads</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The eCos Configuration Tool</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/coarse-grained-configuration.html b/doc/html/user-guide/coarse-grained-configuration.html
deleted file mode 100644 (file)
index 4c62a1b..0000000
+++ /dev/null
@@ -1,328 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Coarse-grained Configuration</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Packages"
-HREF="ecos-packages.html"><LINK
-REL="NEXT"
-TITLE="Fine-grained Configuration"
-HREF="fine-grained-configuration.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-packages.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="fine-grained-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COARSE-GRAINED-CONFIGURATION">Coarse-grained Configuration</H1
-><P
->Coarse-grained configuration of
-         an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> system means making configuration changes using the
-         <B
-CLASS="COMMAND"
->ecosconfig</B
-> tool. These changes
-         include: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->switching to different target hardware</P
-></LI
-><LI
-><P
->switching to a different template</P
-></LI
-><LI
-><P
->adding or removing a package</P
-></LI
-><LI
-><P
->changing the version of a package</P
-></LI
-></OL
-><P
->Whenever <B
-CLASS="COMMAND"
->ecosconfig</B
-> generates or
-         updates an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration, it generates a configuration
-         save file.</P
-><P
->Suppose that the configuration was first created using
-         the following command line: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig new stdeval1</PRE
-></TD
-></TR
-></TABLE
-><P
->To change the target hardware to the Cogent CMA28x
-         PowerPC board, the following command would be needed:
-       </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig target cma28x</PRE
-></TD
-></TR
-></TABLE
-><P
->To switch to the PowerPC simulator instead: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig target psim</PRE
-></TD
-></TR
-></TABLE
-><P
->As the hardware changes, hardware-related packages such as
-the HAL packages and device drivers will be added to and removed
-from the configuration as appropriate. </P
-><P
->To remove any package from the current configuration, use
-the <B
-CLASS="COMMAND"
->remove</B
-> command: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig remove uitron</PRE
-></TD
-></TR
-></TABLE
-><P
->You can disable multiple packages using multiple arguments,
-for example: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig remove uitron libm</PRE
-></TD
-></TR
-></TABLE
-><P
->If this turns out to have been a mistake then you can
-         re-enable one or more packages with the
-         <B
-CLASS="COMMAND"
->add</B
-> command: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig add libm</PRE
-></TD
-></TR
-></TABLE
-><P
->Changing the desired version for a package is also
-         straightforward:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig version v2_1 kernel</PRE
-></TD
-></TR
-></TABLE
-><P
->It is necessary to regenerate the build tree and header
-         files following any changes to the configuration before
-         rebuilding <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig tree</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-packages.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="fine-grained-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Packages</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Fine-grained Configuration</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/compiler-and-linker-options.html b/doc/html/user-guide/compiler-and-linker-options.html
deleted file mode 100644 (file)
index 993b5db..0000000
+++ /dev/null
@@ -1,367 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Compiler and Linker Options</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="eCos Programming Concepts and Techniques"
-HREF="ecos-programming-concepts-and-techniques.html"><LINK
-REL="PREVIOUS"
-TITLE="Application Build Tree"
-HREF="repository-app-build-tree.html"><LINK
-REL="NEXT"
-TITLE="Compiling a C++ Application"
-HREF="compiling-cpp-app.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="repository-app-build-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compiling-cpp-app.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="COMPILER-AND-LINKER-OPTIONS">Chapter 26. Compiler and Linker Options</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="compiler-and-linker-options.html#COMPILING-C-APP"
->Compiling a C Application</A
-></DT
-><DT
-><A
-HREF="compiling-cpp-app.html"
->Compiling a C++ Application</A
-></DT
-></DL
-></DIV
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is built using
-      the GNU C and C++ compilers. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> relies on certain features of these
-      tools such as constructor priority ordering and selective linking
-      which are not part of other toolchains.
-    </P
-><P
->Some <SPAN
-CLASS="APPLICATION"
->GCC</SPAN
-> options are required for <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->,
-and others can be useful. This chapter gives a brief description
-of the required options as well as some recommended <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->-specific options.
-All other <SPAN
-CLASS="APPLICATION"
->GCC</SPAN
-> options (described in the <SPAN
-CLASS="APPLICATION"
->GCC</SPAN
-> manuals)
-are available. </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPILING-C-APP">Compiling a C Application</H1
-><P
->The following command lines demonstrate the
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->minimum</I
-></SPAN
-> set of options required to
-         compile and link an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> program written in C. </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Remember that when this manual shows
-           <B
-CLASS="COMMAND"
-><TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc</B
->
-           you should use the full name of the cross compiler,
-           e.g. <B
-CLASS="COMMAND"
->i386-elf-gcc</B
->,
-           <B
-CLASS="COMMAND"
->arm-elf-gcc</B
->, or
-           <B
-CLASS="COMMAND"
->sh-elf-gcc</B
->. When compiling for the
-           synthetic Linux target, use the native
-           <B
-CLASS="COMMAND"
->gcc</B
-> which must have the features
-           required by <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc -c  -I<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->INSTALL_DIR</I
-></SPAN
->/include file.c
-$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc -o program file.o -L<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->INSTALL_DIR</I
-></SPAN
->/lib -Ttarget.ld -nostdlib</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Certain targets may require extra options, for example
-           the SPARClite architectures require the option
-           <TT
-CLASS="OPTION"
->-mcpu=sparclite</TT
->. Examine the
-           <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/examples/Makefile</TT
-> 
-           or the &#8220;Global compiler flags&#8221; option
-           (CYGBLD_GLOBAL_CFLAGS) in your generated
-           <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration) to see if any extra options are
-           required, and if so, what they are. </P
-><P
->The following command lines use some other options
-           which are recommended because they use the
-       selective linking feature:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc -c  -I<TT
-CLASS="REPLACEABLE"
-><I
->INSTALL_DIR</I
-></TT
->/include -I. -ffunction-sections -fdata-sections -g -O2 file.c
-$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc -o program file.o -ffunction-sections -fdata-sections -Wl,--gc-sections -g -O2 \
-          -L<TT
-CLASS="REPLACEABLE"
-><I
->INSTALL_DIR</I
-></TT
->/lib -Ttarget.ld -nostdlib</PRE
-></TD
-></TR
-></TABLE
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="repository-app-build-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compiling-cpp-app.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Application Build Tree</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Compiling a C++ Application</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/compiling-cpp-app.html b/doc/html/user-guide/compiling-cpp-app.html
deleted file mode 100644 (file)
index a7b0f65..0000000
+++ /dev/null
@@ -1,320 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Compiling a C++ Application</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Compiler and Linker Options"
-HREF="compiler-and-linker-options.html"><LINK
-REL="PREVIOUS"
-TITLE="Compiler and Linker Options"
-HREF="compiler-and-linker-options.html"><LINK
-REL="NEXT"
-TITLE="Debugging Techniques"
-HREF="debugging-techniques.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compiler-and-linker-options.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 26. Compiler and Linker Options</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="debugging-techniques.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPILING-CPP-APP">Compiling a C++ Application</H1
-><P
->The following command lines demonstrate the
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->minimum</I
-></SPAN
-> set of options required to
-         compile and link an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> program written in C++.
-       </P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Remember that when this manual shows
-           <B
-CLASS="COMMAND"
-><TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->g++</B
->
-           you should use the full name of the cross compiler,
-           e.g. <B
-CLASS="COMMAND"
->i386-elf-g++</B
->,
-           <B
-CLASS="COMMAND"
->arm-elf-g++</B
->, or
-           <B
-CLASS="COMMAND"
->sh-elf-g++</B
->. When compiling for the
-           synthetic Linux target, use the native
-           <B
-CLASS="COMMAND"
->g++</B
-> which must have the features
-           required by <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->g++ -c  -I<TT
-CLASS="REPLACEABLE"
-><I
->INSTALL_DIR</I
-></TT
->/include -fno-rtti -fno-exceptions file.cxx
-$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->g++ -o program file.o -L<TT
-CLASS="REPLACEABLE"
-><I
->INSTALL_DIR</I
-></TT
->/lib -Ttarget.ld -nostdlib</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Certain targets may require extra options,
-           for example the SPARClite architectures require the option 
-           <TT
-CLASS="OPTION"
->-mcpu=sparclite</TT
->. Examine the
-           <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/packages/targets</TT
->
-           file or <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/examples/Makefile</TT
->
-           or the &#8220;Global compiler flags&#8221; option
-           (CYGBLD_GLOBAL_CFLAGS) in your generated
-           <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration) to see if any extra options are
-           required, and if so, what they are.</P
-><P
->The following command lines use some other options
-           which are recommended because they use the
-           <I
-CLASS="FIRSTTERM"
->selective linking</I
-> feature:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->g++ -c -I<TT
-CLASS="REPLACEABLE"
-><I
->INSTALL_DIR</I
-></TT
->/include -I. -ffunction-sections -fdata-sections -fno-rtti \
-          -fno-exceptions -finit-priority -g -O2 file.cxx
-$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->g++ -o program file.o -W1,--gc-sections -g -O2 -L<TT
-CLASS="REPLACEABLE"
-><I
->INSTALL_DIR</I
-></TT
->/lib -Ttarget.ld  -nostdlib</PRE
-></TD
-></TR
-></TABLE
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compiler-and-linker-options.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="debugging-techniques.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Compiler and Linker Options</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="compiler-and-linker-options.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Debugging Techniques</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/component-repo-and-working-dirs.html b/doc/html/user-guide/component-repo-and-working-dirs.html
deleted file mode 100644 (file)
index cb7e2ca..0000000
+++ /dev/null
@@ -1,421 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The Component Repository and Working Directories</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="eCos Programming Concepts and Techniques"
-HREF="ecos-programming-concepts-and-techniques.html"><LINK
-REL="PREVIOUS"
-TITLE="Templates"
-HREF="cdl-templates.html"><LINK
-REL="NEXT"
-TITLE="Build Tree"
-HREF="build-tree.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="cdl-templates.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="build-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="COMPONENT-REPO-AND-WORKING-DIRS">Chapter 25. The Component Repository and Working Directories</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="component-repo-and-working-dirs.html#COMPONENT-REPO"
->Component Repository</A
-></DT
-><DT
-><A
-HREF="build-tree.html"
->Build Tree</A
-></DT
-><DT
-><A
-HREF="install-tree.html"
->Install Tree</A
-></DT
-><DT
-><A
-HREF="repository-app-build-tree.html"
->Application Build Tree</A
-></DT
-></DL
-></DIV
-><P
->Each of the file trees involved in <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> development has a
-       different role. </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="COMPONENT-REPO">Component Repository</H1
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <I
-CLASS="FIRSTTERM"
->component repository</I
->
-         contains directories for all the packages that are shipped
-         with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> or provided by third parties.</P
-><P
->The component repository should not be modified as part of
-application development. </P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN2022"><P
-><B
->Figure 25-1. Component repository</B
-></P
-><P
-><IMG
-SRC="pix/comprepos.png"></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2025">Purpose</H2
-><P
->The component repository is the master copy of source code
-for all system and third party components. It also contains some
-files needed to administer and build the system, such as <B
-CLASS="COMMAND"
->ecosadmin.tcl</B
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2029">How is it modified?</H2
-><P
->You modify it by importing new versions of packages from a
-distribution or removing existing packages. These activities are
-undertaken using the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Package Administration Tool</SPAN
->.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2034">When is it edited manually?</H2
-><P
->Files in the component repository should only be edited manually
-as determined by the component maintainer.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2037">User Applications</H2
-><P
->User application source code should <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> go
-into the component repository.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2041">Examples of files in this hierarchy:</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/doc/ref/ecos-ref.html</TT
-></DT
-><DD
-><P
->The top level HTML file for the
-                 <I
-CLASS="CITETITLE"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Reference
-                   Manual</I
->. </P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/prebuilt/pid/tests/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/tests/thread_gdb.exe</TT
-></DT
-><DD
-><P
-></P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/prebuilt/linux/tests/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/tests/thread_gdb.exe</TT
-></DT
-><DD
-><P
->Pre-built tests for the supported platforms, and
-                 the synthetic Linux target.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/examples/twothreads.c</TT
-></DT
-><DD
-><P
->One of the example programs.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecosadmin.tcl</TT
-></DT
-><DD
-><P
->The Tcl program which is used to  import new versions of packages
-from a distribution or remove existing packages.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/packages/language/c/libm/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/double/portable-api/s_tanh.c</TT
-></DT
-><DD
-><P
->Implementation of the hyperbolic tangent function in the standard
-math library.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/pkgconf/rules.mak</TT
-></DT
-><DD
-><P
->A file with <B
-CLASS="COMMAND"
->make</B
-> rules, used
-by the <TT
-CLASS="FILENAME"
->makefile</TT
->.</P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="cdl-templates.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="build-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Templates</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Build Tree</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-building.html b/doc/html/user-guide/config-tool-building.html
deleted file mode 100644 (file)
index 3f3e63a..0000000
+++ /dev/null
@@ -1,332 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Building</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Searching"
-HREF="config-tool-searching.html"><LINK
-REL="NEXT"
-TITLE="Selecting User Tools"
-HREF="config-tool-selecting-user-tools.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-searching.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-selecting-user-tools.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-BUILDING">Chapter 21. Building</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="config-tool-building.html#CONFIG-TOOL-SELECTING-BUILD-TOOLS"
->Selecting Build Tools</A
-></DT
-><DT
-><A
-HREF="config-tool-selecting-user-tools.html"
->Selecting User Tools</A
-></DT
-></DL
-></DIV
-><P
->When you have configured <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, you may build the configuration.</P
-><P
->On the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
-> menu, click:</P
-><P
-></P
-><UL
-><LI
-><P
->                      
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
->
- (or click the Build Library icon on the toolbar) &#8211; this
-causes the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration to be built. The result of a successful
-build will be (among other things) a library against which user
-code can be linked</P
-></LI
-><LI
-><P
->                      
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tests</I
-></SPAN
->
- &#8211; this causes the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration to be built, and
-additionally builds the relevant test cases linked against the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> library</P
-></LI
-><LI
-><P
->                      
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Clean</I
-></SPAN
->
- &#8211; this removes all intermediate files, thus causing a
-subsequent build/library or build/tests operation
-to cause recompilation of all relevant files.</P
-></LI
-><LI
-><P
->                      
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Stop</I
-></SPAN
->
- &#8211; this causes a currently executing build (any of the
-above steps) to be interrupted</P
-></LI
-></UL
-><P
->Build options may be displayed by using the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Options</I
-></SPAN
-> menu
-item. This displays a dialog box containing a drop-list control
-and two windows. The drop-list control allows you to select the
-type of build option to be displayed (for example &#8220;LDFLAGS&#8221; are
-the options applied at link-time. The left-hand window is a tree
-view of the packages loaded in the current configuration. The right-hand
-window is a list of the build options that will be used for the
-currently selected package.</P
-><P
->Note that this dialog box currently affords only read-only
-access to the build options. In order to change build options you
-must edit the relevant string configuration item.</P
-><P
->A single level of inheritance is supported: each package&#8217;s
-build options are combined with the global options (these are to
-be found in the &#8220;Global build options&#8221; folder
-in the configuration view).</P
-><P
-><P
-><IMG
-SRC="pix/buildoptions.png"></P
-></P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-SELECTING-BUILD-TOOLS">Selecting Build Tools</H1
-><P
->Normally the installation process will supply the information
-required for the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-><SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> to
-locate the build tools (compiler, linker, etc.) necessary
-to perform a build. However if this information is not registered,
-or it is necessary to specify the location manually (for example,
-when a new toolchain installation has been made), select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Paths</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build
-Tools</I
-></SPAN
->. The following dialog box will be displayed:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1521"><P
-><B
->Figure 21-1. Build tools</B
-></P
-><P
-><IMG
-SRC="pix/build-tools2.png"></P
-></DIV
-><P
->This dialog box allows you to locate the folder containing
-the build tools. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-searching.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-selecting-user-tools.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Searching</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Selecting User Tools</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-component-repository.html b/doc/html/user-guide/config-tool-component-repository.html
deleted file mode 100644 (file)
index d3cffe6..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The Component Repository</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Getting Started"
-HREF="config-tool-getting-started.html"><LINK
-REL="PREVIOUS"
-TITLE="Invoking the eCos Configuration Tool"
-HREF="config-tool-invoking.html"><LINK
-REL="NEXT"
-TITLE="eCos Configuration Tool Documents"
-HREF="config-tool-documents.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-invoking.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 15. Getting Started</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-documents.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-COMPONENT-REPOSITORY">The Component Repository</H1
-><P
->When you invoke the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->, it accesses the Component
-         Repository, a read-only location of configuration
-         information. For an explanation of &#8220;Component
-         Repository&#8221; see <A
-HREF="cdl-concepts.html"
->Chapter 24</A
->.</P
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> will look
-         for a component repository using (in descending order of preference):</P
-><P
-></P
-><UL
-><LI
-><P
->A location specified on the command line</P
-></LI
-><LI
-><P
->The component repository most recently used by the
-current user</P
-></LI
-><LI
-><P
->An <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> distribution under <TT
-CLASS="FILENAME"
->/opt/ecos</TT
-> (under
-Linux) or a default location set by the installation procedure (under
-Windows)</P
-></LI
-><LI
-><P
->User input</P
-></LI
-></UL
-><P
->The final case above will normally only occur if the previous
-         repository has been moved or (under Windows) installation information stored in
-         the Windows registry has been modified; it will result in a dialog box
-being displayed that allows you to specify the repository location:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1047"><P
-><B
->Figure 15-2. Repository relocation dialog box</B
-></P
-><P
-><IMG
-SRC="pix/repos-relocate.png"></P
-></DIV
-><P
->Note that in order to use the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> you are obliged to provide a
-         valid repository location. </P
-><P
->In the rare event that you subsequently wish to change
-         the component location, select
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Repository</I
-></SPAN
-> 
-         and the above dialog box will then be displayed.</P
-><P
->You can check the location of the current repository, the current save file
-path, and the current hardware template and default package,
-by selecting <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Help</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Repository Information...</I
-></SPAN
->.
-A summary will be displayed.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-invoking.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-documents.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Invoking the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> Documents</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-context-help-config-items.html b/doc/html/user-guide/config-tool-context-help-config-items.html
deleted file mode 100644 (file)
index 17e79a8..0000000
+++ /dev/null
@@ -1,172 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Context-sensitive Help for Configuration Items</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Getting Help"
-HREF="config-tool-getting-help.html"><LINK
-REL="PREVIOUS"
-TITLE="Context-sensitive Help for Other Windows"
-HREF="config-tool-context-help-otherwin.html"><LINK
-REL="NEXT"
-TITLE="Methods of Displaying HTML Help"
-HREF="methods-of-displaying-html-help.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-context-help-otherwin.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 16. Getting Help</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="methods-of-displaying-html-help.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-CONTEXT-HELP-CONFIG-ITEMS">Context-sensitive Help for Configuration Items</H1
-><P
->In the configuration window, right-click on a configuration
-item (or use <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Shift+F10</I
-></SPAN
->). A context
-menu will be displayed; select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Visit Documentation</I
-></SPAN
-> 
-to display the page in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> documentation that most closely
-corresponds to the selected item.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-context-help-otherwin.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="methods-of-displaying-html-help.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Context-sensitive Help for Other Windows</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Methods of Displaying HTML Help</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-context-help-otherwin.html b/doc/html/user-guide/config-tool-context-help-otherwin.html
deleted file mode 100644 (file)
index 95bfb1f..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Context-sensitive Help for Other Windows</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Getting Help"
-HREF="config-tool-getting-help.html"><LINK
-REL="PREVIOUS"
-TITLE="Getting Help"
-HREF="config-tool-getting-help.html"><LINK
-REL="NEXT"
-TITLE="Context-sensitive Help for Configuration Items"
-HREF="config-tool-context-help-config-items.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 16. Getting Help</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-context-help-config-items.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-CONTEXT-HELP-OTHERWIN">Context-sensitive Help for Other Windows</H1
-><P
->In the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Help</I
-></SPAN
-> menu, click
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Help On...</I
-></SPAN
->
-and then click on a window (or click on the arrow/question mark button
-on the toolbar, then click on a window). A small popup window page describing the
-window will be displayed. The same thing can be achieved by right-clicking
-on a window and clicking on <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->What's This?</I
-></SPAN
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-context-help-config-items.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Getting Help</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Context-sensitive Help for Configuration Items</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-creating-a-shell.html b/doc/html/user-guide/config-tool-creating-a-shell.html
deleted file mode 100644 (file)
index 2c7fb2c..0000000
+++ /dev/null
@@ -1,719 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Creating a Shell</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Execution"
-HREF="config-tool-test-execution.html"><LINK
-REL="NEXT"
-TITLE="eCos Programming Concepts and Techniques"
-HREF="ecos-programming-concepts-and-techniques.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-test-execution.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-CREATING-A-SHELL">Chapter 23. Creating a Shell</H1
-><P
->To call up a shell window, select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Shell</I
-></SPAN
->.
-Under Windows, you will get a Cygwin shell similar to the one below. On Linux, you will
-get a standard Linux shell window.</P
-><P
-><IMG
-SRC="pix/bash.png"></P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-KEYBOARD-ACCELERATORS">Keyboard Accelerators</H1
-><P
->The following table presents the list of keyboard accelerators
-that can be used with the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->. </P
-><DIV
-CLASS="TABLE"
-><A
-NAME="KEYBOARD-ACCELERATORS"><P
-><B
->Table 23-1. Keyboard accelerators</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Accelerator</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Action</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Remarks</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+1</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->hide/show properties window</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+2</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->hide/show output window</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+3</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->hide/show short description window</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+4</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->hide/show conflicts window</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+A</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->select all</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->output
-window and in-cell editing</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+C</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->copy</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->output window
-and in-cell editing</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+F</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Edit-&gt;Find</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+N</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->File-&gt;New</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+O</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->File-&gt;Open</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+S</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->File-&gt;Save</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+V</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Paste</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->in-cell editing
-only</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+X</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Cut</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->in-cell-editing
-only</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Ctrl+Z</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Undo</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->in-cell editing
-only</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->F1</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Context-sensitive help</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->F3</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Find next</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->F7</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Build-&gt;Library</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Shift+F7</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Build-&gt;Tests</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+F6</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->View-&gt;Next window</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Shift+Alt+0</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->View-&gt;Previous window</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Shift+Ins</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Paste</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->in-cell editing
-only</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Shift+F10</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Display context menu</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration
-window</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+Enter</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Display properties dialog box</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration window</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->&gt;</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Increment item value</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration
-window</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&lt;</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Decrement
-item value</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration window</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Space</I
-></SPAN
-></TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Toggle item value</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Configuration
-window</TD
-></TR
-></TBODY
-></TABLE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-test-execution.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Execution</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Programming Concepts and Techniques</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-customization.html b/doc/html/user-guide/config-tool-customization.html
deleted file mode 100644 (file)
index 05ba4aa..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Customization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Methods of Displaying HTML Help"
-HREF="methods-of-displaying-html-help.html"><LINK
-REL="NEXT"
-TITLE="Settings"
-HREF="config-tool-settings.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="methods-of-displaying-html-help.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-settings.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-CUSTOMIZATION">Chapter 17. Customization</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="config-tool-customization.html#CONFIG-TOOL-WINDOW-PLACEMENT"
->Window Placement</A
-></DT
-><DT
-><A
-HREF="config-tool-settings.html"
->Settings</A
-></DT
-></DL
-></DIV
-><P
->The following visual aspects of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> can be changed to suit
-       individual preferences. These aspects are saved on a per-user
-       basis, so that when the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> is next invoked by the same
-       user, the appearance will be as set in the previous
-       session.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-WINDOW-PLACEMENT">Window Placement</H1
-><P
->The relative sizes of all windows in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> may be adjusted by dragging
-         the splitter bars that separate the windows. The chosen
-         sizes will be used the next time the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> is invoked by the current
-         user. </P
-><P
->All windows except the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Configuration
-           Window</I
-></SPAN
-> may be shown or hidden by using the
-         commands under the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View</I
-></SPAN
-> menu (for
-         example, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View-&gt;Output</I
-></SPAN
->) or the
-         corresponding keyboard accelerators
-         (<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+1</I
-></SPAN
-> to
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Alt+4</I
-></SPAN
->).</P
-><P
->Your chosen set of windows (and their relative sizes) will
-be preserved between invocations of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration
-Tool</SPAN
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="methods-of-displaying-html-help.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-settings.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Methods of Displaying HTML Help</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Settings</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-documents.html b/doc/html/user-guide/config-tool-documents.html
deleted file mode 100644 (file)
index 679e540..0000000
+++ /dev/null
@@ -1,395 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Configuration Tool Documents</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Getting Started"
-HREF="config-tool-getting-started.html"><LINK
-REL="PREVIOUS"
-TITLE="The Component Repository"
-HREF="config-tool-component-repository.html"><LINK
-REL="NEXT"
-TITLE="Getting Help"
-HREF="config-tool-getting-help.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-component-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 15. Getting Started</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-DOCUMENTS"><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> Documents</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1063">Configuration Save File</H2
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration settings and other information
-           (such as disabled conflicts) that are set using the
-           <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> are saved to
-           a file between sessions. By default, when the
-           <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> is first
-           invoked, it reads and displays information from the
-           Component Registry and displays the information in an
-           untitled blank document. You can perform the following
-           operations on a document:</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1071">Save the currently active document</H3
-><P
->Use the &#8220;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&gt;Save</I
-></SPAN
->&#8221; menu
-           item or click the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Save Document</I
-></SPAN
-> icon on the
-           toolbar; if the current document is unnamed, you will be prompted
-           to supply a name for the configuration save file.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1076"><P
-><B
->Figure 15-3. Save As dialog box</B
-></P
-><P
-><IMG
-SRC="pix/save-as-dialog.png"></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1079">Open an existing document</H3
-><P
->Select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Open</I
-></SPAN
->,
-           or click the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Open Document</I
-></SPAN
-> icon on the toolbar.
-           You will be prompted to supply a name for the configuration save
-           file. </P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1085"><P
-><B
->Figure 15-4. Open dialog box</B
-></P
-><P
-><IMG
-SRC="pix/open-dialog.png"></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1088">Open a document you have used recently</H3
-><P
->Click its name at the bottom of the
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
-> menu. </P
-><P
->Documents may also be opened by:</P
-><P
-></P
-><UL
-><LI
-><P
->double-clicking a Configuration Save File in the desktop
-explorer (Windows only);</P
-></LI
-><LI
-><P
->invoking the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-<SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->
-with the name of a Configuration File as command-line argument,
-or by creating a shortcut to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> with such an argument
-(under Windows or a suitable Linux desktop environment).</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1102">Create a new blank document based on the Component
-             Registry</H3
-><P
->Select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New</I
-></SPAN
->,
-or click the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New Document</I
-></SPAN
-> icon on the toolbar.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1108">Save to a different file name</H3
-><P
->Select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Save
-               As</I
-></SPAN
->. You will be prompted to supply a new
-             name for the configuration save file.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1113">Build and Install Trees</H2
-><P
->The location of the build and install trees are
-           derived from the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> save file name as illustrated in the
-           following example:</P
-><P
->Save file name = &#8220;c:&#0092;My
-           eCos&#0092;config1.ecc&#8221;</P
-><P
->Install tree folder = &#8220;c:&#0092;My
-           eCos&#0092;config1_install&#8221;</P
-><P
->Build tree folder = &#8220;c:&#0092;My
-           eCos&#0092;config1_build&#8221;</P
-><P
->These names are automatically generated from the name
-           of the save file.</P
-><P
->See also <A
-HREF="cdl-concepts.html"
->Chapter 24</A
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-component-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The Component Repository</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Getting Help</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-getting-help.html b/doc/html/user-guide/config-tool-getting-help.html
deleted file mode 100644 (file)
index 722dc6f..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Getting Help</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Configuration Tool Documents"
-HREF="config-tool-documents.html"><LINK
-REL="NEXT"
-TITLE="Context-sensitive Help for Other Windows"
-HREF="config-tool-context-help-otherwin.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-documents.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-context-help-otherwin.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-GETTING-HELP">Chapter 16. Getting Help</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="config-tool-getting-help.html#CONFIG-TOOL-CONTEXT-HELP-DIALOGS"
->Context-sensitive Help for Dialogs</A
-></DT
-><DT
-><A
-HREF="config-tool-context-help-otherwin.html"
->Context-sensitive Help for Other Windows</A
-></DT
-><DT
-><A
-HREF="config-tool-context-help-config-items.html"
->Context-sensitive Help for Configuration Items</A
-></DT
-><DT
-><A
-HREF="methods-of-displaying-html-help.html"
->Methods of Displaying HTML Help</A
-></DT
-></DL
-></DIV
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> contains
-several methods for accessing online help.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-CONTEXT-HELP-DIALOGS">Context-sensitive Help for Dialogs</H1
-><P
->Most dialogs displayed by the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> are supplied
-with context-sensitive help. You can then get help relating
-to any control within the current dialog box by</P
-><P
-></P
-><UL
-><LI
-><P
->Right-clicking the control (or pressing 
-             <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->F1</I
-></SPAN
->
-             )</P
-><P
->A &#8220;What&#8217;s This?&#8221; popup menu will
-         be displayed. Click the menu to display a brief description of the
-         function of the selected control.</P
-></LI
-><LI
-><P
->Clicking the question mark icon in the dialog
-           caption bar (Windows) or the question mark button on the dialog (Linux).</P
-><P
->A question mark cursor will be displayed. Click on
-             any control to display a brief description of its
-             function.</P
-></LI
-></UL
-><P
->Some dialogs may have a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Help</I
-></SPAN
->
-         button. You can press this to display a more general
-         description of the function of the dialog box as a whole.
-         This help will be in HTML form; for more information, see
-         below.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-documents.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-context-help-otherwin.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> Documents</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Context-sensitive Help for Other Windows</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-getting-started.html b/doc/html/user-guide/config-tool-getting-started.html
deleted file mode 100644 (file)
index b8f6949..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Getting Started</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="NEXT"
-TITLE="Invoking the eCos Configuration Tool"
-HREF="config-tool-invoking.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-invoking.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-GETTING-STARTED">Chapter 15. Getting Started</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="config-tool-getting-started.html#CONFIG-TOOL-GETTING-STARTED-INTRO"
->Introduction</A
-></DT
-><DT
-><A
-HREF="config-tool-invoking.html"
->Invoking the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></A
-></DT
-><DT
-><A
-HREF="config-tool-component-repository.html"
->The Component Repository</A
-></DT
-><DT
-><A
-HREF="config-tool-documents.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> Documents</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-GETTING-STARTED-INTRO">Introduction</H1
-><P
-> The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> is used
-         to tailor <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> at source level, prior to compilation or
-         assembly, and provides a configuration file and a set of
-         files used to build user applications. The sources and other
-         files used for building a configuration are provided in a
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->component repository</I
-></SPAN
->, which is loaded
-         when the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->
-         is invoked. The component repository includes a set of files
-         defining the structure of relationships between the
-         <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> and other components, and is written in a
-         <I
-CLASS="FIRSTTERM"
->Component Definition Language</I
-> (<SPAN
-CLASS="ACRONYM"
->CDL</SPAN
->).
-         For a description of the concepts underlying component
-         configuration, see <A
-HREF="cdl-concepts.html"
->Chapter 24</A
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-invoking.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->The eCos Configuration Tool</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Invoking the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-invoking.html b/doc/html/user-guide/config-tool-invoking.html
deleted file mode 100644 (file)
index 9a843a7..0000000
+++ /dev/null
@@ -1,424 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Invoking the eCos Configuration Tool</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Getting Started"
-HREF="config-tool-getting-started.html"><LINK
-REL="PREVIOUS"
-TITLE="Getting Started"
-HREF="config-tool-getting-started.html"><LINK
-REL="NEXT"
-TITLE="The Component Repository"
-HREF="config-tool-component-repository.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 15. Getting Started</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-component-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-INVOKING">Invoking the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN967">On Linux</H2
-><P
->Add the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> install directory to your PATH, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->export PATH=/opt/ecos/ecos<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/bin:$PATH</PRE
-></TD
-></TR
-></TABLE
-><P
->You may run configtool with zero, one or two arguments. You can specify the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository
- location, and/or an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> save file (extension .ecc) on the command line. The ordering of these
-two arguments is not significant. For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->configtool /opt/ecos/ecos<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/packages myfile.ecc</PRE
-></TD
-></TR
-></TABLE
-><P
->The <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> will be displayed (see <A
-HREF="config-tool-invoking.html#FIGURE-CONFIGURATION-TOOL"
->Figure 15-1</A
->).</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN982">On Windows</H2
-><P
->There are two ways in which to invoke the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->:</P
-><P
-></P
-><UL
-><LI
-><P
->            from the desktop explorer or program set up at installation
-             time (by default 
-             <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Start</I
-></SPAN
->
-             -&gt;
-             <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Programs</I
-></SPAN
->
-             -&gt;
-             <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos</I
-></SPAN
->
-             -&gt;
-             <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Configuration Tool</I
-></SPAN
->
-             ).</P
-></LI
-><LI
-><P
->type (at a command prompt or in the 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Start</I
-></SPAN
->
-           menu&#8217;s 
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run</I
-></SPAN
->
-           item): &lt;foldername&gt;&#0092;ConfigTool.exe where &lt;foldername&gt; is
-           the full path of the directory in which you installed the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-           <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->.</P
-></LI
-><LI
-><P
->The 
-           <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->
-           will be displayed (see <A
-HREF="config-tool-invoking.html#FIGURE-CONFIGURATION-TOOL"
->Figure 15-1</A
->).</P
-></LI
-></UL
-><P
->You may run configtool with zero, one or two arguments. You can specify the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository
-location, and/or an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> save file (extension .ecc) on the command line. The ordering of these
-two arguments is not significant. For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->configtool "c:\Program Files\eCos\packages" myfile.ecc</PRE
-></TD
-></TR
-></TABLE
-><P
->If you invoke the configuration tool from the command line with
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->--help</I
-></SPAN
->, you will see this output:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Usage: eCos Configuration Tool [-h] [-e] [-v] [-c] [input file 1] [input file 2]
-  -h  --help           displays help on the command line parameters
-  -e  --edit-only      edit save file only
-  -v  --version        print version
-  -c  --compile-help   compile online help only</PRE
-></TD
-></TR
-></TABLE
-><P
->This summarizes valid parameters and switches. Switches are shown with
-both short form and long form.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->--help</I
-></SPAN
-> shows valid options and parameters, as above.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->--edit-only</I
-></SPAN
-> runs the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> in a mode that
-suppresses creation of a build tree, in case you only want to create and edit save files.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->--version</I
-></SPAN
-> shows version and build date information, and exits.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->--compile-help</I
-></SPAN
-> compiles help contents files from the HTML documentation
-files that the tool finds in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository, and exits.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-CONFIGURATION-TOOL"><P
-><B
->Figure 15-1. <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></B
-></P
-><P
-><IMG
-SRC="pix/config-f1.png"></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-component-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Getting Started</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->The Component Repository</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-platform-selection.html b/doc/html/user-guide/config-tool-platform-selection.html
deleted file mode 100644 (file)
index afc32aa..0000000
+++ /dev/null
@@ -1,255 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Platform Selection</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Updating the Configuration"
-HREF="config-tool-updating-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Updating the Configuration"
-HREF="config-tool-updating-configuration.html"><LINK
-REL="NEXT"
-TITLE="Using Templates"
-HREF="config-tool-using-templates.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-updating-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 19. Updating the Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-using-templates.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-PLATFORM-SELECTION">Platform Selection</H1
-><P
->To add, modify or remove entries in the list of
-         platforms used for running tests, select
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools-&gt;Platforms</I
-></SPAN
->. The following
-         dialog will be displayed:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1393"><P
-><B
->Figure 19-2. Platforms dialog box</B
-></P
-><P
-><IMG
-SRC="pix/toolsplatforms.png"></P
-></DIV
-><P
->You may add, modify or remove platform entries as you
-         wish, but in order to run tests, a platform must be defined
-         to correspond to the currently loaded hardware template. The
-         information associated with each platform name is used to
-         run tests.</P
-><P
->To modify a platform, click the
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Modify</I
-></SPAN
-> button with the appropriate
-         platform selected, or double-click on an entry in the list.
-         A dialog will be displayed that allows you to change the
-         command prefix, platform type and arguments for
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->GDB</I
-></SPAN
->. </P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1400"><P
-><B
->Figure 19-3. Platform Modify dialog box</B
-></P
-><P
-><IMG
-SRC="pix/modifyplatform.png"></P
-></DIV
-><P
->To add a new platform, click the
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> button. A similar dialog will be
-         displayed that allows you to define a new platform. To
-         remove a platform, click the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Delete</I
-></SPAN
->
-         button or press the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->DEL</I
-></SPAN
-> key with the
-         appropriate platform selected.</P
-><P
->The command prefix is used when running tests in order
-         to determine the names of the executables (such as gdb) to
-         be used. For example, if the gdb executable name is
-         &#8220;arm-elf-gdb.exe&#8221; the prefix should be set to
-         &#8220;arm-elf&#8221;.</P
-><P
->The platform type indicates the capabilities of the platform
-- whether it is hardware or a simulator, and whether breakpoints
-are supported.</P
-><P
->The arguments for the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->GDB</I
-></SPAN
-> field allow
-additional arguments to be passed to gdb when it is used to run
-a test.  This is typically used in the case of simulators linked
-to gdb in order to define memory layout.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-updating-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-using-templates.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Updating the Configuration</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-updating-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Using Templates</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-screen-layout.html b/doc/html/user-guide/config-tool-screen-layout.html
deleted file mode 100644 (file)
index e1bca73..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Screen Layout</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Settings"
-HREF="config-tool-settings.html"><LINK
-REL="NEXT"
-TITLE="Updating the Configuration"
-HREF="config-tool-updating-configuration.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-settings.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-updating-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-SCREEN-LAYOUT">Chapter 18. Screen Layout</H1
-><P
->The following windows are available within the
-      <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
-> Configuration
-        Tool</SPAN
->:
-    </P
-><P
-></P
-><UL
-><LI
-><P
->              Configuration Window</P
-></LI
-><LI
-><P
->              Properties Window</P
-></LI
-><LI
-><P
->              Short Description</P
-></LI
-><LI
-><P
->              Conflicts</P
-></LI
-><LI
-><P
->              Output</P
-></LI
-></UL
-><P
->The layout of the windows may be adjusted to suit your
-       preferences: see <A
-HREF="config-tool-settings.html"
->the Section called <I
->Settings</I
-> in Chapter 17</A
->.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-CONFIGURATION-WINDOW">Configuration Window</H1
-><P
->This is the principal window used to configure <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. It
-         takes the form of a tree-based representation of the
-         configuration items within the currently loaded <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-         packages.</P
-><P
->In the case of items whose values may be changed,
-         controls are available to set the item values. These either
-         take the form of check boxes or radio buttons within the
-         tree itself or cells to the right of the thin vertical
-         splitter bar. Controls in the tree may be used in the usual
-         way; cells, however, must first be activated.</P
-><P
->To activate a cell, simply click on it: it will assume a sunken
-appearance and data can then be edited in the cell. To terminate
-in-cell editing, click elsewhere in the configuration window or
-press <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ENTER</I
-></SPAN
->. To discard the partial results
-of in-cell editing and revert to the previous value, press <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->ESCAPE</I
-></SPAN
->.</P
-><P
-><P
-><IMG
-SRC="pix/configwin.png"></P
-></P
-><P
->Cells come in three varieties, according to the type of
-         data they accept:</P
-><DIV
-CLASS="TABLE"
-><A
-NAME="AEN1273"><P
-><B
->Table 18-1. Cell types</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Cell Type</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
-><P
->Data Accepted</P
-></TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Integer</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Decimal or hexadecimal values</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Floating Point</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Floating point values</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->String</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Any</TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><P
->In the case of string cells, you can double-click the cell
-to display a dialog box containing a larger region in which to edit
-the string value. This is useful in the case of long strings, or
-those spanning multiple lines.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1292">Disabled items</H2
-><P
->Some items will appear disabled. In this case the item
-           label and any associated controls and cells will be
-           grayed. It is not be possible to change the values of
-           disabled items.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1295">Right-Clicking</H3
-><P
->You can right-click on an item in the configuration
-             window item to display a pop-up menu which (depending on
-             the type of the item selected) allows you to:</P
-><P
-></P
-><UL
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Properties</I
-></SPAN
-> &#8211;
-                 information relating to the currently selected item
-                 is displayed. The information is equivalent to that
-                 displayed in the Properties
-                 Window.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Restore Defaults</I
-></SPAN
-> -
-                 the default value of the currently selected item is
-                 restored.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Visit Documentation</I
-></SPAN
->
-                 - causes the HTML page most closely relating to the
-                 currently selected item to be displayed. This has
-                 the same effect as double-clicking the URL property
-                 in the Properties Window.</P
-></LI
-><LI
-><P
-> <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View Header File</I
-></SPAN
->
-                 &#8211; this causes the file containing the items to
-                 be displayed. This is equivalent to double-clicking
-                 on the File property in the Properties Window. The
-                 viewer used for this purpose may be changed using
-                 the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View-&gt;Settings</I
-></SPAN
-> menu item
-                 (see <A
-HREF="config-tool-settings.html"
->the Section called <I
->Settings</I
-> in Chapter 17</A
->).
-                 Note that this operation is only possible when the
-                 current configuration is saved, in order to avoid
-                 the possibility of changing the source
-                 repository.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Unload Package</I
-></SPAN
-> -
-                 this is equivalent to using the
-                 <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Packages</I
-></SPAN
-> menu item to
-                 select and unload the package in
-                 question.</P
-></LI
-></UL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1317">Conflicts Window</H2
-><P
->This window exists to display any configuration item
-           conflicts. Conflicts are the result of failures to meet
-           the requirements between configuration items expressed in
-           the CDL. See <A
-HREF="cdl-conflicts.html"
->the Section called <I
->Conflicts</I
-> in Chapter 24</A
-> .<P
-><IMG
-SRC="pix/conflictwin.png"></P
-></P
-><P
->The window comprises three columns:</P
-><P
-></P
-><UL
-><LI
-><P
->              <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Item</I
-></SPAN
-></P
-><P
->This is the macro name of the first item involved
-               in the conflict.</P
-></LI
-><LI
-><P
->                      
-               <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Conflict</I
-></SPAN
-></P
-><P
->This is a description of the conflict type. The currently
-               supported types are &#8220;unresolved&#8221;, &#8220;illegal
-               value&#8221;, &#8220;evaluation exception&#8221;, &#8220;goal
-               unsatisfied&#8221; and &#8220;bad data&#8221;.</P
-></LI
-><LI
-><P
->                      
-               <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Property</I
-></SPAN
-></P
-><P
->This contains a description of the configuration
-               item&#8217;s property that caused the conflict.</P
-><P
->Within the conflicts window you can right-click on
-               any item to display a context menu which allows you to
-               choose from one of the following options:</P
-></LI
-></UL
-><P
->To locate the item involved in the
-conflict, double-click in the first or third column, or
-right-click over the item and choose <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Locate</I
-></SPAN
->
-from the popup menu.</P
-><P
->You can use the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools-&gt;Resolve Conflicts</I
-></SPAN
-> menu
-item, or right-click over the item and select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Resolve</I
-></SPAN
-> from the popup menu,
-to resolve conflicts &#8212; <A
-HREF="config-tool-using-templates.html#RESOLVING-CONFLICTS"
->the Section called <I
->Resolving conflicts</I
-> in Chapter 19</A
->.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1343">Output Window</H3
-><P
->This window displays any output generated by
-             execution of external tools and any error messages that
-             are not suitable for display in other forms (for
-             example, as message boxes).</P
-><P
->Within the output window you can right-click to display a
-context menu which allows you to:</P
-><P
-></P
-><UL
-><LI
-><P
->Save the contents of the window to a
-                 file</P
-></LI
-><LI
-><P
->Clear the contents of the
-                 window</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1352">Properties Window</H3
-><P
->This window displays the CDL properties of the item
-             currently selected in the configuration window. The same
-             information may be displayed by right-clicking the item
-             and selecting &#8220;properties&#8221;.</P
-><P
->            <P
-><IMG
-SRC="pix/propwin.png"></P
-></P
-><P
->Two properties may be double-clicked as
-           follows:</P
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->URL</I
-></SPAN
-> &#8211;
-                 double-clicking on a URL property causes the
-                 referenced HTML page to be displayed. This has the
-                 same effect as right-clicking on the item and
-                 choosing &#8220;Visit
-                 Documentation&#8221;.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
-> &#8211;
-                 double-clicking on a File property in a saved
-                 configuration causes the File to be displayed. The
-                 viewer used for this purpose may be changed using
-                 the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View-&gt;Settings</I
-></SPAN
-> menu
-                 item. Note that this operation is only possible when
-                 the current configuration is saved, in order to
-                 avoid the possibility of changing the source
-                 repository.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1366">Short Description Window</H3
-><P
->This window displays a short description of the item
-             currently selected in the configuration window. More
-             extensive documentation may be available by
-             right-clicking on the item and choosing &#8220;Visit
-             Documentation&#8221;.</P
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-settings.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-updating-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Settings</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Updating the Configuration</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-searching.html b/doc/html/user-guide/config-tool-searching.html
deleted file mode 100644 (file)
index 191c7b6..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Searching</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Using Templates"
-HREF="config-tool-using-templates.html"><LINK
-REL="NEXT"
-TITLE="Building"
-HREF="config-tool-building.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-using-templates.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-building.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-SEARCHING">Chapter 20. Searching</H1
-><P
->Select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Edit </I
-></SPAN
->--&gt; <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Find</I
-></SPAN
->.
-You will be presented with a Find dialog box:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1471"><P
-><B
->Figure 20-1. Find dialog box</B
-></P
-><P
-><IMG
-SRC="pix/find-dialog.png"></P
-></DIV
-><P
->Using this dialog box you can search for an exact text string
-in any one of three ways, as specified by your selection in the &#8220;Search
-in&#8221; drop-list:</P
-><P
-></P
-><UL
-><LI
-><P
->Macro names - the search is for a text match within
-configuration item macro names</P
-></LI
-><LI
-><P
->                      Item names - the search is for a text match within
-configuration item descriptive names</P
-></LI
-><LI
-><P
->                      Short descriptions - the search is for a text match
-within configuration item short descriptions</P
-></LI
-></UL
-><P
->Note that to invoke <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Find</I
-></SPAN
-> you can also
-click the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Find</I
-></SPAN
-> icon on the toolbar. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-using-templates.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-building.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Using Templates</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-selecting-user-tools.html b/doc/html/user-guide/config-tool-selecting-user-tools.html
deleted file mode 100644 (file)
index 72e6b12..0000000
+++ /dev/null
@@ -1,194 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Selecting User Tools</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Building"
-HREF="config-tool-building.html"><LINK
-REL="PREVIOUS"
-TITLE="Building"
-HREF="config-tool-building.html"><LINK
-REL="NEXT"
-TITLE="Execution"
-HREF="config-tool-test-execution.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-building.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 21. Building</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-test-execution.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-SELECTING-USER-TOOLS">Selecting User Tools</H1
-><P
->Normally the installation process will supply the information
-required for the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-><SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> to
-locate the user tools (cat, ls, etc.) necessary to perform
-a build. However if this information is not registered, or it is
-necessary to specify the location manually (for example, when a
-new toolchain installation has been made), select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Paths</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->User
-Tools</I
-></SPAN
->. The following dialog box will be displayed:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1533"><P
-><B
->Figure 21-2. User tools</B
-></P
-><P
-><IMG
-SRC="pix/user-tools-dialog.png"></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-building.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-test-execution.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-building.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Execution</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-settings.html b/doc/html/user-guide/config-tool-settings.html
deleted file mode 100644 (file)
index 8efe1d7..0000000
+++ /dev/null
@@ -1,347 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Settings</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Customization"
-HREF="config-tool-customization.html"><LINK
-REL="PREVIOUS"
-TITLE="Customization"
-HREF="config-tool-customization.html"><LINK
-REL="NEXT"
-TITLE="Screen Layout"
-HREF="config-tool-screen-layout.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-customization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 17. Customization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-screen-layout.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-SETTINGS">Settings</H1
-><P
->To change other visual aspects, select
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Settings</I
-></SPAN
->
-         and then select the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Display</I
-></SPAN
-> and
-          <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View</I
-></SPAN
-> tabs depending on the settings
-          you wish to alter..
-         The options are as follows:</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1205">Settings: Display tab</H2
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1207"><P
-><B
->Figure 17-1. Settings dialog, Display tab</B
-></P
-><P
-><IMG
-SRC="pix/settings-display.png"></P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1210">Labels</H3
-><P
->In the configuration window, you can choose to have
-           either <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->descriptive names</I
-></SPAN
-> (the
-           default) or <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->macro names</I
-></SPAN
-> displayed as
-           tree item labels. Descriptive names are generally more
-           comprehensible, but macro names are used in some contexts
-           such as conflict resolution and may be directly related to
-           the source code of the configuration. Note that it is
-           possible to search for an item in the configuration view
-           by selecting
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Find</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Edit</I
-></SPAN
->
-           (see <A
-HREF="config-tool-searching.html"
->Chapter 20</A
->). Both
-           descriptive names and macro names can be searched.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1218">Integer Items</H3
-><P
->You can choose to have integer items in the
-           Configuration Window displayed in decimal or hexadecimal
-           format.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1221">Font</H3
-><P
->Change the font for a particular window by selecting the window name using the drop-down list,
-then clicking on <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Change Font</I
-></SPAN
-> to select a font for that
-window. The changes will be applied when the press <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
-> to dismiss the Settings dialog.
-If you never make font changes, then the windows will take
-the default setting determined by your current Windows or Unix environment. </P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1226">Miscellaneous</H3
-><P
->If the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Splash Screen</I
-></SPAN
-> checkbox is checked, a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->splash</I
-></SPAN
->
-window will appear as the application is loading. Uncheck this to eliminate the splash screen.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1231">Settings: Viewers tab</H2
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1233"><P
-><B
->Figure 17-2. Settings dialog, Viewers tab</B
-></P
-><P
-><IMG
-SRC="pix/settings-viewers.png"></P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1236">View header files</H3
-><P
->You can change the viewer used to display header files.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN1239">View documentation</H3
-><P
->You can change the viewer used to display HTML files.
-See <A
-HREF="methods-of-displaying-html-help.html"
->the Section called <I
->Methods of Displaying HTML Help</I
-> in Chapter 16</A
->.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-customization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-screen-layout.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Customization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-customization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Screen Layout</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-test-execution.html b/doc/html/user-guide/config-tool-test-execution.html
deleted file mode 100644 (file)
index fa9a141..0000000
+++ /dev/null
@@ -1,685 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Execution</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Selecting User Tools"
-HREF="config-tool-selecting-user-tools.html"><LINK
-REL="NEXT"
-TITLE="Creating a Shell"
-HREF="config-tool-creating-a-shell.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-selecting-user-tools.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-creating-a-shell.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-TEST-EXECUTION">Chapter 22. Execution</H1
-><P
->Test executables that have been linked using the Build/Tests
-operation against the current configuration can be executed by selecting <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run
-Tests</I
-></SPAN
->.</P
-><P
->When tests are run, the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> looks
-for a platform name corresponding to the currently loaded hardware template.
-If no such platform is found, a dialog will be displayed for you
-to define one; this dialog is similar to that displayed by the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> function
-in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools-&gt;Platforms</I
-></SPAN
-> dialog, but
-in this case the platform name cannot be changed.</P
-><P
->When a test run is invoked, a property sheet is displayed,
-comprising three tabs: <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Executables</I
-></SPAN
->, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Output</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Summary</I
-></SPAN
->.</P
-><P
->Note that the property sheet is resizable.</P
-><P
->Three buttons appear on the property sheet itself: <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run/Stop</I
-></SPAN
->, <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Close</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Properties</I
-></SPAN
->.</P
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run</I
-></SPAN
-> button is used to initiate a
-test run. Those tests selected on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Executables</I
-></SPAN
-> tab
-are run, and the output recorded on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Output</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Summary</I
-></SPAN
-> tabs.
-During the course of a run, the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run</I
-></SPAN
-> button
-changes to &#8220;Stop&#8221;. The button may be used to interrupt
-a test run at any point.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-TEST-PROPERTIES">Properties</H1
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Properties</I
-></SPAN
-> button is used to change
-the connectivity properties for the test run.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1564"><P
-><B
->Figure 22-1. Properties dialog box</B
-></P
-><P
-><IMG
-SRC="pix/ch-properties-dialog.png"></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1567">Download Timeout</H2
-><P
->          This group of controls serves to set the maximum time that
-           is allowed for downloading a test to the target board. If
-           the time is exceeded, the test will be deemed to have
-           failed for reason of &#8220;Download Timeout&#8221; and
-           the execution of that particular test will be abandoned.
-           This option only applies to tests run on hardware, not to
-           those executed in a simulator. Times are in units of
-           elapsed seconds.</P
-><P
->Three options are available using the drop-down
-           list:</P
-><P
-></P
-><UL
-><LI
-><P
->Calculated from file size - an estimate of the maximum
-time required for download is made using the (stripped) executable
-size and the currently used baud rate</P
-></LI
-><LI
-><P
->                      Specified - a user-specified value may be entered in
-the adjacent edit box</P
-></LI
-><LI
-><P
->                      None - no maximum download time is to be applied.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1578">Run time Timeout</H2
-><P
->This group of controls serves to set the maximum time
-           that is allowed for executing a test on the target board
-           or in a simulator. If the time is exceeded, the test will
-           be deemed to have failed for reason of
-           &#8220;Timeout&#8221; and the execution of that particular
-           test will be abandoned. In the case of hardware, the time
-           is measured in elapsed seconds: in the case of a simulator
-           it is in CPU seconds.</P
-><P
->Three options are available using the drop-down
-         list:</P
-><P
-></P
-><UL
-><LI
-><P
->None - no maximum download time is to be
-               applied.</P
-></LI
-><LI
-><P
->Specified - a user-specified value may be
-               entered in the adjacent edit box</P
-></LI
-><LI
-><P
->Default - a default value of 30 seconds is
-               used</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1589">Connection</H2
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Connection</I
-></SPAN
-> controls may be used
-           to specify how the target board is to be accessed.</P
-><P
->If the target board is connected using a serial cable, the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Serial</I
-></SPAN
-> radio
-button should be checked. In this case you can select a port (COM1,
-COM2, &#8230;) and an appropriate baud rate using drop-list boxes.</P
-><P
->If the target board is accessed remotely using GDB remote
-protocol, the &#8220;TCP/IP&#8221; radio button should
-be checked. In this case you can select a host name and TCP/IP port
-number using edit boxes.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1596">Executables Tab</H2
-><P
->This is used to adjust the set of tests available for execution.
-A check box against each executable name indicates whether that
-executable will be included when the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run</I
-></SPAN
-> button
-is pressed. The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Check All</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Uncheck
-All</I
-></SPAN
-> buttons may be used to check or uncheck all items.</P
-><P
->When the property sheet is first displayed, it will be pre-populated
-with those test executables that have been linked using the Build/Tests
-operation against the current configuration. </P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1603"><P
-><B
->Figure 22-2. Run tests </B
-></P
-><P
-><IMG
-SRC="pix/run-tests.png"></P
-></DIV
-><P
->You can right-click in the window to display a context menu
-containing <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> and <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Remove</I
-></SPAN
-> items.
-Clicking <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Remove</I
-></SPAN
->  will remove those executables
-selected. Clicking <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> will display a dialog
-box that allows you to add to the set of items. Equivalently the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> button
-may be used to add executables, and the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->DEL</I
-></SPAN
-> key
-may be used to remove them.</P
-><P
->You can use the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add from Folder</I
-></SPAN
-> button
-to add a number of executables in a specified folder (optionally
-including subfolders, if you click on <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Yes</I
-></SPAN
-> when
-asked).</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1616"><P
-><B
->Figure 22-3. Add files from folder </B
-></P
-><P
-><IMG
-SRC="pix/addfromfolder.png"></P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1619">Output Tab</H2
-><P
->This tab is used to display the output from running tests.
-The output can be saved to a file or cleared by means of the popup
-menu displayed when you right-click in the window.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1622">Summary Tab</H2
-><P
->This tab is used to display a record, in summary form, of
-those tests executed. For each execution, the following information
-is displayed:</P
-><P
-></P
-><UL
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Time</I
-></SPAN
-> - the date and time of execution</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Host</I
-></SPAN
-> - the host name of the machine
-from which the test was downloaded</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Platform</I
-></SPAN
-> - the platform on which
-the test was executed</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Executable</I
-></SPAN
-> - the executable (file
-name) of the test executed</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Status</I
-></SPAN
-> - the result of executing
-the test. This will be one of the following:</P
-></LI
-><LI
-><P
->                              Not started</P
-></LI
-><LI
-><P
->No result</P
-></LI
-><LI
-><P
->Inapplicable</P
-></LI
-><LI
-><P
->                              Pass</P
-></LI
-><LI
-><P
->DTimeout</P
-></LI
-><LI
-><P
->Timeout</P
-></LI
-><LI
-><P
->Cancelled</P
-></LI
-><LI
-><P
->                              Fail</P
-></LI
-><LI
-><P
->Assert fail</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Size</I
-></SPAN
-> - the size &#0091;stripped/unstripped&#0093; of
-the test executed</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Download</I
-></SPAN
-> - the download time &#0091;mm:ss/mm:ss&#0093; used.
-The first of the two times displayed represents the actual time
-used: the second the limit time.</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Elapsed</I
-></SPAN
-> - the elapsed time &#0091;mm:ss&#0093; used.</P
-></LI
-><LI
-><P
->                      <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Execution</I
-></SPAN
-> - the execution time
- &#0091;mm:ss/mm:ss&#0093; used. The first of the
-two times displayed represents the actual time used: the second
-the limit time.</P
-></LI
-></UL
-><P
->The output can be saved to a file or cleared by means of the
-popup menu displayed when you right-click in the window.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-selecting-user-tools.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-creating-a-shell.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Selecting User Tools</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Creating a Shell</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-updating-configuration.html b/doc/html/user-guide/config-tool-updating-configuration.html
deleted file mode 100644 (file)
index f17d564..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Updating the Configuration</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The eCos Configuration Tool"
-HREF="the-ecos-configuration-tool.html"><LINK
-REL="PREVIOUS"
-TITLE="Screen Layout"
-HREF="config-tool-screen-layout.html"><LINK
-REL="NEXT"
-TITLE="Platform Selection"
-HREF="config-tool-platform-selection.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-screen-layout.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-platform-selection.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIG-TOOL-UPDATING-CONFIGURATION">Chapter 19. Updating the Configuration</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="config-tool-updating-configuration.html#CONFIG-TOOL-ADDING-REMOVING-PACKAGES"
->Adding and Removing Packages</A
-></DT
-><DT
-><A
-HREF="config-tool-platform-selection.html"
->Platform Selection</A
-></DT
-><DT
-><A
-HREF="config-tool-using-templates.html"
->Using Templates</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-ADDING-REMOVING-PACKAGES">Adding and Removing Packages</H1
-><P
->To add or remove packages from the configuration, select
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Packages</I
-></SPAN
->. 
-           The following dialog box will be displayed:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1376"><P
-><B
->Figure 19-1. Packages dialog box</B
-></P
-><P
-><IMG
-SRC="pix/BuildPackages.png"></P
-></DIV
-><P
->The left-hand list shows those packages that are available to
-         be loaded. The right-hand list shows those that are
-         currently loaded. In order to transfer packages from one
-         list to another (that is, to load or unload packages)
-         double-click the selection or click the
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> or <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Remove</I
-></SPAN
->
-         buttons.</P
-><P
->The version drop-down list displays the versions of the
-         selected packages. When loading packages, this control may
-         be used to load versions other than the most recent
-         (current). Note that if more than one package is selected,
-         the version drop-down list will display only the versions
-         common to all the selected packages.</P
-><P
->The window under the version displays a brief
-         description of the selected package. If more than one
-         package is selected, this window will be blank.</P
-><P
->      Under the description window there is a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Keywords</I
-></SPAN
->
-control into which you can type a string to be matched against
-package names, macro names and descriptions. The lists are updated
-a second or so after typing has stopped.
-If you type several separate words,
-all of these words must be associated with a given package
-for that package to be displayed. If you select
-the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Match exactly</I
-></SPAN
-> checkbox, then the string
-is taken to be a complete fragment and matched against the beginning
-of a name, macro name or descriptions. All matches are done
-case-insensitively.</P
-><P
->If you check <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Omit hardware packages</I
-></SPAN
->, only
-non-hardware packages will be shown.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-screen-layout.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-platform-selection.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Screen Layout</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="the-ecos-configuration-tool.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Platform Selection</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/config-tool-using-templates.html b/doc/html/user-guide/config-tool-using-templates.html
deleted file mode 100644 (file)
index 67617e0..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Using Templates</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Updating the Configuration"
-HREF="config-tool-updating-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Platform Selection"
-HREF="config-tool-platform-selection.html"><LINK
-REL="NEXT"
-TITLE="Searching"
-HREF="config-tool-searching.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-platform-selection.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 19. Updating the Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-searching.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFIG-TOOL-USING-TEMPLATES">Using Templates</H1
-><P
->To load a configuration based on a template, select
-         <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->.</P
-><P
->The following dialog box will be displayed:</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1417"><P
-><B
->Figure 19-4. Templates dialog box</B
-></P
-><P
-><IMG
-SRC="pix/templates.png"></P
-></DIV
-><P
->Change the hardware template, the packages template, or
-         both. To select a hardware template, choose from the first
-         drop-list. To choose a packages template, choose from the
-         second. Brief descriptions of each kind of template are
-         provided in the corresponding edit boxes.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="RESOLVING-CONFLICTS">Resolving conflicts</H2
-><P
->During the process of configuring <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> it is possible
-           that conflicts will be created. For more details of the
-           meaning of conflicts, see <A
-HREF="cdl-concepts.html"
->Chapter 24</A
->.</P
-><P
->The Conflicts Window displays all conflicts in the
-           current configuration. Additionally, a window in the
-           status bar displays a count of the conflicts. Because the
-           resolution of conflicts can be time-consuming, a mechanism
-           exists whereby conflicts can be resolved
-           automatically.</P
-><P
->You can choose to have a conflicts resolution dialog
-           box displayed by means of the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View-&gt;Settings...
-             </I
-></SPAN
->menu item, on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Conflict Resolution</I
-></SPAN
->
-tab of the dialog.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1430"><P
-><B
->Figure 19-5. Options</B
-></P
-><P
-><IMG
-SRC="pix/ToolsOptions.png"></P
-></DIV
-><P
->You can choose to have conflicts checked under the
-           following circumstances:</P
-><P
-></P
-><UL
-><LI
-><P
->After any item is changed (in other words,
-               as soon as the conflict is created)</P
-></LI
-><LI
-><P
->Before saving the configuration (including
-               building)</P
-></LI
-><LI
-><P
->Never</P
-></LI
-></UL
-><P
->The method you chose depends on how much you need
-               your configuration to be free of conflicts. You may
-               want to avoid having to clean up all the conflicts at
-               once, or you may want to keep the configuration
-               consistent at all times. If you have major changes to
-               implement, which may resolve the conflicts, then you
-               might want to wait until after you have completed
-               these changes before you check for conflicts.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If you choose to check conflicts after any item
-             is changed, only newly arising conflicts are displayed.
-             If you choose to check for conflicts before saving the
-             configuration, the complete set is
-             displayed.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN1444">Automatic resolution</H2
-><P
->If you check the &#8220;Automatically suggest
-           fixes&#8221; check box, a conflicts resolution dialog box
-           will be displayed whenever new conflicts are created. The
-           same dialog box may be displayed at any stage by means of
-           the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools-&gt;Resolve Conflicts</I
-></SPAN
->
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
-></I
-></SPAN
->menu item.
-           </P
-><P
->The conflicts resolution dialog box contains two major windows. </P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN1450"><P
-><B
->Figure 19-6. Resolve conflicts window</B
-></P
-><P
-><IMG
-SRC="pix/Conflicts.png"></P
-></DIV
-><P
->The upper contains the set of conflicts to be addressed; the
-format of the data being as that of the Conflicts Window. The lower
-window contains a set of proposed resolutions &#8211; each entry
-is a suggested configuration item value change that as a whole may
-be expected to lead to the currently selected conflict being resolved. </P
-><P
->Note that there is no guarantee:</P
-><P
-></P
-><UL
-><LI
-><P
->that automatic resolutions will be determinable for every
-conflict.</P
-></LI
-><LI
-><P
->      that the resolutions for separate conflicts will be independent.
-In other words, the resolution of one conflict may serve to prevent
-the resolution of another.</P
-></LI
-><LI
-><P
->      that the resolution conflicts will not create further
-conflicts.</P
-></LI
-></UL
-><P
->The above warnings are, however, conservative. In practice
-(so long as the number and extent of conflicts are limited) automatic
-conflict resolution may be used to good effect to correct problems
-without undue amounts of programmer intervention.</P
-><P
->In order to select the conflicts to be applied, select or
-clear the check boxes against the resolutions for each proposed
-resolution. By default all resolutions are selected; you can return
-to the default state (in other words, cause all check boxes for
-each conflict to again become checked) by pressing the &#8220;Reset&#8221; button.
-Note that multiple selection may be used in the resolutions control
-to allow ranges of check boxes to be toggled in one gesture.</P
-><P
->When you are happy to apply the selected resolutions for each
-conflict displayed, click <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Apply</I
-></SPAN
->; this will
-apply the resolutions. Alternatively you may cancel from the dialog
-box without any resolutions being applied.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-platform-selection.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-searching.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Platform Selection</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-updating-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Searching</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/configuration-and-the-package-repository.html b/doc/html/user-guide/configuration-and-the-package-repository.html
deleted file mode 100644 (file)
index a3a7b4f..0000000
+++ /dev/null
@@ -1,182 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuration and the Package Repository</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Kernel Instrumentation"
-HREF="kernel-instrumentation.html"><LINK
-REL="NEXT"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="kernel-instrumentation.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="CONFIGURATION-AND-THE-PACKAGE-REPOSITORY"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->VI. Configuration and the Package Repository</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="AEN2374"><P
->The following chapters contain information on running
-       <B
-CLASS="COMMAND"
->ecosconfig</B
-> (the command line tool that
-       manipulates configurations and constructs build trees) and on
-       managing a source repository across multiple versions of
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. </P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->28. <A
-HREF="manual-configuration.html"
->Manual Configuration</A
-></DT
-><DT
->29. <A
-HREF="managing-package-repository.html"
->Managing the Package Repository</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="kernel-instrumentation.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Kernel Instrumentation</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Manual Configuration</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/configuring-and-building-ecos-from-source.html b/doc/html/user-guide/configuring-and-building-ecos-from-source.html
deleted file mode 100644 (file)
index f2fd0c8..0000000
+++ /dev/null
@@ -1,409 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuring and Building eCos from Source</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"><LINK
-REL="PREVIOUS"
-TITLE="Programming With eCos"
-HREF="programming-with-ecos.html"><LINK
-REL="NEXT"
-TITLE="Configuration Tool on Windows and Linux Quick Start"
-HREF="using-configtool-windows-linux.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="programming-with-ecos.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="using-configtool-windows-linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="CONFIGURING-AND-BUILDING-ECOS-FROM-SOURCE">Chapter 11. Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="configuring-and-building-ecos-from-source.html#ECOS-STARTUP-CONFIGS"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Start-up Configurations</A
-></DT
-><DT
-><A
-HREF="using-configtool-windows-linux.html"
->Configuration Tool on Windows and Linux Quick Start</A
-></DT
-><DT
-><A
-HREF="using-ecosconfig-on-linux.html"
->Ecosconfig on Windows and Linux Quick Start</A
-></DT
-></DL
-></DIV
-><P
->This chapter documents the configuration of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. The process is
-the same for any of the supported targets: you may select a
-hardware target (if you have a board available), any one of the
-simulators, or a synthetic target (if your host platform has synthetic
-target support).</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ECOS-STARTUP-CONFIGS"><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Start-up Configurations</H1
-><P
->There are various ways to download an executable image to a
-target board, and these involve different ways of preparing the
-executable image. In the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Hardware Abstraction Layer (HAL package)
-there are configuration options to support the different download
-methods. <A
-HREF="configuring-and-building-ecos-from-source.html#USER-GUIDE-DOWNLOAD-METHODS"
->Table 11-1</A
-> summarizes the
-ways in which an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> image can be prepared for different types of
-download. This is not an exhaustive list, some targets define
-additional start-up types of their own. Where a ROM Monitor is
-mentioned, this will usually be RedBoot, although on some older, or
-low resource, targets you may need to use CygMon or the GDB stubs ROM,
-see the target documentation for details.</P
-><DIV
-CLASS="TABLE"
-><A
-NAME="USER-GUIDE-DOWNLOAD-METHODS"><P
-><B
->Table 11-1. Configuration for various download methods</B
-></P
-><TABLE
-BORDER="1"
-CLASS="CALSTABLE"
-><THEAD
-><TR
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->Download method</TH
-><TH
-ALIGN="LEFT"
-VALIGN="TOP"
->HAL configuration</TH
-></TR
-></THEAD
-><TBODY
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Burn hardware ROM</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;ROM or ROMRAM start-up</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Download to ROM emulator</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;ROM or ROMRAM start-up</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Download to board with ROM Monitor</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;RAM start-up</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Download to simulator without ROM Monitor</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;ROM start-up</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Download to simulator with ROM Monitor</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;RAM start-up</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Download to simulator ignoring devices</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;SIM configuration</TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->Run synthetic target</TD
-><TD
-ALIGN="LEFT"
-VALIGN="TOP"
->&nbsp;RAM start-up</TD
-></TR
-></TBODY
-></TABLE
-></DIV
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->You cannot run an application configured for RAM start-up
-on the simulator directly: it will fail during start-up. You can
-only download it to the simulator if
-you are already running RedBoot in the simulator,
-as described in the toolchain documentation
-or you load through the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->SID </I
-></SPAN
->
-GDB debugging component.  This is not the same as the simulated
-stub, since it does not require a target program to be running to
-get GDB to talk to it.  It can be done before letting the simulator
-run
-or you use the ELF loader component to get a program into memory.</P
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Configuring <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->' HAL package for simulation should
-rarely be needed for real development; binaries built with such
-a kernel will not run on target boards at all,
-and the MN10300 and
-TX39 simulators can run binaries built for stdeval1 and jmr3904
-target boards.
-The main use for a ``simulation'' configuration
-is if you are trying to work around problems with the device drivers
-or with the simulator.  Also note that when using a TX39 system configured
-for simulator start-up you should then invoke the simulator with 
-the <TT
-CLASS="OPTION"
->--board=jmr3904pal</TT
->
-option instead of 
-<TT
-CLASS="OPTION"
->--board=jmr3904</TT
-></P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If your chosen architecture does not have simulator support,
-then the combinations above that refer to the simulator do not apply.
-Similarly, if your chosen platform does not have RedBoot
-ROM support, the combinations listed above that use 
-RedBoot do not apply.</P
-></BLOCKQUOTE
-></DIV
-><P
->The debugging environment for most developers will be either
-a hardware board or the simulator, in which case they will be able
-to select a single HAL configuration.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="programming-with-ecos.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="using-configtool-windows-linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuration Tool on Windows and Linux Quick Start</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/conflicts-and-constraints.html b/doc/html/user-guide/conflicts-and-constraints.html
deleted file mode 100644 (file)
index 54b50cc..0000000
+++ /dev/null
@@ -1,402 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Conflicts and constraints</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Creating the Build Tree"
-HREF="creating-build-tree.html"><LINK
-REL="NEXT"
-TITLE="Building the System"
-HREF="building-the-system.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="creating-build-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="building-the-system.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONFLICTS-AND-CONSTRAINTS">Conflicts and constraints</H1
-><P
->Configuration options are not completely independent. For example
-the C library's <TT
-CLASS="FUNCTION"
->strtod()</TT
-> and <TT
-CLASS="FUNCTION"
->atof()</TT
->
-functions rely on the math library package to provide certain functionality. If the math library package is removed then the C
-library can no longer provide these functions. Each package describes constraints like these in CDL <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->"requires"</I
-></SPAN
-> properties. If a constraint is not satisfied, then the configuration contains a conflict. For any given conflict there can
-be several resolution options. For example, it would be possible to add the math library package back to the
-configuration, or to disable the <TT
-CLASS="FUNCTION"
->strtod()</TT
-> and <TT
-CLASS="FUNCTION"
->atof()</TT
-> functions.</P
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration tools will report any conflicts in the current configuration. If there are any such conflicts
-then the configuration is usually unsafe and it makes no sense to build and run <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> in such circumstances. In fact,
-any attempt at building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is likely to fail. In exceptional cases it is possible to override this by using e.g. the
-<TT
-CLASS="OPTION"
->--ignore-errors</TT
-> qualifier with ecosconfig. </P
-><P
->Many constraints are fairly simple in nature, and the configuration tools contain an inference engine which can
-resolve the associated conflicts automatically. For example, if the math library package is removed then the
-inference engine can resolve the resulting conflict by disabling the configuration option for <TT
-CLASS="FUNCTION"
->strtod()</TT
-> and <TT
-CLASS="FUNCTION"
->atof()</TT
->. All
-such changes will be reported. Sometimes the inference engine cannot resolve a conflict, for example it is not
-allowed to override a change that has been made explicitly by the user. Sometimes it will find a solution which does
-not match the application's requirements. </P
-><P
->A typical session involving conflicts would look something like this: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig new pid</PRE
-></TD
-></TR
-></TABLE
->This creates a new configuration with the default template. For most targets this will not result in any conflicts,
-because the default settings for the various options meet the requirements of the default template.</P
-><P
-> For some targets
-there may be conflicts and the inference engine would come into play. 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig remove libm 
-U CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT, new inferred value 0 
-U CYGFUN_LIBC_strtod, new inferred value 0 
-U CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT, new inferred value 0 </PRE
-></TD
-></TR
-></TABLE
->
-ecosconfig reports that this change caused three conflicts, all in the C library. The inference engine was able to
-resolve all the conflicts and update the relevant configuration options accordingly. </P
-><P
->To suppress the inference engine <TT
-CLASS="OPTION"
->--no-resolve</TT
-> can be used: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig new pid
-$ ecosconfig --no-resolve remove libm 
-C CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT, "requires" constraint not satisfied:      CYGPKG_LIBM 
-C CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT, "requires" constraint not satisfied:      CYGPKG_LIBM 
-C CYGFUN_LIBC_strtod, "requires" constraint not satisfied: CYGPKG_LIBM </PRE
-></TD
-></TR
-></TABLE
->
-Three unresolved conflicts are reported.</P
-><P
->The <B
-CLASS="COMMAND"
->check</B
-> command can be used to get the current state of the
-configuration, and the <TT
-CLASS="OPTION"
->--verbose</TT
-> qualifier will provide additional information: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig --srcdir /home/bartv/ecc/ecc --verbose check 
-Target: pid 
-Template: default 
-Removed:
- CYGPKG_LIBM 
-3 conflict(s): 
-C CYGFUN_LIBC_strtod, "requires" constraint not satisfied: CYGPKG_LIBM
- Possible solution: 
-    CYGFUN_LIBC_strtod -&#62; 0 
-    CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT -&#62; 0 
-C CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT, "requires" constraint not satisfied:      CYGPKG_LIBM 
- Possible solution: 
-    CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT -&#62; 0 
-C CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT, "requires" constraint not satisfied:      CYGPKG_LIBM 
- Possible solution: 
-    CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT -&#62; 0 </PRE
-></TD
-></TR
-></TABLE
-><P
->If the proposed solutions are acceptable, the resolve command can be used to apply them: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig resolve 
-U CYGSEM_LIBC_STDIO_SCANF_FLOATING_POINT, new inferred value 0 
-U CYGFUN_LIBC_strtod, new inferred value 0 
-U CYGSEM_LIBC_STDIO_PRINTF_FLOATING_POINT, new inferred value 0 </PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->The current configuration is again conflict-free and it is possible to generate a build tree. The <TT
-CLASS="OPTION"
->--quiet</TT
-> qualifier can
-be used to suppress the change messages, if desired.</P
-><P
->When changing individual configuration options by editing the ecos.ecc file (as described below), the resulting
-system should be checked and any problems should be resolved. For example, if CYGFUN_LIBC_strtod is
-explicitly enabled in the savefile:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ edit ecos.ecc
-$ ecosconfig check 
-Target: pid 
-Template: default 
-Removed: 
-    CYGPKG_LIBM 
-1 conflict(s): 
-C CYGFUN_LIBC_strtod, "requires" constraint not satisfied: CYGPKG_LIBM 
-$ ecosconfig resolve 
-C CYGFUN_LIBC_strtod, "requires" constraint not satisfied: CYGPKG_LIBM </PRE
-></TD
-></TR
-></TABLE
->
-In this case the inference engine cannot resolve the conflict automatically because that would involve changing a
-user setting. Any attempt to generate a build tree will fail: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig --srcdir /home/bartv/ecc/ecc tree 
-C CYGFUN_LIBC_strtod, "requires" constraint not satisfied: CYGPKG_LIBM
-Unable to generate build tree, this configuration still contains conflicts.
-Either resolve the conflicts or use --ignore-errors </PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->It is still possible to generate a build tree: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig --srcdir /home/bartv/ecc/ecc --ignore-errors tree 
-C CYGFUN_LIBC_strtod, "requires" constraint not satisfied: CYGPKG_LIBM 
-$ make </PRE
-></TD
-></TR
-></TABLE
->
-In this case <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> will fail to build. In other cases of unresolved conflicts <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> may build, but may not run. In
-general all conflicts should be resolved by editing the <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> file, by letting the inference engine make appropriate
-changes, or by other means, before any attempt is made to build or run <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="creating-build-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="building-the-system.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Creating the Build Tree</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building the System</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/connecting-target-ethernet.html b/doc/html/user-guide/connecting-target-ethernet.html
deleted file mode 100644 (file)
index c8fa555..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Connecting Via Ethernet</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="user-guide-installation-target.html"><LINK
-REL="PREVIOUS"
-TITLE="Target Setup"
-HREF="user-guide-installation-target.html"><LINK
-REL="NEXT"
-TITLE="Using A Simulator Target"
-HREF="connecting-target-sim.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="connecting-target-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONNECTING-TARGET-ETHERNET">Connecting Via Ethernet</H1
-><P
->Some targets allow GDB to connect via Ethernet - if so, it will
-be mentioned in the document describing the target. Substitute the
-target's assigned IP address or hostname for &lt;hostname&#62; in the
-following. Depending on how RedBoot has been configured, it will
-either have this address allocated statically, or will acquire it via
-BOOTP. In both cases RedBoot will report the IP address it is
-listening on in its startup message printed on the serial port. The
-&lt;port&#62; is the TCP port which RedBoot is listening on, usually
-9000. It is also listed in the target document.</P
-><P
->Connect to the target by issuing the following command in
-GDB console mode:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) target remote &lt;hostname&#62;:&lt;port&#62;</PRE
-></TD
-></TR
-></TABLE
-><P
->In Insight, connect by opening the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;Target
-Settings</I
-></SPAN
-> window and enter:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Target: Remote/TCP     
-Hostname: &lt;hostname&#62;     
-Port: &lt;port&#62;</PRE
-></TD
-></TR
-></TABLE
-><P
->Set other options according to
-preference, close the window and select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run-&#62;Connect to
-target</I
-></SPAN
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="connecting-target-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Target Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Using A Simulator Target</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/connecting-target-sim.html b/doc/html/user-guide/connecting-target-sim.html
deleted file mode 100644 (file)
index 0c69bc9..0000000
+++ /dev/null
@@ -1,202 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Using A Simulator Target</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="user-guide-installation-target.html"><LINK
-REL="PREVIOUS"
-TITLE="Connecting Via Ethernet"
-HREF="connecting-target-ethernet.html"><LINK
-REL="NEXT"
-TITLE="Using A Synthetic Target"
-HREF="connecting-target-synth.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="connecting-target-ethernet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="connecting-target-synth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONNECTING-TARGET-SIM">Using A Simulator Target</H1
-><P
->GDB connects to all simulator targets using the same basic
-command, although each simulator may require additional options.
-These are listed in the document describing the target, and should
-be used when connecting.</P
-><P
->Connect to the target by issuing the following command in
-GDB console mode:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) target sim [target specific options]</PRE
-></TD
-></TR
-></TABLE
-><P
->In Insight, connect by opening the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;Target
-Settings</I
-></SPAN
-> window and enter:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Target: Simulator     
-Options: [target specific options]</PRE
-></TD
-></TR
-></TABLE
-><P
->Set other options according to preference, close the window and
-select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run-&#62;Connect to target</I
-></SPAN
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="connecting-target-ethernet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="connecting-target-synth.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Connecting Via Ethernet</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Using A Synthetic Target</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/connecting-target-synth.html b/doc/html/user-guide/connecting-target-synth.html
deleted file mode 100644 (file)
index 7cc6a1d..0000000
+++ /dev/null
@@ -1,183 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Using A Synthetic Target</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="user-guide-installation-target.html"><LINK
-REL="PREVIOUS"
-TITLE="Using A Simulator Target"
-HREF="connecting-target-sim.html"><LINK
-REL="NEXT"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="connecting-target-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 9. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONNECTING-TARGET-SYNTH">Using A Synthetic Target</H1
-><P
->Synthetic targets are special in that the built tests and
-applications actually run as native applications on the host. This
-means that there is no target to connect to. The test or application
-can be run directly from the GDB console using:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) run</PRE
-></TD
-></TR
-></TABLE
-><P
->or from Insight by pressing the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run</I
-></SPAN
-> icon.
-There is therefore no need to connect to the target or download the
-application, so you should ignore GDB &#8220;target&#8221; and
-&#8220;load&#8221; commands in any instructions found in other places
-in the documentation.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="connecting-target-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Using A Simulator Target</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/creating-build-tree.html b/doc/html/user-guide/creating-build-tree.html
deleted file mode 100644 (file)
index 187d5a5..0000000
+++ /dev/null
@@ -1,673 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Creating the Build Tree</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="NEXT"
-TITLE="Conflicts and constraints"
-HREF="conflicts-and-constraints.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="conflicts-and-constraints.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CREATING-BUILD-TREE">Creating the Build Tree</H1
-><P
->Generating a build tree is a non-trivial operation and
-         should not be attempted manually. Instead, <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is shipped
-         with a tool called <B
-CLASS="COMMAND"
->ecosconfig</B
-> that should
-         be used to create a build tree.</P
-><P
->Usually <B
-CLASS="COMMAND"
->ecosconfig</B
-> will be
-run inside the build tree itself. If you are creating a new build
-tree then typically you will create a new empty directory using
-the <B
-CLASS="COMMAND"
->mkdir</B
-> command, <B
-CLASS="COMMAND"
->cd</B
-> into
-that directory, and then invoke <B
-CLASS="COMMAND"
->ecosconfig</B
-> to
-create a configuration. By default, the configuration is stored
-in a file <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> in the current
-directory. The configuration may be modified by editing this file directly. <B
-CLASS="COMMAND"
->ecosconfig</B
-> itself
-deals with a number of coarse-grained configuration options such
-as the target platform and the packages that should be used.</P
-><P
->The <B
-CLASS="COMMAND"
->ecosconfig</B
-> tool is also
-used subsequently to generate a build tree for a configuration.
-Once a build tree exists, it is possible to run <B
-CLASS="COMMAND"
->ecosconfig</B
-> again
-inside the same build tree. This will be necessary if your wish
-to change some of the configuration options.</P
-><P
-><B
-CLASS="COMMAND"
->ecosconfig</B
-> does not generate
-the top-level directory of the build tree; you must do this
-       yourself. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ mkdir ecos-work
-$ cd ecos-work</PRE
-></TD
-></TR
-></TABLE
-><P
->The next step is to run <B
-CLASS="COMMAND"
->ecosconfig</B
->: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig &lt;qualifiers&gt; &lt;command&gt;</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2416">ecosconfig qualifiers</H2
-><P
->The available command line qualifiers for
-           <B
-CLASS="COMMAND"
->ecosconfig</B
-> are as follows. Multiple
-           qualifiers may be used on the command line:
-         </P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="OPTION"
->--help</TT
-></DT
-><DD
-><P
->Provides basic usage guidelines for the
-             available commands and qualifiers.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--config=&lt;file&gt;</TT
-></DT
-><DD
-><P
->Specifies an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration save file for
-                 use by the tool. By default, the file
-                 <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> in the
-                 current directory is used. Developers may prefer to
-                 use a common location for all their <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-                 configurations rather than keep the configuration
-                 information in the base of the build tree.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--prefix=&lt;dir&gt;</TT
-></DT
-><DD
-><P
->Specifies an alternative location for the
-                 install tree. By default, the install tree resides
-                 inside the <TT
-CLASS="FILENAME"
->install</TT
->
-                 directory in the build tree. Developers may prefer
-                 to locate the build tree in a temporary file
-                 hierarchy but keep the install tree in a more
-                 permanent location.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--srcdir=&lt;dir&gt;</TT
-></DT
-><DD
-><P
->Specifies the location of the component
-                 repository. By default, the tool uses the location
-                 specified in the
-                 <TT
-CLASS="REPLACEABLE"
-><I
->ECOS_REPOSITORY</I
-></TT
->
-                 environment variable. Developers may prefer to use
-                 of this qualifier if they are working with more than
-                 one repository.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--no-resolve</TT
-></DT
-><DD
-><P
->Disables the implicit resolution of conflicts
-                 while manipulating the configuration data.
-                 developers may prefer to resolve conflicts by
-                 editing the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration save file
-                 manually.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--ignore-errors</TT
->, <TT
-CLASS="OPTION"
->-i</TT
-></DT
-><DD
-><P
->By default, ecosconfig will exit with an error code if the current
-configuration contains any conflicts, and it is not possible to
-generate or update a build tree for such configurations. This
-qualifier causes ecosconfig to ignore such problems, and hence it is
-possible to generate a build tree even if there are still
-conflicts. Of course, there are no guarantees that the resulting
-system will actually do anything.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--verbose</TT
->, <TT
-CLASS="OPTION"
->-v</TT
-></DT
-><DD
-><P
->Display more information.</P
-></DD
-><DT
-><TT
-CLASS="OPTION"
->--quiet</TT
->, <TT
-CLASS="OPTION"
->-q</TT
-></DT
-><DD
-><P
->Display less information.</P
-></DD
-></DL
-></DIV
-><P
->The <TT
-CLASS="OPTION"
->--config</TT
->, <TT
-CLASS="OPTION"
->--prefix</TT
-> and
-<TT
-CLASS="OPTION"
->--srcdir</TT
-> qualifiers can also be written with two arguments,
-for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->ecosconfig --srcdir <TT
-CLASS="REPLACEABLE"
-><I
->&lt;dir&gt;</I
-></TT
-> ...</PRE
-></TD
-></TR
-></TABLE
-><P
->This simplifies filename completion with some shells.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2480">ecosconfig commands</H2
-><P
->The available commands for
-           <B
-CLASS="COMMAND"
->ecosconfig</B
-> are as
-           follows:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><B
-CLASS="COMMAND"
->list</B
-></DT
-><DD
-><P
->Lists the available packages, targets and
-                 templates as installed in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository.
-                 Aliases and package versions are also
-                 reported.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->new &lt;target&gt; [&lt;template&gt; [&lt;version&gt;]]</B
-></DT
-><DD
-><P
->Creates a new <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration for
-                 the specified target hardware and saves it. A
-                 software template may also be specified. By default,
-                 the template named &#8216;default&#8217; is used. If
-                 the template version is not specified, the latest
-                 version is used.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->target &lt;target&gt;</B
-></DT
-><DD
-><P
->Changes the target hardware selection
-                 for the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration. This has the effect of
-                 unloading packages supporting the target selected
-                 previously and loading the packages which support
-                 the new hardware. This command will be used
-                 typically when switching between a simulator and
-                 real hardware.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->template &lt;template&gt; [&lt;version&gt;]</B
-></DT
-><DD
-><P
->Changes the template selection for the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-                 configuration. This has the effect of unloading
-                 packages specified by the template selected
-                 previously and loading the packages specified by the
-                 new template. By default, the latest version of the
-                 specified template is used.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->remove &lt;packages&gt;</B
-></DT
-><DD
-><P
->Removes the specified packages from the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-                 configuration. This command will be used typically
-                 when the template on which a configuration is based
-                 contains packages which are not required.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->add &lt;packages&gt;</B
-></DT
-><DD
-><P
->Adds the specified packages to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration. This
-command will be used typically when the template on which a
-configuration is based does not contain all the packages which are
-required.For example, add-on packages provided by third parties will
-not be known to the standard templates, so they will have to be added
-explicitly. </P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->version &lt;version&gt; &lt;packages&gt;</B
-></DT
-><DD
-><P
->Selects the specified version of a
-                 number of packages in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration. By
-                 default, the most recent version of each package is
-                 used. This command will be used typically when an
-                 older version of a package is required.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->check</B
-></DT
-><DD
-><P
->Presents the following information
-                 concerning the current configuration:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->the selected target hardware</P
-></LI
-><LI
-><P
->the selected template</P
-></LI
-><LI
-><P
->additional packages</P
-></LI
-><LI
-><P
->removed packages</P
-></LI
-><LI
-><P
->the selected version of packages
-                     where this is not the most recent
-                     version</P
-></LI
-><LI
-><P
->conflicts in the current configuration</P
-></LI
-></OL
-></DD
-><DT
-><B
-CLASS="COMMAND"
->resolve</B
-></DT
-><DD
-><P
->Resolves conflicts identified in the
-                 current <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration by invoking an inference
-                 capability. Resolved conflicts are reported, but not
-                 all conflicts may be resolvable. This command will
-                 be used typically following manual editing of the
-                 configuration.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->export &lt;file&gt;</B
-></DT
-><DD
-><P
->Exports a minimal <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration
-                 save file with the specified name. This file
-                 contains only those options which do not have their
-                 default value. Such files are used typically to
-                 transfer option values from one configuration to
-                 another.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->import &lt;file&gt;</B
-></DT
-><DD
-><P
->Imports a minimal <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration
-                 save file with the specified name. The values of
-                 those options specified in the file are applied to
-                 the current configuration.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->tree</B
-></DT
-><DD
-><P
->Generates a build tree based on the current <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-                 configuration. This command will be used typically
-                 just before building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.Normally a build tree can
-only be generated if if the configuration has no unresolved
-conflicts, but <TT
-CLASS="OPTION"
->--ignore-errors</TT
-> can be used to override
-this.</P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="conflicts-and-constraints.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Manual Configuration</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Conflicts and constraints</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/debugging-techniques.html b/doc/html/user-guide/debugging-techniques.html
deleted file mode 100644 (file)
index 9cda45f..0000000
+++ /dev/null
@@ -1,350 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Debugging Techniques</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="eCos Programming Concepts and Techniques"
-HREF="ecos-programming-concepts-and-techniques.html"><LINK
-REL="PREVIOUS"
-TITLE="Compiling a C++ Application"
-HREF="compiling-cpp-app.html"><LINK
-REL="NEXT"
-TITLE="Kernel Instrumentation"
-HREF="kernel-instrumentation.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="compiling-cpp-app.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="kernel-instrumentation.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="DEBUGGING-TECHNIQUES">Chapter 27. Debugging Techniques</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="debugging-techniques.html#TRACING"
->Tracing</A
-></DT
-><DT
-><A
-HREF="kernel-instrumentation.html"
->Kernel Instrumentation</A
-></DT
-></DL
-></DIV
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> applications and components can be debugged in
-       traditional ways, with printing statements and debugger
-       single-stepping, but there are situations in which these
-       techniques cannot be used. One example of this is when a
-       program is getting data at a high rate from a real-time
-       source, and cannot be slowed down or interrupted.</P
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->&#8217;s infrastructure module provides a
-       <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->tracing</I
-></SPAN
-> formalism, allowing the
-       kernel&#8217;s tracing macros to be configured in many useful
-       ways. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->&#8217;s kernel provides <I
-CLASS="FIRSTTERM"
->instrumentation
-         buffers</I
-> which also collect specific
-       (configurable) data about the system&#8217;s history and
-       performance.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TRACING">Tracing</H1
-><P
->To use <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->&#8217;s tracing facilities you must first
-         configure your system to use <I
-CLASS="FIRSTTERM"
->tracing</I
->.
-         You should enable the Asserts and Tracing component
-         (<TT
-CLASS="OPTION"
->CYGPKG_INFRA_DEBUG</TT
->) and the
-         <TT
-CLASS="OPTION"
->Use tracing</TT
-> component within it
-         (<TT
-CLASS="OPTION"
->CYGDBG_USE_TRACING</TT
->). These
-         options can be enabled with the <SPAN
-CLASS="APPLICATION"
->Configuration
-           Tool</SPAN
-> or by editing the file
-         <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BUILD_DIR</I
-></TT
->/pkgconf/infra.h 
-         </TT
-> manually.</P
-><P
->You should then examine all the tracing-related options in
-the <I
-CLASS="CITETITLE"
->Package: Infrastructure</I
-> chapter of the <I
-CLASS="CITETITLE"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Reference
-Manual</I
->. One useful set of configuration options are: <TT
-CLASS="LITERAL"
->CYGDBG_INFRA_DEBUG_FUNCTION_REPORTS</TT
-> and <TT
-CLASS="LITERAL"
->CYGDBG_INFRA_DEBUG_TRACE_MESSAGE</TT
->,
-which are both enabled by default when tracing is enabled.</P
-><P
->The following &#8220;Hello world with tracing&#8221; shows
-the output from running the hello world program (from <A
-HREF="building-and-running-sample-appliations.html#ECOS-HELLO-WORLD"
->the Section called <I
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Hello World</I
-> in Chapter 13</A
->) that was
-built with tracing enabled: </P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN2289"><P
-><B
->Example 27-1. Hello world with tracing</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ mips-tx39-elf-run --board=jmr3904  hello
-Hello, eCos world!
-ASSERT FAIL: &lt;2&gt;cyg_trac.h          [ 623] Cyg_TraceFunction_Report_::set_exitvoid()                                                            exitvoid used in typed function
-TRACE: &lt;1&gt;mlqueue.cxx         [ 395] Cyg_ThreadQueue_Implementation::enqueue()                                                            {{enter
-TRACE: &lt;1&gt;mlqueue.cxx         [ 395] Cyg_ThreadQueue_Implementation::enqueue()                                                            }}RETURNING UNSET!
-TRACE: &lt;1&gt;mlqueue.cxx         [ 126] Cyg_Scheduler_Implementation::add_thread()                                                           }}RETURNING UNSET!
-TRACE: &lt;1&gt;thread.cxx          [ 654] Cyg_Thread::resume()                                                                                 }}return void
-TRACE: &lt;1&gt;cstartup.cxx        [ 160] cyg_iso_c_start()                                                                                    }}return void
-TRACE: &lt;1&gt;startup.cxx         [ 142] cyg_package_start()                                                                                  }}return void
-TRACE: &lt;1&gt;startup.cxx         [ 150] cyg_user_start()                                                                                     {{enter
-TRACE: &lt;1&gt;startup.cxx         [ 150] cyg_user_start()                                                                                     (((void)))
-TRACE: &lt;1&gt;startup.cxx         [ 153] cyg_user_start()                                                                                     'This is the system default cyg_user_start()'
-TRACE: &lt;1&gt;startup.cxx         [ 157] cyg_user_start()                                                                                     }}return void
-TRACE: &lt;1&gt;sched.cxx           [ 212] Cyg_Scheduler::start()                                                                               {{enter
-TRACE: &lt;1&gt;mlqueue.cxx         [ 102] Cyg_Scheduler_Implementation::schedule()                                                             {{enter
-TRACE: &lt;1&gt;mlqueue.cxx         [ 437] Cyg_ThreadQueue_Implementation::highpri()                                                            {{enter
-TRACE: &lt;1&gt;mlqueue.cxx         [ 437] Cyg_ThreadQueue_Implementation::highpri()                                                            }}RETURNING UNSET!
-TRACE: &lt;1&gt;mlqueue.cxx         [ 102] Cyg_Scheduler_Implementation::schedule()                                                             }}RETURNING UNSET!
-TRACE: &lt;2&gt;intr.cxx            [ 450] Cyg_Interrupt::enable_interrupts()                                                                   {{enter
-TRACE: &lt;2&gt;intr.cxx            [ 450] Cyg_Interrupt::enable_interrupts()                                                                   }}RETURNING UNSET!
-TRACE: &lt;2&gt;thread.cxx          [  69] Cyg_HardwareThread::thread_entry()                                                                   {{enter
-TRACE: &lt;2&gt;cstartup.cxx        [ 127] invoke_main()                                                                                        {{enter
-TRACE: &lt;2&gt;cstartup.cxx        [ 127] invoke_main()                                                                                        ((argument is ignored))
-TRACE: &lt;2&gt;dummyxxmain.cxx     [  60] __main()                                                                                             {{enter
-TRACE: &lt;2&gt;dummyxxmain.cxx     [  60] __main()                                                                                             (((void)))
-TRACE: &lt;2&gt;dummyxxmain.cxx     [  63] __main()                                                                                             'This is the system default __main()'
-TRACE: &lt;2&gt;dummyxxmain.cxx     [  67] __main()                                                                                             }}return void
-TRACE: &lt;2&gt;memcpy.c            [ 112] _memcpy()                                                                                            {{enter
-TRACE: &lt;2&gt;memcpy.c            [ 112] _memcpy()                                                                                            ((dst=80002804, src=BFC14E58, n=19))
-TRACE: &lt;2&gt;memcpy.c            [ 164] _memcpy()                                                                                            }}returning 80002804
-TRACE: &lt;2&gt;cstartup.cxx        [ 137] invoke_main()                                                                                        'main() has returned with code 0. Calling exit()'
-TRACE: &lt;2&gt;exit.cxx            [  71] __libc_exit()                                                                                        {{enter
-TRACE: &lt;2&gt;exit.cxx            [  71] __libc_exit()                                                                                        ((status=0 ))
-TRACE: &lt;2&gt;atexit.cxx          [  84] cyg_libc_invoke_atexit_handlers()                                                                    {{enter
-TRACE: &lt;2&gt;atexit.cxx          [  84] cyg_libc_invoke_atexit_handlers()                                                                      (((void)))
-
-Scheduler:
-
-Lock:                0
-Current Thread:      &lt;null&gt;
-
-Threads:
-
-Idle Thread          pri =  31 state = R      id =   1
-                     stack base = 800021F0 ptr = 80002510 size = 00000400
-                     sleep reason NONE     wake reason NONE    
-                     queue = 80000C54      wait info = 00000000
-
-&lt;null&gt;               pri =   0 state = R      id =   2
-                     stack base = 80002A48 ptr = 8000A968 size = 00008000
-                     sleep reason NONE     wake reason NONE    
-                     queue = 80000BD8      wait info = 00000000
-         </PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="compiling-cpp-app.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="kernel-instrumentation.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Compiling a C++ Application</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-programming-concepts-and-techniques.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Kernel Instrumentation</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/directory-and-file-system-conventions.html b/doc/html/user-guide/directory-and-file-system-conventions.html
deleted file mode 100644 (file)
index 964fc96..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Directory and File System Conventions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Notation and Conventions"
-HREF="notation-and-conventions.html"><LINK
-REL="PREVIOUS"
-TITLE="Notation and Conventions"
-HREF="notation-and-conventions.html"><LINK
-REL="NEXT"
-TITLE="Version Conventions"
-HREF="version-conventions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="notation-and-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 4. Notation and Conventions</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="version-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="DIRECTORY-AND-FILE-SYSTEM-CONVENTIONS">Directory and File System Conventions</H1
-><P
->The default directory for installing
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> on Windows (usually
-<TT
-CLASS="FILENAME"
->C:/Program Files/eCos</TT
->) is different from that on
-Linux (usually <TT
-CLASS="FILENAME"
->/opt/ecos</TT
->).  Since many command
-line examples in the tutorials use these paths, this default (base)
-directory will be cited as <TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->.</P
-><P
->Windows and Linux have a similar file system syntax, but the
-MS-DOS command interpreter on Windows uses the backslash character
-(\) as a path separator, while Linux and POSIX shells (including
-the Cygwin bash shell for windows) use the forward slash (/).</P
-><P
->This document will use the POSIX shell convention of forward
-slashes throughout.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="notation-and-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="version-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Notation and Conventions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="notation-and-conventions.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Version Conventions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/documentation-roadmap.html b/doc/html/user-guide/documentation-roadmap.html
deleted file mode 100644 (file)
index a9fda84..0000000
+++ /dev/null
@@ -1,469 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Documentation Roadmap</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"><LINK
-REL="PREVIOUS"
-TITLE="Version Conventions"
-HREF="version-conventions.html"><LINK
-REL="NEXT"
-TITLE="Installing eCos"
-HREF="user-guide-installation.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="version-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="DOCUMENTATION-ROADMAP">Chapter 5. Documentation Roadmap</H1
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> documentation is divided into a
-three main parts:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->User Guide</I
-></SPAN
-></DT
-><DD
-><P
->This document. It includes the following sections:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Installing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></DT
-><DD
-><P
->  This section describes how to install the
-  <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> software, how to set up your
-  hardware and how to test that it is all working.
-  </P
-></DD
-><DT
->Programming Under <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></DT
-><DD
-><P
->  This section describes how to write programs that run under
-  <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> by running through some examples.
-  </P
-></DD
-><DT
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></DT
-><DD
-><P
->  This section describes the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> graphical
-  configuration tool and how to use it to change how
-  <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> behaves.</P
-></DD
-><DT
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Programming Concepts and Techniques</DT
-><DD
-><P
->An explanation of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> programming
-           cycle, and a description of some debugging facilities that
-           <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> offers.
-  </P
-></DD
-><DT
->Configuration and the Package
-              Repository</DT
-><DD
-><P
->Information on how to configure <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-              manually, including a reference on the
-              <B
-CLASS="COMMAND"
->ecosconfig</B
-> command, memory layouts,
-              and information on how to manage a package repository
-              using the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Package Administration
-              Tool.
-            </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Reference Guide</I
-></SPAN
-></DT
-><DD
-><P
->The Reference Guide provides detailed documentation on various
-aspects of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. This document is being
-constantly updated, so the following list just mentions the more
-important sections, take a look at the guide itself for the full
-story.</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Kernel</DT
-><DD
-><P
->In-depth description of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->&quot;s
-              native C kernel API Important considerations are given
-              for programming the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-              kernel. The semantics for each kernel function are
-              described, including how they are affected by
-              configuration. </P
-></DD
-><DT
->POSIX and &micro;ITRON APIs</DT
-><DD
-><P
->A description of the POSIX and &micro;ITRON APIs and how they
-  are supported under <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.
-  </P
-></DD
-><DT
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Hardware Abstraction Layer (HAL)</DT
-><DD
-><P
->A description of the structure and functionality of the
-  <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> HAL. This section also includes a
-  porting guide to help moving <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> to
-  different platforms.
-  </P
-></DD
-><DT
->Device Drivers</DT
-><DD
-><P
->A description of the philosophy behind
-              <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> device drivers, as well as a
-              presentation of the C language APIs for using the current
-              device drivers. </P
-><P
->    Device driver support includes serial, ethernet and FLASH devices,
-    and support for PCI, PCMCIA and USB interconnects.
-  </P
-></DD
-><DT
->RedBoot User's Guide</DT
-><DD
-><P
->This describes RedBoot, which provides a complete bootstrap
-        environment for a range of embedded operating systems, such as
-        embedded Linux and <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, and
-        includes facilities such as network downloading and
-        debugging. It also provides a simple flash file system for
-        boot images.
-  </P
-></DD
-><DT
->TCP/IP Stack Support</DT
-><DD
-><P
->This describes the Common Networking for
-        <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> package, which provides
-        support for a complete TCP/IP networking stack. The design
-        allows for the actual stack to be modular and at the current
-        time two different implementations, one based on OpenBSD from
-        2000 and a new version based on FreeBSD, are available.
-  </P
-><P
->Other components related to networking, including support for
-        SNMP, DNS, HTTP and FTP, are also described.
-  </P
-></DD
-></DL
-></DIV
-></DD
-><DT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Component Writer's Guide</I
-></SPAN
-></DT
-><DD
-><P
->The Component Writer's Guide is intended for developers who need
-to add or modify parts of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> itself. It
-describes the following things:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->Overview</DT
-><DD
-><P
->An explanation of the configuration technology used in
-  <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, why it is done this way, how it
-  works and the terminology used.
-  </P
-></DD
-><DT
->Package Organization</DT
-><DD
-><P
->A description of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> package
-  repository, how it is organized and how packages themselves are
-  organized.
-  </P
-></DD
-><DT
->The CDL Language</DT
-><DD
-><P
->A description of the CDL language and how it is used to
-  control the configuration of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-  components. The document also contains a complete specification of
-  the language.
-  </P
-></DD
-><DT
->The Build Process</DT
-><DD
-><P
->A description of what happens once a configuration has been
-  created and must be built into a set of executables.
-  </P
-></DD
-></DL
-></DIV
-></DD
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="version-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Version Conventions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Installing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-key-features.html b/doc/html/user-guide/ecos-key-features.html
deleted file mode 100644 (file)
index 168b8f8..0000000
+++ /dev/null
@@ -1,260 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Key Features</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"><LINK
-REL="PREVIOUS"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"><LINK
-REL="NEXT"
-TITLE="eCos Overview"
-HREF="ecos-overview.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="ECOS-KEY-FEATURES">Chapter 1. Key Features</H1
-><P
-></P
-><UL
-><LI
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is distributed under the GPL
-license with an exception which permits proprietary application code
-to be linked with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> without itself being
-forced to be released under the GPL. It is also royalty and buyout
-free.</P
-></LI
-><LI
-><P
->As an Open Source project, <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is
-under constant improvement, with an active developer community, based
-around the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> web site at <A
-HREF="http://sources.redhat.com/ecos/"
-TARGET="_top"
->http://sources.redhat.com/ecos/</A
->.</P
-></LI
-><LI
-><P
->Powerful GUI-based configuration system allowing both large and
-fine grained configuration of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. This
-allows the functionality of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> to be
-customized to the exact requirements of the application.</P
-></LI
-><LI
-><P
->Full-featured, flexible, configurable, real time embedded
-kernel. The kernel provides thread scheduling, synchronization,
-timer, and communication primitives. It handles hardware resources
-such as interrupts, exceptions, memory and caches.</P
-></LI
-><LI
-><P
->The Hardware Abstraction Layer (HAL) hides the specific features
-of each supported CPU and platform, so that the kernel and other
-run-time components can be implemented in a portable fashion.</P
-></LI
-><LI
-><P
->Support for &micro;ITRON and POSIX Application Programmer
-Interfaces (APIs). It also includes a fully featured, thread-safe ISO
-standard C library and math library.</P
-></LI
-><LI
-><P
->Support for a wide variety of devices including many serial
-devices, ethernet controllers and FLASH memories. There is also
-support for PCMCIA, USB and PCI interconnects.</P
-></LI
-><LI
-><P
->A fully featured TCP/IP stack implementing IP, IPv6, ICMP, UDP
-and TCP over ethernet. Support for SNMP, HTTP, TFTP and FTP are also
-present.</P
-></LI
-><LI
-><P
->The RedBoot ROM monitor is an application that uses the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> HAL for portability. It provides
-serial and ethernet based booting and debug services during
-development.</P
-></LI
-><LI
-><P
->Many components include test programs that validate the
-components behaviour. These can be used both to check that hardware is
-functioning correctly, and as examples of
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> usage.</P
-></LI
-><LI
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> documentation included this User
-Guide, the Reference Manual and the Components Writer's Guide. These
-are being continually updated as the system develops.</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-overview.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Introduction</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Overview</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-licensing-previous.html b/doc/html/user-guide/ecos-licensing-previous.html
deleted file mode 100644 (file)
index 7f38431..0000000
+++ /dev/null
@@ -1,180 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Previous License</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="eCos Licence Overview"
-HREF="ecos-licensing.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Licence Overview"
-HREF="ecos-licensing.html"><LINK
-REL="NEXT"
-TITLE="Notation and Conventions"
-HREF="notation-and-conventions.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-licensing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 3. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Licence Overview</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="notation-and-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ECOS-LICENSING-PREVIOUS">Previous License</H1
-><P
->&#13;Prior to May 2002, <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> was released under
-the <A
-HREF="http://sources.redhat.com/ecos/old-license.html"
-TARGET="_top"
->Red
-Hat eCos Public License (RHEPL)</A
->. The RHEPL required any
-modifications to <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code to be made
-available under preferential terms to Red Hat and was therefore
-incompatible with code licensed under the GPL.  The use of
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> source code which was licensed under
-the RHEPL is not affected by the switch to the modified GPL for later
-revisions.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-licensing.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="notation-and-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Licence Overview</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-licensing.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Notation and Conventions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-licensing.html b/doc/html/user-guide/ecos-licensing.html
deleted file mode 100644 (file)
index 901d76f..0000000
+++ /dev/null
@@ -1,481 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Licence Overview</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos Overview"
-HREF="ecos-overview.html"><LINK
-REL="NEXT"
-TITLE="Previous License"
-HREF="ecos-licensing-previous.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-licensing-previous.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="ECOS-LICENSING">Chapter 3. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Licence Overview</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="ecos-licensing.html#ECOS-LICENSING-QNA"
->Questions and answers</A
-></DT
-><DT
-><A
-HREF="ecos-licensing-previous.html"
->Previous License</A
-></DT
-></DL
-></DIV
-><P
->As of May 2002, <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is released
-under a modified version of the well known <A
-HREF="http://www.gnu.org/copyleft/gpl.html"
-TARGET="_top"
->GNU General Public License
-(GPL)</A
->, now making it an <A
-HREF="http://www.gnu.org/philosophy/license-list.html"
-TARGET="_top"
->official
-GPL-compatible Free Software License</A
->. An exception clause has
-been added to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> license which limits
-the circumstances in which the license applies to other code when used
-in conjunction with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. The exception
-clause is as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> 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
- 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
- License. However the source code for this file must still be made
- available 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 file might be covered by the GNU General Public License.</PRE
-></TD
-></TR
-></TABLE
-><P
->The goal of the license is to serve the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> user community as a whole. It allows
-all <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> users to develop products without
-paying anybody anything, no matter how many developers are working on
-the product or how many units will be shipped. The license also
-guarantees that the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> source code will
-always be freely available. This applies not only to the core
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code itself but also to any changes
-that anybody makes to the core. In particular, it should prevent any
-company or individual contributing code to the system and then later
-claiming that all <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> users are now guilty
-of copyright or patent infringements and have to pay royalties. It
-should also prevent any company from making some small improvements,
-calling the result a completely new system, and releasing this under a
-new and less generous license.</P
-><P
->The license does <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> require users to
-release the source code of any <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->applications</I
-></SPAN
-> that
-are developed with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. However, if
-anybody makes any changes to code covered by the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> license, or writes new files derived
-in any way from <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code, then we believe
-that the entire user community should have the opportunity to benefit
-from this. The license stipulates that these changes must be made
-available in source code form to all recipients of binaries based on
-the modified code, either by including the sources along with the
-binaries you deliver (or with any device containing such binaries) or
-with a written offer to supply the source code to the general public
-for three years. It is perhaps most practical for
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> developers to make the source code
-available online and inform those who are receiving binaries
-containing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code, and probably also the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> maintainers, about the location of the
-code. See the <A
-HREF="http://www.gnu.org/copyleft/gpl.html"
-TARGET="_top"
->full
-text of the GPL</A
-> for the most authoritative definition of the
-obligations.</P
-><P
->Although it is not strictly necessary to contribute the modified
-code back to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> open source project,
-we are always pleased to receive code contributions and hope that
-developers will also be keen to give back in return for what they
-received from the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> project completely
-free of charge.  The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> maintainers are
-responsible for deciding whether such contributions should be applied
-to the public repository. In addition, a <A
-HREF="http://sources.redhat.com/ecos/assign.html"
-TARGET="_top"
->copyright
-assignment</A
-> is required for any significant changes to the core
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> packages.</P
-><P
->The result is a royalty-free system with minimal obligations on
-the part of application developers. This has resulted in the rapid
-uptake of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. At the same time,
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is fully open source with all the
-benefits that implies in terms of quality and innovation. We believe
-that this is a winning combination.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ECOS-LICENSING-QNA">Questions and answers</H1
-><P
->The following queries provide some clarification as to the
-implications of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> license. They do
-not consititute part of the legal meaning of the license.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q.</I
-></SPAN
-> What is the effect of the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> license?</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->A.</I
-></SPAN
-> In the simplest terms, when you
-distribute anything containing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code,
-you must make the source code to <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-available under the terms of the GPL.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q.</I
-></SPAN
-> What if I make changes to
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, or write new code based on
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code?</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->A.</I
-></SPAN
-> Then you must make those changes
-available as well.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q.</I
-></SPAN
-> Do I have to distribute the source
-code to my application? Isn't the GPL "viral"?</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->A.</I
-></SPAN
-> You do not have to distribute any
-code under the terms of the GPL other than
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code or code derived from
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. For example, if you write a HAL port
-based on copying an existing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> HAL in
-any way, you must make the source code available with the
-binary. However you would not need to make available any other code,
-such as the code of a wholly separate application linked with
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Q.</I
-></SPAN
-> I would rather stick with the
-RHEPL code, but I updated my anonymous CVS checkout.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->A.</I
-></SPAN
-> You can check out the final
-version of anonymous CVS before the license change using the CVS tag
-<TT
-CLASS="LITERAL"
->last-rhepl</TT
->. See <A
-HREF="http://sources.redhat.com/ecos/anoncvs.html"
-TARGET="_top"
->the anonymous CVS
-access page</A
->
-for details.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-overview.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-licensing-previous.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Overview</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Previous License</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-overview.html b/doc/html/user-guide/ecos-overview.html
deleted file mode 100644 (file)
index a0ab866..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Overview</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"><LINK
-REL="PREVIOUS"
-TITLE="Key Features"
-HREF="ecos-key-features.html"><LINK
-REL="NEXT"
-TITLE="eCos Licence Overview"
-HREF="ecos-licensing.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-key-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-licensing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="ECOS-OVERVIEW">Chapter 2. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Overview</H1
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is an open source, configurable,
-       portable, and royalty-free embedded real-time operating
-       system. The following text expands on these core aspects that
-       define <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is provided as an open source
-       runtime system supported by the GNU open source development
-       tools. Developers have full and unfettered access to all
-       aspects of the runtime system. No parts of it are proprietary
-       or hidden, and you are at liberty to examine, add to, and
-       modify the code as you deem necessary. These rights are
-       granted to you and protected by the GNU Public License (GPL).
-       An exception clause has been added to the eCos license which
-       limits the circumstances in which the license applies to other
-       code when used in conjunction with eCos. This exception grants
-       you the right to freely develop and distribute applications
-       based on <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. You are not expected
-       or required to make your embedded applications or any
-       additional components that you develop freely available so
-       long as they are not derived from
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> code. We of course welcome all
-       contributions back to <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> such as
-       board ports, device drivers and other components, as this
-       helps the growth and development of
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, and is of benefit to the
-       entire <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> community. See <A
-HREF="ecos-licensing.html"
->Chapter 3</A
-> for more details.</P
-><P
->One of the key technological innovations in
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is the configuration
-       system. The configuration system allows the application writer
-       to impose their requirements on the run-time components, both
-       in terms of their functionality and implementation, whereas
-       traditionally the operating system has constrained the
-       application's own implementation. Essentially, this enables
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> developers to create their own
-       application-specific operating system and makes
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> suitable for a wide range of
-       embedded uses. Configuration also ensures that the resource
-       footprint of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is minimized as
-       all unnecessary functionality and features are removed. The
-       configuration system also presents
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> as a component
-       architecture. This provides a standardized mechanism for
-       component suppliers to extend the functionality of
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> and allows applications to be
-       built from a wide set of optional configurable run-time
-       components. Components can be provided from a variety of
-       sources including: the standard
-       <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> release; commercial third
-       party developers or open source contributors.</P
-><P
->The royalty-free nature of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> means that you can develop and
-deploy your application using the standard <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> release without
-incurring any royalty charges. In addition, there are no up-front
-license charges for the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> runtime source code and associated
-tools. We provide, without charge, everything necessary for basic
-embedded applications development.</P
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is designed to be portable to a
-wide range of target architectures and target platforms including 16,
-32, and 64 bit architectures, MPUs, MCUs and DSPs. The
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel, libraries and runtime
-components are layered on the Hardware Abstraction Layer (HAL), and
-thus will run on any target once the HAL and relevant device drivers
-have been ported to the target's processor architecture and
-board. Currently <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> supports a large
-range of different target architectures:
- </P
-><P
-></P
-><UL
-><LI
-><P
->ARM, Intel StrongARM and XScale</P
-></LI
-><LI
-><P
->Fujitsu FR-V</P
-></LI
-><LI
-><P
->Hitachi SH2/3/4</P
-></LI
-><LI
-><P
->Hitachi H8/300H </P
-></LI
-><LI
-><P
->Intel x86</P
-></LI
-><LI
-><P
->MIPS</P
-></LI
-><LI
-><P
->Matsushita AM3x</P
-></LI
-><LI
-><P
->Motorola PowerPC</P
-></LI
-><LI
-><P
->Motorola 68k/Coldfire</P
-></LI
-><LI
-><P
->NEC V850</P
-></LI
-><LI
-><P
->Sun SPARC</P
-></LI
-></UL
-><P
->including many of the popular variants of these architectures
-and evaluation boards.</P
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> has been designed to support
-applications with real-time requirements, providing features such as
-full preemptability, minimal interrupt latencies, and all the
-necessary synchronization primitives, scheduling policies, and
-interrupt handling mechanisms needed for these type of
-applications. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> also provides all the
-functionality required for general embedded application support
-including device drivers, memory management, exception handling, C,
-math libraries, etc. In addition to runtime support, the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> system includes all the tools
-necessary to develop embedded applications, including
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> software configuration and build
-tools, and GNU based compilers, assemblers, linkers, debuggers, and
-simulators.</P
-><P
->To get the most out of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> you
-should visit the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> open source
-developers site: <A
-HREF="http://sources.redhat.com/ecos/"
-TARGET="_top"
->http://sources.redhat.com/ecos/</A
->.</P
-><P
->The site is dedicated to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-      developer community and contains a rich set of resources
-      including news, FAQ, online documentation, installation guide,
-      discussion and announcement mailing lists, and runtime and
-      development tools downloads. The site also supports anonymous
-      CVS and WEBCVS access to provide direct access to the latest
-      <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> source base. </P
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is released as open source
-      software because we believe that this is the most effective
-      software development model, and that it provides the greatest
-      benefit to the embedded developer community as a whole. As part
-      of this endeavor, we seek the input and participation of
-      <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> developers in its continuing
-      evolution. Participation can take many forms including:</P
-><P
-></P
-><UL
-><LI
-><P
->providing us with feedback on how <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> might be made more
-useful to you - by taking part in the ongoing mailing list discussions
-and by submitting problem reports covering bugs, documentation issues,
-and missing features</P
-></LI
-><LI
-><P
->contributing bug fixes and enhancement patches</P
-></LI
-><LI
-><P
->contributing new code including device drivers, board
-ports, libraries, and other runtime components</P
-></LI
-></UL
-><P
->Our long term aim is to make <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> a
-rich and ubiquitous standard infrastructure for the development of
-deeply embedded applications.  This will be achieved with the
-assistance of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> developer community
-cooperating to improve <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> for all. We
-would like to take this opportunity to extend our thanks to the many
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> developers who have already
-contributed feedback, ideas, patches, and code that have augmented and
-improved this release.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Maintainers</I
-></SPAN
-></P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-key-features.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-licensing.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Key Features</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Licence Overview</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-packages.html b/doc/html/user-guide/ecos-packages.html
deleted file mode 100644 (file)
index c2b8e8a..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Packages</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Building the System"
-HREF="building-the-system.html"><LINK
-REL="NEXT"
-TITLE="Coarse-grained Configuration"
-HREF="coarse-grained-configuration.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="building-the-system.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="coarse-grained-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="ECOS-PACKAGES">Packages</H1
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is a component architecture. The system comes as a
-         number of packages which can be
-         enabled or disabled as required, and new packages can be
-         added as they become available. Unfortunately, the packages
-         are not completely independent: for example the &micro;ITRON
-         compatibility package relies almost entirely on
-         functionality provided by the kernel package, and it would
-         not make sense to try to build &micro;ITRON if the kernel
-         was disabled. The C library has fewer dependencies: some
-         parts of the C library rely on kernel functionality, but it
-         is possible to disable these parts and thus build a system
-         that has the C library but no kernel. The
-       <B
-CLASS="COMMAND"
->ecosconfig</B
-> tool has the capability of
-           checking that all the dependencies are satisfied, but it
-           may still be possible to produce configurations that will
-           not build or (conceivably) that will build but not run.
-           Developers should be aware of this and take appropriate
-           care.</P
-><P
->By default, <B
-CLASS="COMMAND"
->ecosconfig</B
-> will
-include all packages that are appropriate for the specified hardware
-in the configuration. The common HAL package and
-the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> infrastructure must be present in every configuration. In
-addition, it is always necessary to have one architectural HAL package
-and one platform HAL package. Other packages are optional, and can
-be added or removed from a configuration as required.</P
-><P
->The application may not require all of the packages; for example,
-it might not need the &micro;ITRON compatibility
-package, or the floating point support provided by the math library.
-There is a slight overhead when <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is built because the packages
-will get compiled, and there is also a small disk space penalty.
-However, any unused facilities will get stripped out at link-time,
-so having redundant packages will not affect the final executable. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="building-the-system.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="coarse-grained-configuration.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building the System</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Coarse-grained Configuration</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-programming-concepts-and-techniques.html b/doc/html/user-guide/ecos-programming-concepts-and-techniques.html
deleted file mode 100644 (file)
index ea446ac..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos Programming Concepts and Techniques</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Creating a Shell"
-HREF="config-tool-creating-a-shell.html"><LINK
-REL="NEXT"
-TITLE="CDL Concepts"
-HREF="cdl-concepts.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-creating-a-shell.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="ECOS-PROGRAMMING-CONCEPTS-AND-TECHNIQUES"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->V. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Programming Concepts and Techniques</H1
-><DIV
-CLASS="PARTINTRO"
-><A
-NAME="PROGRAMMING-PARTINTRO"><P
->Programming with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is somewhat different from programming
-      in more traditional environments. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is a configurable open
-      source system, and you are able to configure and build a system
-      specifically to meet the needs of your application. </P
-><P
->Various different directory hierarchies are involved in
-      configuring and building the system: the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->component
-       repository</I
-></SPAN
->, the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->build tree</I
-></SPAN
->,
-      and the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->install tree</I
-></SPAN
->. These directories
-      exist in addition to the ones used to develop
-      applications.</P
-></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->24. <A
-HREF="cdl-concepts.html"
->CDL Concepts</A
-></DT
-><DT
->25. <A
-HREF="component-repo-and-working-dirs.html"
->The Component Repository and Working Directories</A
-></DT
-><DT
->26. <A
-HREF="compiler-and-linker-options.html"
->Compiler and Linker Options</A
-></DT
-><DT
->27. <A
-HREF="debugging-techniques.html"
->Debugging Techniques</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-creating-a-shell.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="cdl-concepts.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Creating a Shell</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->CDL Concepts</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/ecos-user-guide.html b/doc/html/user-guide/ecos-user-guide.html
deleted file mode 100644 (file)
index 38349ec..0000000
+++ /dev/null
@@ -1,1400 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->eCos User Guide</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="NEXT"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"></HEAD
-><BODY
-CLASS="BOOK"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="BOOK"
-><A
-NAME="ECOS-USER-GUIDE"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
-><A
-NAME="AEN2">eCos User Guide</H1
-><P
-CLASS="COPYRIGHT"
->Copyright &copy; 2001, 2002 by Red Hat, Inc.</P
-><P
-CLASS="COPYRIGHT"
->Copyright &copy; 2003 by eCosCentric Ltd.</P
-><DIV
-CLASS="LEGALNOTICE"
-><A
-NAME="AEN10"><P
-><B
->Documentation licensing terms</B
-></P
-><P
->This material may be distributed only subject to the terms
-and conditions set forth in the Open Publication License, v1.0
-or later (the latest version is presently available at
-<A
-HREF="http://www.opencontent.org/openpub/"
-TARGET="_top"
->http://www.opencontent.org/openpub/</A
->).</P
-><P
->Distribution of the work or derivative of the work in any
-standard (paper) book form is prohibited unless prior
-permission is obtained from the copyright holder.</P
-></DIV
-><DIV
-CLASS="LEGALNOTICE"
-><A
-NAME="AEN15"><P
-><B
->Trademarks</B
-></P
-><P
->Red Hat, the Red Hat Shadow Man logo&reg;, eCos&#8482;, RedBoot&#8482;,
-GNUPro&reg;, and Insight&#8482; are trademarks of Red Hat, Inc. </P
-><P
->Sun Microsystems&reg; and Solaris&reg; are registered trademarks of
-Sun Microsystems, Inc. </P
-><P
->SPARC&reg; is a registered trademark of SPARC International, Inc., and
-is used under license by Sun Microsystems, Inc. </P
-><P
->Intel&reg; is a registered trademark of Intel Corporation.</P
-><P
->Motorola&#8482; is a trademark of Motorola, Inc.</P
-><P
->ARM&reg; is a registered trademark of Advanced RISC Machines, Ltd.</P
-><P
->MIPS&#8482; is a trademark of MIPS Technologies, Inc.</P
-><P
->Toshiba&reg; is a registered trademark of the Toshiba Corporation.</P
-><P
->NEC&reg; is a registered trademark if the NEC Corporation.</P
-><P
->Cirrus Logic&reg; is a registered trademark of Cirrus Logic, Inc.</P
-><P
->Compaq&reg; is a registered trademark of the Compaq Computer Corporation.</P
-><P
->Matsushita&#8482; is a trademark of the Matsushita Electric Corporation.</P
-><P
->Samsung&reg; and CalmRISC&#8482; are trademarks or registered trademarks
-of Samsung, Inc. </P
-><P
->Linux&reg; is a registered trademark of Linus Torvalds. </P
-><P
->UNIX&reg; is a registered trademark of The Open Group. </P
-><P
->Microsoft&reg;, Windows&reg;, and Windows NT&reg; are registered trademarks
-of Microsoft Corporation, Inc. </P
-><P
->All other brand and product names, trademarks, and copyrights are the
-property of their respective owners. </P
-></DIV
-><HR></DIV
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->I. <A
-HREF="user-guide-introduction.html"
->Introduction</A
-></DT
-><DD
-><DL
-><DT
->1. <A
-HREF="ecos-key-features.html"
->Key Features</A
-></DT
-><DT
->2. <A
-HREF="ecos-overview.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Overview</A
-></DT
-><DT
->3. <A
-HREF="ecos-licensing.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Licence Overview</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="ecos-licensing.html#ECOS-LICENSING-QNA"
->Questions and answers</A
-></DT
-><DT
-><A
-HREF="ecos-licensing-previous.html"
->Previous License</A
-></DT
-></DL
-></DD
-><DT
->4. <A
-HREF="notation-and-conventions.html"
->Notation and Conventions</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="notation-and-conventions.html#GDB-AND-GCC-COMMAND-NOTATION"
->GDB and GCC Command Notation</A
-></DT
-><DT
-><A
-HREF="directory-and-file-system-conventions.html"
->Directory and File System Conventions</A
-></DT
-><DT
-><A
-HREF="version-conventions.html"
->Version Conventions</A
-></DT
-></DL
-></DD
-><DT
->5. <A
-HREF="documentation-roadmap.html"
->Documentation Roadmap</A
-></DT
-></DL
-></DD
-><DT
->II. <A
-HREF="user-guide-installation.html"
->Installing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></A
-></DT
-><DD
-><DL
-><DT
->6. <A
-HREF="user-guide-installation-requirements.html"
->System Requirements</A
-></DT
-><DT
->7. <A
-HREF="user-guide-installation-linux.html"
->Installation on Linux</A
-></DT
-><DT
->8. <A
-HREF="user-guide-installation-windows.html"
->Installation on Windows</A
-></DT
-><DT
->9. <A
-HREF="user-guide-installation-target.html"
->Target Setup</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="user-guide-installation-target.html#CONNECTING-TARGET-SERIAL"
->Connecting Via Serial Line</A
-></DT
-><DT
-><A
-HREF="connecting-target-ethernet.html"
->Connecting Via Ethernet</A
-></DT
-><DT
-><A
-HREF="connecting-target-sim.html"
->Using A Simulator Target</A
-></DT
-><DT
-><A
-HREF="connecting-target-synth.html"
->Using A Synthetic Target</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->III. <A
-HREF="user-guide-programming.html"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></A
-></DT
-><DD
-><DL
-><DT
->10. <A
-HREF="programming-with-ecos.html"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="programming-with-ecos.html#DEVELOPMENT-PROCESS"
->The Development Process</A
-></DT
-></DL
-></DD
-><DT
->11. <A
-HREF="configuring-and-building-ecos-from-source.html"
->Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="configuring-and-building-ecos-from-source.html#ECOS-STARTUP-CONFIGS"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Start-up Configurations</A
-></DT
-><DT
-><A
-HREF="using-configtool-windows-linux.html"
->Configuration Tool on Windows and Linux Quick Start</A
-></DT
-><DT
-><A
-HREF="using-ecosconfig-on-linux.html"
->Ecosconfig on Windows and Linux Quick Start</A
-></DT
-></DL
-></DD
-><DT
->12. <A
-HREF="running-an-ecos-test-case.html"
->Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="running-an-ecos-test-case.html#USING-CONFIGTOOL-TESTCASE"
->Using the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></A
-></DT
-><DT
-><A
-HREF="using-commandline-testcase.html"
->Using the command line</A
-></DT
-><DT
-><A
-HREF="testing-filters.html"
->Testing Filters</A
-></DT
-></DL
-></DD
-><DT
->13. <A
-HREF="building-and-running-sample-appliations.html"
->Building and Running Sample Applications</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="building-and-running-sample-appliations.html#ECOS-HELLO-WORLD"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Hello World</A
-></DT
-><DT
-><A
-HREF="sample-twothreads.html"
->A Sample Program with Two Threads</A
-></DT
-></DL
-></DD
-><DT
->14. <A
-HREF="clocks-and-alarm-handlers.html"
->More Features &#8212; Clocks and Alarm
-Handlers</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="clocks-and-alarm-handlers.html#SAMPLE-ALARMS"
->A Sample Program with Alarms</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->IV. <A
-HREF="the-ecos-configuration-tool.html"
->The eCos Configuration Tool</A
-></DT
-><DD
-><DL
-><DT
->15. <A
-HREF="config-tool-getting-started.html"
->Getting Started</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-getting-started.html#CONFIG-TOOL-GETTING-STARTED-INTRO"
->Introduction</A
-></DT
-><DT
-><A
-HREF="config-tool-invoking.html"
->Invoking the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></A
-></DT
-><DT
-><A
-HREF="config-tool-component-repository.html"
->The Component Repository</A
-></DT
-><DT
-><A
-HREF="config-tool-documents.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> Documents</A
-></DT
-></DL
-></DD
-><DT
->16. <A
-HREF="config-tool-getting-help.html"
->Getting Help</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-getting-help.html#CONFIG-TOOL-CONTEXT-HELP-DIALOGS"
->Context-sensitive Help for Dialogs</A
-></DT
-><DT
-><A
-HREF="config-tool-context-help-otherwin.html"
->Context-sensitive Help for Other Windows</A
-></DT
-><DT
-><A
-HREF="config-tool-context-help-config-items.html"
->Context-sensitive Help for Configuration Items</A
-></DT
-><DT
-><A
-HREF="methods-of-displaying-html-help.html"
->Methods of Displaying HTML Help</A
-></DT
-></DL
-></DD
-><DT
->17. <A
-HREF="config-tool-customization.html"
->Customization</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-customization.html#CONFIG-TOOL-WINDOW-PLACEMENT"
->Window Placement</A
-></DT
-><DT
-><A
-HREF="config-tool-settings.html"
->Settings</A
-></DT
-></DL
-></DD
-><DT
->18. <A
-HREF="config-tool-screen-layout.html"
->Screen Layout</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-screen-layout.html#CONFIG-TOOL-CONFIGURATION-WINDOW"
->Configuration Window</A
-></DT
-></DL
-></DD
-><DT
->19. <A
-HREF="config-tool-updating-configuration.html"
->Updating the Configuration</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-updating-configuration.html#CONFIG-TOOL-ADDING-REMOVING-PACKAGES"
->Adding and Removing Packages</A
-></DT
-><DT
-><A
-HREF="config-tool-platform-selection.html"
->Platform Selection</A
-></DT
-><DT
-><A
-HREF="config-tool-using-templates.html"
->Using Templates</A
-></DT
-></DL
-></DD
-><DT
->20. <A
-HREF="config-tool-searching.html"
->Searching</A
-></DT
-><DT
->21. <A
-HREF="config-tool-building.html"
->Building</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-building.html#CONFIG-TOOL-SELECTING-BUILD-TOOLS"
->Selecting Build Tools</A
-></DT
-><DT
-><A
-HREF="config-tool-selecting-user-tools.html"
->Selecting User Tools</A
-></DT
-></DL
-></DD
-><DT
->22. <A
-HREF="config-tool-test-execution.html"
->Execution</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-test-execution.html#CONFIG-TOOL-TEST-PROPERTIES"
->Properties</A
-></DT
-></DL
-></DD
-><DT
->23. <A
-HREF="config-tool-creating-a-shell.html"
->Creating a Shell</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="config-tool-creating-a-shell.html#CONFIG-TOOL-KEYBOARD-ACCELERATORS"
->Keyboard Accelerators</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->V. <A
-HREF="ecos-programming-concepts-and-techniques.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Programming Concepts and Techniques</A
-></DT
-><DD
-><DL
-><DT
->24. <A
-HREF="cdl-concepts.html"
->CDL Concepts</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="cdl-concepts.html#CDL-CONCEPTS-ABOUT"
->About this chapter</A
-></DT
-><DT
-><A
-HREF="cdl-component-repository.html"
->Component Repository</A
-></DT
-><DT
-><A
-HREF="cdl-component-definition-language.html"
->Component Definition Language</A
-></DT
-><DT
-><A
-HREF="cdl-packages.html"
->Packages</A
-></DT
-><DT
-><A
-HREF="cdl-configuration-items.html"
->Configuration Items</A
-></DT
-><DT
-><A
-HREF="cdl-conflicts.html"
->Conflicts</A
-></DT
-><DT
-><A
-HREF="cdl-templates.html"
->Templates</A
-></DT
-></DL
-></DD
-><DT
->25. <A
-HREF="component-repo-and-working-dirs.html"
->The Component Repository and Working Directories</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="component-repo-and-working-dirs.html#COMPONENT-REPO"
->Component Repository</A
-></DT
-><DT
-><A
-HREF="build-tree.html"
->Build Tree</A
-></DT
-><DT
-><A
-HREF="install-tree.html"
->Install Tree</A
-></DT
-><DT
-><A
-HREF="repository-app-build-tree.html"
->Application Build Tree</A
-></DT
-></DL
-></DD
-><DT
->26. <A
-HREF="compiler-and-linker-options.html"
->Compiler and Linker Options</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="compiler-and-linker-options.html#COMPILING-C-APP"
->Compiling a C Application</A
-></DT
-><DT
-><A
-HREF="compiling-cpp-app.html"
->Compiling a C++ Application</A
-></DT
-></DL
-></DD
-><DT
->27. <A
-HREF="debugging-techniques.html"
->Debugging Techniques</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="debugging-techniques.html#TRACING"
->Tracing</A
-></DT
-><DT
-><A
-HREF="kernel-instrumentation.html"
->Kernel Instrumentation</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->VI. <A
-HREF="configuration-and-the-package-repository.html"
->Configuration and the Package Repository</A
-></DT
-><DD
-><DL
-><DT
->28. <A
-HREF="manual-configuration.html"
->Manual Configuration</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="manual-configuration.html#DIRECTORY-TREE-STRUCTURE"
->Directory Tree Structure</A
-></DT
-><DT
-><A
-HREF="creating-build-tree.html"
->Creating the Build Tree</A
-></DT
-><DT
-><A
-HREF="conflicts-and-constraints.html"
->Conflicts and constraints</A
-></DT
-><DT
-><A
-HREF="building-the-system.html"
->Building the System</A
-></DT
-><DT
-><A
-HREF="ecos-packages.html"
->Packages</A
-></DT
-><DT
-><A
-HREF="coarse-grained-configuration.html"
->Coarse-grained Configuration</A
-></DT
-><DT
-><A
-HREF="fine-grained-configuration.html"
->Fine-grained Configuration</A
-></DT
-><DT
-><A
-HREF="editing-an-ecos-savefile.html"
->Editing an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Savefile</A
-></DT
-><DT
-><A
-HREF="editing-the-sources.html"
->Editing the Sources</A
-></DT
-><DT
-><A
-HREF="modifying-the-memory-layout.html"
->Modifying the Memory Layout</A
-></DT
-></DL
-></DD
-><DT
->29. <A
-HREF="managing-package-repository.html"
->Managing the Package Repository</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="managing-package-repository.html#PACKAGE-INSTALLATION"
->Package Installation</A
-></DT
-><DT
-><A
-HREF="package-structure.html"
->Package Structure</A
-></DT
-></DL
-></DD
-></DL
-></DD
-><DT
->VII. <A
-HREF="appendices.html"
->Appendixes</A
-></DT
-><DD
-><DL
-><DT
->A. <A
-HREF="appendix-target-setup.html"
->Target Setup</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="appendix-target-setup.html#SETUP-MN10300-STDEVAL1"
->MN10300 stdeval1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-mn10300-sim.html"
->MN10300 Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-am33-stb.html"
->AM33 STB Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-tx39-jmr3904.html"
->TX39 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-tx39-sim.html"
->TX39 Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-tx49-ref4955.html"
->TX49 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-vr4300-vrc4373.html"
->VR4300 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-vr4300-vrc4375.html"
->VRC4375 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-mips-atlasmalta.html"
->Atlas/Malta Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-ppc-cogent.html"
->PowerPC Cogent Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-ppc-mbx860.html"
->PowerPC MBX860 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-ppc-sim.html"
->PowerPC Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-sparclite-sleb.html"
->SPARClite Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sparclite-sim.html"
->SPARClite Architectural Simulator Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-pid.html"
->ARM PID Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-aeb1.html"
->ARM AEB-1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-cma230.html"
->ARM Cogent CMA230 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7211.html"
->Cirrus Logic ARM EP7211 Development
-Board Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7212.html"
->Cirrus Logic ARM EP7212 Development Board
-Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7312.html"
->Cirrus Logic ARM EP7312 Development Board
-Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ep7209.html"
->Cirrus Logic ARM EP7209 Development Board Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-clps7111.html"
->Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ebsa285.html"
->StrongARM EBSA-285 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-arm-ipaq.html"
->Compaq iPAQ PocketPC Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-edk7708.html"
->SH3/EDK7708 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-cq7708.html"
->SH3/CQ7708 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-hs7729pci.html"
->SH3/HS7729PCI Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-se77x9.html"
->SH3/SE77x9 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-cq7750.html"
->SH4/CQ7750 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-sh-se7751.html"
->SH4/SE7751 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-v850-cebsa1.html"
->NEC CEB-V850/SA1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-v850-cebsb1.html"
->NEC CEB-V850/SB1 Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-i386-pc.html"
->i386 PC Hardware Setup</A
-></DT
-><DT
-><A
-HREF="setup-synth-i386linux.html"
->i386/Linux Synthetic Target Setup</A
-></DT
-></DL
-></DD
-><DT
->B. <A
-HREF="real-time-characterization.html"
->Real-time characterization</A
-></DT
-><DD
-><DL
-><DT
-><A
-HREF="real-time-characterization.html#RT-ARM-AEB1"
->Board: ARM AEB-1 Revision B Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-at91-eb40.html"
->Board: Atmel AT91/EB40</A
-></DT
-><DT
-><A
-HREF="rt-arm-ebsa285.html"
->Board: Intel StrongARM EBSA-285 Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-arm-ep7211.html"
->Board: Cirrus Logic EDB7111-2 Development Board</A
-></DT
-><DT
-><A
-HREF="rt-arm-pid.html"
->Board: ARM PID Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-arm-iq80310.html"
->Board: Intel IQ80310 XScale Development Kit</A
-></DT
-><DT
-><A
-HREF="rt-tx39-jmr3904.html"
->Board: Toshiba JMR3904 Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-tx49-ref4955.html"
->Board: Toshiba REF 4955</A
-></DT
-><DT
-><A
-HREF="rt-mn10300-stdeval1.html"
->Board: Matsushita STDEVAL1 Board</A
-></DT
-><DT
-><A
-HREF="rt-sparclite-sleb.html"
->Board: Fujitsu SPARClite Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-ppc-cogent.html"
->Board: Cogent CMA MPC860 (PowerPC) Evaluation</A
-></DT
-><DT
-><A
-HREF="rt-vr4300-vrc4373.html"
->Board: NEC VR4373</A
-></DT
-><DT
-><A
-HREF="rt-arm-assabet.html"
->Board: Intel SA1110 (Assabet)</A
-></DT
-><DT
-><A
-HREF="rt-arm-brutus.html"
->Board: Intel SA1100 (Brutus)</A
-></DT
-><DT
-><A
-HREF="rt-ppc-mbx860.html"
->Board: Motorola MBX</A
-></DT
-><DT
-><A
-HREF="rt-sh-edk7708.html"
->Board: Hitachi EDK7708</A
-></DT
-><DT
-><A
-HREF="rt-sh-cq7708.html"
->Board: CQ CqREEK SH3 Evaluation Board (cq7708)</A
-></DT
-><DT
-><A
-HREF="rt-sh-hs7729pci.html"
->Board: Hitachi HS7729PCI HS7729 SH3</A
-></DT
-><DT
-><A
-HREF="rt-sh-se7751.html"
->Board: Hitachi Solution Engine 7751 SH4 (se7751)</A
-></DT
-><DT
-><A
-HREF="rt-i386-pc.html"
->Board: PC</A
-></DT
-><DT
-><A
-HREF="rt-v850-cebsa1.html"
->Board: NEC V850 Cosmo Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-v850-cebsb1.html"
->Board: NEC V850 Cosmo Evaluation Board</A
-></DT
-></DL
-></DD
-><DT
->C. <A
-HREF="gnu-general-public-license.html"
->GNU General Public License</A
-></DT
-></DL
-></DD
-></DL
-></DIV
-><DIV
-CLASS="LOT"
-><DL
-CLASS="LOT"
-><DT
-><B
->List of Tables</B
-></DT
-><DT
->11-1. <A
-HREF="configuring-and-building-ecos-from-source.html#USER-GUIDE-DOWNLOAD-METHODS"
->Configuration for various download methods</A
-></DT
-><DT
->18-1. <A
-HREF="config-tool-screen-layout.html#AEN1273"
->Cell types</A
-></DT
-><DT
->23-1. <A
-HREF="config-tool-creating-a-shell.html#KEYBOARD-ACCELERATORS"
->Keyboard accelerators</A
-></DT
-><DT
->24-1. <A
-HREF="cdl-configuration-items.html#CDL-EXPRESSIONS"
->CDL Expressions</A
-></DT
-><DT
->24-2. <A
-HREF="cdl-configuration-items.html#TABLE-CONFIGURATION-PROPERTIES"
->Configuration properties</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="LOT"
-><DL
-CLASS="LOT"
-><DT
-><B
->List of Figures</B
-></DT
-><DT
->11-1. <A
-HREF="using-configtool-windows-linux.html#PROGRAMMING-FIGURE-CONFIGURATION-TOOL"
->Configuration Tool</A
-></DT
-><DT
->11-2. <A
-HREF="using-configtool-windows-linux.html#FIGURE-TEMPLATE-SELECTION"
->Template selection</A
-></DT
-><DT
->11-3. <A
-HREF="using-configtool-windows-linux.html#CONFIGURING-FOR-THE-TARGET"
->Configuring
-for the target</A
-></DT
-><DT
->11-4. <A
-HREF="using-configtool-windows-linux.html#FIGURE-SELECTING-THE-BUILD-LIBRARY-MENU-ITEM"
->Selecting the Build Library menu item</A
-></DT
-><DT
->11-5. <A
-HREF="using-configtool-windows-linux.html#AEN607"
->Save file dialog</A
-></DT
-><DT
->11-6. <A
-HREF="using-configtool-windows-linux.html#FIGURE-BUILD-TOOLS-DIALOG"
->Build tools dialog</A
-></DT
-><DT
->11-7. <A
-HREF="using-configtool-windows-linux.html#FIGURE-USER-TOOLS-DIALOG"
->User tools dialog</A
-></DT
-><DT
->11-8. <A
-HREF="using-configtool-windows-linux.html#AEN648"
->Selecting the Build Tests menu item</A
-></DT
-><DT
->12-1. <A
-HREF="running-an-ecos-test-case.html#PROGRAMMING-RUN-TESTS"
->Run tests</A
-></DT
-><DT
->12-2. <A
-HREF="running-an-ecos-test-case.html#PROGRAMMING-RUN-PROPERTIES"
->Properties dialog box</A
-></DT
-><DT
->13-1. <A
-HREF="sample-twothreads.html#FIGURE-TWOTHREADS-WITH-SIMPLE-PRINTS"
->Two
-threads with simple print statements after random delays</A
-></DT
-><DT
->15-1. <A
-HREF="config-tool-invoking.html#FIGURE-CONFIGURATION-TOOL"
-><SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></A
-></DT
-><DT
->15-2. <A
-HREF="config-tool-component-repository.html#AEN1047"
->Repository relocation dialog box</A
-></DT
-><DT
->15-3. <A
-HREF="config-tool-documents.html#AEN1076"
->Save As dialog box</A
-></DT
-><DT
->15-4. <A
-HREF="config-tool-documents.html#AEN1085"
->Open dialog box</A
-></DT
-><DT
->16-1. <A
-HREF="methods-of-displaying-html-help.html#FIGURE-HELP-VIEWER"
->HTML Help viewer</A
-></DT
-><DT
->17-1. <A
-HREF="config-tool-settings.html#AEN1207"
->Settings dialog, Display tab</A
-></DT
-><DT
->17-2. <A
-HREF="config-tool-settings.html#AEN1233"
->Settings dialog, Viewers tab</A
-></DT
-><DT
->19-1. <A
-HREF="config-tool-updating-configuration.html#AEN1376"
->Packages dialog box</A
-></DT
-><DT
->19-2. <A
-HREF="config-tool-platform-selection.html#AEN1393"
->Platforms dialog box</A
-></DT
-><DT
->19-3. <A
-HREF="config-tool-platform-selection.html#AEN1400"
->Platform Modify dialog box</A
-></DT
-><DT
->19-4. <A
-HREF="config-tool-using-templates.html#AEN1417"
->Templates dialog box</A
-></DT
-><DT
->19-5. <A
-HREF="config-tool-using-templates.html#AEN1430"
->Options</A
-></DT
-><DT
->19-6. <A
-HREF="config-tool-using-templates.html#AEN1450"
->Resolve conflicts window</A
-></DT
-><DT
->20-1. <A
-HREF="config-tool-searching.html#AEN1471"
->Find dialog box</A
-></DT
-><DT
->21-1. <A
-HREF="config-tool-building.html#AEN1521"
->Build tools</A
-></DT
-><DT
->21-2. <A
-HREF="config-tool-selecting-user-tools.html#AEN1533"
->User tools</A
-></DT
-><DT
->22-1. <A
-HREF="config-tool-test-execution.html#AEN1564"
->Properties dialog box</A
-></DT
-><DT
->22-2. <A
-HREF="config-tool-test-execution.html#AEN1603"
->Run tests</A
-></DT
-><DT
->22-3. <A
-HREF="config-tool-test-execution.html#AEN1616"
->Add files from folder</A
-></DT
-><DT
->25-1. <A
-HREF="component-repo-and-working-dirs.html#AEN2022"
->Component repository</A
-></DT
-></DL
-></DIV
-><DIV
-CLASS="LOT"
-><DL
-CLASS="LOT"
-><DT
-><B
->List of Examples</B
-></DT
-><DT
->11-1. <A
-HREF="using-ecosconfig-on-linux.html#AEN683"
->Getting  help from ecosconfig</A
-></DT
-><DT
->11-2. <A
-HREF="using-ecosconfig-on-linux.html#AEN686"
->ecosconfig output &#8212; 
-list of available packages, targets and templates</A
-></DT
-><DT
->14-1. <A
-HREF="clocks-and-alarm-handlers.html#AEN910"
->A sample program that creates an alarm</A
-></DT
-><DT
->27-1. <A
-HREF="debugging-techniques.html#AEN2289"
->Hello world with tracing</A
-></DT
-><DT
->27-2. <A
-HREF="kernel-instrumentation.html#AEN2358"
->Using instrument buffers</A
-></DT
-><DT
->27-3. <A
-HREF="kernel-instrumentation.html#AEN2367"
->Instrument buffer output</A
-></DT
-><DT
->28-1. <A
-HREF="modifying-the-memory-layout.html#AEN2992"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> linker script fragment</A
-></DT
-></DL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Introduction</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/editing-an-ecos-savefile.html b/doc/html/user-guide/editing-an-ecos-savefile.html
deleted file mode 100644 (file)
index 08debad..0000000
+++ /dev/null
@@ -1,2012 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Editing an eCos Savefile</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Fine-grained Configuration"
-HREF="fine-grained-configuration.html"><LINK
-REL="NEXT"
-TITLE="Editing the Sources"
-HREF="editing-the-sources.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="fine-grained-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="editing-the-sources.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EDITING-AN-ECOS-SAVEFILE">Editing an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Savefile</H1
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration information is held in a single
-         savefile, typically <TT
-CLASS="FILENAME"
->ecos.ecc</TT
->, which can
-         be generated by either the GUI configuration tool or by the
-         command line <B
-CLASS="COMMAND"
->ecosconfig</B
-> tool. The file
-         normally exists at the top level of the build tree. It is a
-         text file, allowing the various configurations options to be
-         edited inside a suitable text editor or by other programs or
-         scripts, as well as in the GUI config tool.</P
-><P
->An <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefile is actually a script in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tcl</I
-></SPAN
-> programming
-language, so any modifications to the file need to preserve Tcl
-syntax. For most configuration options, any modifications will be
-trivial and there is no need to worry about Tcl syntax. For example,
-changing a 1 to a 0 to disable an option.  For more complicated
-options, for example<TT
-CLASS="LITERAL"
-> CYGDAT_UITRON_TASK_EXTERNS</TT
->,
-which involves some lines of C code, more care has
-to be taken. If an edited savefile is no longer a valid Tcl script
-then the configuration tools will be unable to read back the data
-for further processing, for example to generate a build tree. An
-outline of Tcl syntax is given below. One point worth noting here
-is that a line that begins with a &#8220;#&#8221; is
-usually a comment, and the bulk of an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefile actually consists
-of such comments, to make it easier to edit.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2721">Header</H2
-><P
->An <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefile begins with a header, which typically
-           looks something like this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># eCos saved configuration
-# ---- commands -------------------------------------------------------- 
-# This section contains information about the savefile format. 
-# It should not be edited. Any modifications made to this section 
-# may make it impossible for the configuration tools to read 
-# the savefile.
-
-cdl_savefile_version 1; 
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {}; 
-cdl_savefile_command 
-cdl_configuration { description hardware template package }; 
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value }; 
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value }; 
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value }; 
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value }; 
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->This section of the savefile is intended for use by the
-       configuration system, and should not be edited. If this
-       section is edited then the various configuration tools may no
-       longer be able to read in the modified savefile.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2727">Toplevel Section</H2
-><P
->The header is followed by a section that defines the
-           configuration as a whole. A typical example would
-           be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># ---- toplevel -------------------------------------------------------- 
-# This section defines the toplevel configuration object. The only 
-# values that can be changed are the name of the configuration and 
-# the description field. It is not possible to modify the target, 
-# the template or the set of packages simply by editing the lines 
-# below because these changes have wide-ranging effects. Instead 
-# the appropriate tools should be used to make such modifications.
-
-cdl_configuration eCos {     
-description &#8220;&#8220; ;         
-
-# These fields should not be modified.     
-hardware    pid ;     
-template    uitron ;     
-package -hardware CYGPKG_HAL_ARM current ;     
-package -hardware CYGPKG_HAL_ARM_PID current ;     
-package -hardware CYGPKG_IO_SERIAL current ;     
-package -template CYGPKG_HAL current ;     
-package -template CYGPKG_IO current ;     
-package -template CYGPKG_INFRA current ;     
-package -template CYGPKG_KERNEL current ;     
-package -template CYGPKG_UITRON current ;     
-package -template CYGPKG_LIBC current ;     
-package -template CYGPKG_LIBM current ;     
-package -template CYGPKG_DEVICES_WALLCLOCK current ;     
-package -template CYGPKG_ERROR current ; 
-}; 
-      </PRE
-></TD
-></TR
-></TABLE
-><P
->This section allows the configuration tools to reload the
-various packages that make up the configuration. Most of the information
-should not be edited. If it is necessary to add a new package or
-to remove an existing one then the appropriate tools should be used
-for this, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig remove CYGPKG_LIBM</PRE
-></TD
-></TR
-></TABLE
-><P
->There are two fields which can be edited. Configurations have
-a name; in this case <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. They can also have a description, which
-is some arbitrary text. The configuration tools do not make use
-of these fields, they exist so that users can store additional information
-about a configuration.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2735">Conflicts Section</H2
-><P
->The toplevel section is followed by details of all the
-           conflicts (if any) in the configuration, for
-           example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># ---- conflicts ------------------------------------------------------- 
-# There are 2 conflicts. 
-# 
-# option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET 
-#   Property LegalValues 
-#   Illegal current value 100000 
-#   Legal values are: -90000 to 90000 
-# 
-# option CYGSEM_LIBC_TIME_CLOCK_WORKING 
-#   Property Requires 
-#   Requires constraint not satisfied: CYGFUN_KERNEL_THREADS_TIMER 
-         </PRE
-></TD
-></TR
-></TABLE
-><P
->When editing a configuration you may end up with something
-that is invalid. Any problems in the configuration will be reported
-in the conflicts section. In this case there are two conflicts.
-The option <TT
-CLASS="LITERAL"
->CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET</TT
-> has
-been given an illegal value: typically this would be fixed by searching
-for the definition of that option later on in the savefile and modifying
-the value. The second conflict is more interesting, an unsatisfied <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->requires</I
-></SPAN
-> constraint.
-Configuration options are not independent: disabling some functionality
-in, say, the kernel, can have an impact elsewhere; in this case
-the C library. The various dependencies between the options are
-specified by the component developers and checked by the configuration
-system. In this case there are two obvious ways in which the conflict could
-be resolved: re-enabling <TT
-CLASS="LITERAL"
->CYGFUN_KERNEL_THREADS_TIMER</TT
->,
-or disabling <TT
-CLASS="LITERAL"
->CYGSEM_LIBC_TIME_CLOCK_WORKING</TT
->.
-Both of these options will be listed later on in the file.</P
-><P
->Some care has to be taken when modifying configuration options,
-to avoid introducing new conflict. For instance it is possible that
-there might be other options in the system which have a dependency
-on <TT
-CLASS="LITERAL"
->CYGSEM_LIBC_TIME_CLOCK_WORKING</TT
->,
-so disabling that option may not be the best way to resolve the
-conflict. Details of all such dependencies are provided in the appropriate
-places in the savefile.</P
-><P
->It is not absolutely required that a configuration be conflict-free
-before generating a build tree and building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. It is up to the
-developers of each component to decide what would happen if an attempt
-is made to build <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> while there are still conflicts. In serious
-cases there is likely to be a compile-time failure, or possibly
-a link-time failure. In less serious cases the system may build
-happily and the application can be linked with the resulting library,
-but the component may not quite function as intended - although
-it may still be good enough for the specific needs of the application.
-It is also possible that everything builds and links, but once in
-a while the system will unaccountably crash. Using a configuration
-that still has conflicts is done entirely at the user&#8217;s
-risk.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2749">Data Section</H2
-><P
->The bulk of the savefile lists the various packages,
-           components, and options, including their values and the
-           various dependencies. A number of global options come
-           first, especially those related to the build process such
-           as compiler flags. These are followed by the various
-           packages, and the components and options within those
-           packages, in order.</P
-><P
->Packages, components and options are organized in a
-           hierarchy. If a particular component is disabled then all
-           options and sub-components below it will be inactive: any
-           changes made to these will have no effect. The savefile
-           contains information about the hierarchy in the form of
-           comments, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->cdl_package CYGPKG_KERNEL ... 
-# &gt; 
-cdl_component CYGPKG_KERNEL_EXCEPTIONS ... 
-# &gt; 
-cdl_option CYGSEM_KERNEL_EXCEPTIONS_DECODE ... 
-cdl_option CYGSEM_KERNEL_EXCEPTIONS_GLOBAL ... 
-# &lt; 
-cdl_component CYGPKG_KERNEL_SCHED ... 
-# &gt; 
-cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE ... 
-cdl_option CYGSEM_KERNEL_SCHED_BITMAP ... 
-# &lt; 
-# &lt; 
-         </PRE
-></TD
-></TR
-></TABLE
-><P
->This corresponds to the following hierarchy:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> CYGPKG_KERNEL
-   CYGPKG_KERNEL_EXCEPTIONS
-     CYGSEM_KERNEL_EXCEPTIONS_DECODE
-     CYGSEM_KERNEL_EXCEPTIONS_GLOBAL
-   CYGPKG_KERNEL_SCHED
-     CYGSEM_KERNEL_SCHED_MLQUEUE
-     CYGSEM_KERNEL_SCHED_BITMAP 
-         </PRE
-></TD
-></TR
-></TABLE
-><P
->Providing the hierarchy information in this way allows
-           programs or scripts to analyze the savefile and readily
-           determine the hierarchy. It could also be used by a
-           sufficiently powerful editor to support structured editing
-           of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefiles. The information is not used by the
-           configuration tools themselves since they obtain the
-           hierarchy from the original CDL scripts.</P
-><P
->Each configurable entity is preceded by a comment, of
-           the following form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># Kernel schedulers 
-# doc: ref/ecos-ref/ecos-kernel-overview.html#THE-SCHEDULER 
-# The eCos kernel provides a choice of schedulers. In addition 
-# there are a number of configuration options to control the 
-# detailed behaviour of these schedulers. 
-cdl_component CYGPKG_KERNEL_SCHED {     
-... 
-}; 
-         </PRE
-></TD
-></TR
-></TABLE
-><P
->This provides a short textual alias
-           <TT
-CLASS="LITERAL"
->Kernel schedulers</TT
-> for the
-           component. If online documentation is available for the
-           configurable entity then this will come next. Finally
-           there is a short description of the entity as a whole. All
-           this information is provided by the component
-           developers.</P
-><P
->Each configurable entity takes the form:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&lt;type&gt; &lt;name&gt; {
-     &lt;data&gt;
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->Configurable entities may not be active. This can be either
-because the parent is disabled or inactive, or because there are
-one or more <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->active_if</I
-></SPAN
-> properties. Modifying
-the value of an inactive entity has no effect on the configuration,
-so this information is provided first:</P
-><P
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->cdl_option CYGSEM_KERNEL_EXCEPTIONS_DECODE {     
-# This option is not active     
-# The parent CYGPKG_KERNEL_EXCEPTIONS is disabled     
-... 
-};
-...
-
-cdl_option CYGIMP_IDLE_THREAD_YIELD {     
-# This option is not active     
-# ActiveIf constraint: (CYGNUM_KERNEL_SCHED_PRIORITIES == 1)     
-#     CYGNUM_KERNEL_SCHED_PRIORITIES == 32     
-#   --&gt; 0     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->For <TT
-CLASS="LITERAL"
->CYGIMP_IDLE_THREAD_YIELD</TT
-> the
-savefile lists the expression that must be satisfied if the option
-is to be active, followed by the current value of all entities that
-are referenced in the expression, and finally the result of evaluating
-that expression.</P
-><P
->Not all options are directly modifiable in the savefile. First,
-the value of packages (which is the version of that package loaded
-into the configuration) cannot be modified here.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_package CYGPKG_KERNEL {     
-# Packages cannot be added or removed, nor can their version be changed,     
-# simply by editing their value. Instead the appropriate configuration     
-# should be used to perform these actions.
-...
-};&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->The version of a package can be changed using e.g.:    </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig version 1.3 CYGPKG_KERNEL</PRE
-></TD
-></TR
-></TABLE
-><P
->Even though a package&#8217;s value cannot be modified
-here, it is still important for the savefile to contain the details.
-In particular packages may impose constraints on other configurable
-entities and may be referenced by other configurable entities. Also
-it would be difficult to understand or extract the configuration&#8217;s
-hierarchy if the packages were not listed in the appropriate places
-in the savefile.</P
-><P
->Some components (or, conceivably, options) do not have any
-associated data. Typically they serve only to introduce another
-level in the hierarchy, which can be useful in the context of the
-GUI configuration tool.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_component CYGPKG_HAL_COMMON_INTERRUPTS {     
-# There is no associated value. 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Other components or options have a calculated value. These
-are not user-modifiable, but typically the value will depend on
-other options which can be modified. Such calculated options can
-be useful when controlling what gets built or what ends up in the
-generated configuration header files. A calculated value may also
-effect other parts of the configuration, for instance, via a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->requires</I
-></SPAN
-> constraint.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option BUFSIZ {     
-# Calculated value: CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO ? CYGNUM_LIBC_STDIO_BUFSIZE : 0     
-#     CYGSEM_LIBC_STDIO_WANT_BUFFERED_IO == 1     
-#     CYGNUM_LIBC_STDIO_BUFSIZE == 256     
-# Current_value: 256 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->A special type of calculated value is the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->interface</I
-></SPAN
->.
-The value of an interface is the number of active and enabled options
-which <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->implement</I
-></SPAN
-> that interface. Again the value
-of an interface cannot be modified directly; only by modifying the
-options which implement the interface. However, an interface can
-be referenced by other parts of the configuration. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->cdl_interface CYGINT_KERNEL_SCHEDULER {     
-# Implemented by CYGSEM_KERNEL_SCHED_MLQUEUE, active, enabled     
-# Implemented by CYGSEM_KERNEL_SCHED_BITMAP, active, disabled     
-# This value cannot be modified here.     
-# Current_value: 1     
-# Requires: 1 == CYGINT_KERNEL_SCHEDULER     
-#     CYGINT_KERNEL_SCHEDULER == 1     
-#   --&gt; 1&#13;</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-># The following properties are affected by this value     
-# interface CYGINT_KERNEL_SCHEDULER     
-#     Requires: 1 == CYGINT_KERNEL_SCHEDULER 
-}; </PRE
-></TD
-></TR
-></TABLE
-><P
->If the configurable entity is modifiable then there will be
-lines like the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {     
-...     
-# Flavor: bool     
-# No user value, uncomment the following line to provide one.     
-# user_value 1     
-# value_source default     
-# Default value: 1     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Configurable entities can have one of four different flavors:
-none, bool, data and booldata. Flavor none indicates that there
-is no data associated with the entity, typically it just acts as
-a placeholder in the overall hierarchy. Flavor bool is the most
-common, it is a simple yes-or-no choice. Flavor data is for more
-complicated configuration choices, for instance the size of an array
-or the name of a device. Flavor booldata is a combination of bool
-and data: the option can be enabled or disabled, and there is some
-additional data associated with the option as well.</P
-><P
->In the above example the user has not modified this particular
-option, as indicated by the comment and by the commented-out <TT
-CLASS="LITERAL"
->user_value</TT
-> line.
-To disable this option the file should be edited to:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGSEM_KERNEL_SCHED_MLQUEUE {     
-...     
-# Flavor: bool     
-# No user value, uncomment the following line to provide one.     
-user_value 0     
-# value_source default     
-# Default value: 1     
-... 
-} &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->The comment preceding the <TT
-CLASS="LITERAL"
->user_value
-0</TT
-> line can be removed if desired, otherwise it
-will be removed automatically the next time the file is read and
-updated by the configuration tools.</P
-><P
->Much the same process should be used for options with the
-data flavor, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET {     
-# Flavor: data     
-# No user value, uncomment the following line to provide one.     
-# user_value 3600     
-# value_source default     
-# Default value: 3600     
-# Legal values: -90000 to 90000 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->can be changed to:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGNUM_LIBC_TIME_DST_DEFAULT_OFFSET {     
-# Flavor: data     
-user_value 7200     
-# value_source default     
-# Default value: 3600     
-# Legal values: -90000 to 90000 }; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Note that the original text provides the default value in
-the <TT
-CLASS="LITERAL"
->user_value</TT
-> comment,
-on the assumption that the desired new value is likely to be similar
-to the default value. The <TT
-CLASS="LITERAL"
->value_source</TT
-> comment
-does not need to be updated, it will be fixed up if the savefile
-is fed back into the configuration system and regenerated.</P
-><P
->For options with the booldata flavor, the <TT
-CLASS="LITERAL"
->user_value</TT
-> line
-needs take two arguments. The first argument is for the boolean
-part, the second for the data part. For example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_component CYGNUM_LIBM_COMPATIBILITY {     
-# Flavor: booldata     
-# No user value, uncomment the following line to provide one.    
-# user_value 1 POSIX     
-# value_source default     
-# Default value: 1 POSIX     
-# Legal values:  &#8220;POSIX&#8221; &#8220;IEEE&#8221; &#8220;XOPEN&#8221; &#8220;SVID&#8221;     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->could be changed to:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_component CYGNUM_LIBM_COMPATIBILITY {     
-# Flavor: booldata     
-user_value 1 IEEE     
-# value_source default     
-# Default value: 1 POSIX     
-# Legal values:  &#8220;POSIX&#8221; &#8220;IEEE&#8221; &#8220;XOPEN&#8221; &#8220;SVID&#8221;     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->or alternatively, if the whole component should be disabled,
-to:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_component CYGNUM_LIBM_COMPATIBILITY {     
-# Flavor: booldata     
-user_value 0 POSIX     
-# value_source default     
-# Default value: 1 POSIX     
-# Legal values:  &#8220;POSIX&#8221; &#8220;IEEE&#8221; &#8220;XOPEN&#8221; &#8220;SVID&#8221;     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Some options take values that span multiple lines. An example
-would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS {     
-# Flavor: data     
-# No user value, uncomment the following line to provide one.     
-# user_value \     
-# &#8220;CYG_UIT_MEMPOOLVAR( vpool1, 2000 ), \\     
-#  CYG_UIT_MEMPOOLVAR( vpool2, 2000 ), \\     
-#  CYG_UIT_MEMPOOLVAR( vpool3, 2000 ),&#8221;     
-# value_source default     
-# Default value: \     
-#     &#8220;CYG_UIT_MEMPOOLVAR( vpool1, 2000 ), \\     
-#      CYG_UIT_MEMPOOLVAR( vpool2, 2000 ), \\     
-#      CYG_UIT_MEMPOOLVAR( vpool3, 2000 ),&#8221; 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Setting a user value for this option involves uncommenting
-and modifying all relevant lines, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGDAT_UITRON_MEMPOOLVAR_INITIALIZERS {     
-# Flavor: data     
-user_value \     
-&#8220;CYG_UIT_MEMPOOLVAR( vpool1, 4000 ), \\      
-CYG_UIT_MEMPOOLVAR( vpool2, 4000 ),&#8221;     
-# value_source default     
-# Default value: \     
-#     &#8220;CYG_UIT_MEMPOOLVAR( vpool1, 2000 ), \\     
-#      CYG_UIT_MEMPOOLVAR( vpool2, 2000 ), \\     
-#      CYG_UIT_MEMPOOLVAR( vpool3, 2000 ),&#8221; 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->In such cases appropriate care has to be taken to preserve
-Tcl syntax, as discussed below.</P
-><P
->The configuration system has the ability to keep track of
-         several different values for any given option. All options
-         start off with a default value, in other words their value
-         source is set to <TT
-CLASS="LITERAL"
->default</TT
->. If a
-         configuration involves conflicts and the configuration
-         system&#8217;s inference engine is allowed to resolve these
-         automatically then it may provide an
-         <TT
-CLASS="LITERAL"
->inferred</TT
-> value instead, for
-         example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT {     
-# Flavor: bool     
-# No user value, uncomment the following line to provide one.     
-# user_value 1     
-# The inferred value should not be edited directly.     
-inferred_value 0     
-# value_source inferred     
-# Default value: 1     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->Inferred values are calculated by the configuration system
-and should not be edited by the user. If the inferred value is not
-correct then a user value should be substituted instead:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT {     
-# Flavor: bool     
-user_value 1     
-# The inferred value should not be edited directly.     
-inferred_value 0     
-# value_source inferred     
-# Default value: 1     
-... 
-}; </PRE
-></TD
-></TR
-></TABLE
-><P
->The inference engine will not override a user value with an
-inferred one. Making a change like this may well re-introduce a
-conflict, since the inferred value was only calculated to resolve
-a conflict. Another run of the inference engine may find a different
-and more acceptable way of resolving the conflict, but this is not guaranteed
-and it may be up to the user to examine the various dependencies
-and work out an acceptable solution.</P
-><P
->Inferred values are listed in the savefile because the exact
-inferred value may depend on the order in which changes were made
-and conflicts were resolved. If the inferred values were absent
-then it is possible that reloading a savefile would not exactly
-restore the configuration. Default values on the other hand are
-entirely deterministic so there is no actual need for the values
-to be listed in the savefile. However, the default value can be
-very useful information so it is provided in a comment.</P
-><P
->Occasionally the user will want to do some experimentation,
-and temporarily switch an option from a user value back to a default
-or inferred one to see what the effect would be. This could be achieved
-by simply commenting out the user value. For instance, if the current
-savefile contains:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT {     
-# Flavor: bool     
-user_value 1     
-# The inferred value should not be edited directly.     
-inferred_value 0     
-# value_source user     
-# Default value: 1     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->then the inferred value could be restored by commenting out
-or removing the <TT
-CLASS="LITERAL"
->user_value</TT
-> line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT {     
-# Flavor: bool     
-# user_value 1     
-# The inferred value should not be edited directly.     
-inferred_value 0     
-# value_source user     
-# Default value: 1     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->This is fine for simple values. However if the value is complicated
-then there is a problem: commenting out the <TT
-CLASS="LITERAL"
->user_value</TT
-> line
-or lines means that the user value becomes invisible to the configuration system,
-so if the savefile is loaded and then regenerated the information
-will be lost. An alternative approach is to keep the <TT
-CLASS="LITERAL"
->user_value</TT
-> but
-explicitly set the <TT
-CLASS="LITERAL"
->value_source</TT
-> line,
-for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT {     
-# Flavor: bool     
-user_value 1     
-# The inferred value should not be edited directly.     
-inferred_value 0     
-value_source inferred     
-# Default value: 1     
-... 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->In this case the configuration system will use the inferred
-value for the purposes of dependency analysis etc., even though
-a user value is present. To restore the user value the <TT
-CLASS="LITERAL"
->value_source</TT
-> line
-can be commented out again. If there is no explicit <TT
-CLASS="LITERAL"
->value_source</TT
-> then
-the configuration system will just use the highest priority one:
-the user value if it exists; otherwise the inferred value if it
-exists; otherwise the default value which always exists.</P
-><P
->The default value for an option can be a simple constant,
-or it can be an expression involving other options. In the latter
-case the expression will be listed, together with the values for
-all options referenced in the expression and the current result
-of evaluating that expression. This is for informational purposes
-only, the default value is always recalculated deterministically
-when loading in a savefile.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {     
-# Flavor: data     
-# No user value, uncomment the following line to provide one.     
-# user_value arm-elf     
-# value_source default     
-# Default value:  CYGHWR_THUMB ? &#8220;thumb-elf&#8221; : &#8220;arm-elf&#8221;     
-#     CYGHWR_THUMB == 0     
-#   --&gt; arm-elf 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->For options with the data or booldata flavor, there are likely
-to be constraints on the possible values. If the value is supposed
-to be a number in a given range and a user value of &#8220;<TT
-CLASS="LITERAL"
->hello
-world</TT
->&#8221; is provided instead then there
-are likely to be compile-time failures. Component developers can
-specify constraints on the legal values, and these will be listed
-in the savefile.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-> 
-cdl_option X_TLOSS {     
-# Flavor: data     
-# No user value, uncomment the following line to provide one.     
-# user_value 1.41484755040569E+16     
-# value_source default     
-# Default value: 1.41484755040569E+16     
-# Legal values: 1 to 1e308 
-};&#13;</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->cdl_component CYGNUM_LIBM_COMPATIBILITY {     
-# Flavor: booldata     
-# No user value, uncomment the following line to provide one.     
-# user_value 1 POSIX     
-# value_source default     
-# Default value: 1 POSIX     
-# Legal values:  &#8220;POSIX&#8221; &#8220;IEEE&#8221; &#8220;XOPEN&#8221; &#8220;SVID&#8221;     
-... 
-};&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->In some cases the legal values list may be an expression involving
-other options. If so then the current values of the referenced options
-will be listed, together with the result of evaluating the list
-expression, just as for default value expressions.</P
-><P
->If an illegal value is provided then this will result in a
-conflict, listed in the conflicts section of the savefile. For more
-complicated options a simple legal values list is not sufficient
-to allow the current value to be validated, and the configuration
-system will be unable to flag conflicts. This issue will be addressed in
-future releases of the configuration system.</P
-><P
->Following the value-related fields for a given option, any <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->requires</I
-></SPAN
-> constraints belonging
-to this option will be listed. These constraints are only effective
-if the option is active and, for bool and booldata flavors, enabled.
-If some aspect of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> functionality is inactive or disabled then
-it cannot impose any constraints on the rest of the system. As usual,
-the full expression will be listed followed by the current values
-of all options that are referenced and the result of evaluating
-the expression:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGSEM_LIBC_TIME_TIME_WORKING {     
-...     
-# Requires: CYGPKG_DEVICES_WALLCLOCK     
-#     CYGPKG_DEVICES_WALLCLOCK == current     
-#   --&gt; 1 
-};&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->When modifying the value of an option it is useful to know
-not only what constraints the option imposes on the rest of the
-system but also what other options in the system depend in some
-way on this one. The savefile provides this information:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->cdl_option CYGFUN_KERNEL_THREADS_TIMER {     
-...     
-# The following properties are affected by this value     
-# option CYGMFN_KERNEL_SYNCH_CONDVAR_TIMED_WAIT     
-#     Requires: CYGFUN_KERNEL_THREADS_TIMER     
-# option CYGIMP_UITRON_STRICT_CONFORMANCE     
-#     Requires: CYGFUN_KERNEL_THREADS_TIMER     
-# option CYGSEM_LIBC_TIME_CLOCK_WORKING     
-#     Requires: CYGFUN_KERNEL_THREADS_TIMER 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2847">Tcl Syntax</H2
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefiles are implemented as Tcl scripts, and are read
-in by running the data through a standard Tcl interpreter that has
-been extended with a small number of additional commands such as <TT
-CLASS="LITERAL"
->cdl_option</TT
-> and <TT
-CLASS="LITERAL"
->cdl_configuration</TT
->.
-In many cases this is an implementation detail that can be safely
-ignored while editing a savefile: simply replacing a <TT
-CLASS="LITERAL"
->1</TT
-> with
-a <TT
-CLASS="LITERAL"
->0</TT
-> to disable some functionality
-is not going to affect whether or not the savefile is still a valid
-Tcl script and can be processed by a Tcl interpreter. However, there
-are more complicated cases where an understanding of Tcl syntax
-is at least desirable, for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGDAT_UITRON_MEMPOOLVAR_EXTERNS {
-     # Flavor: data
-     user_value \
-      &#8220;static char vpool1\[ 2000 \], \\
-      vpool2\[ 2000 \], \\
-       vpool3\[ 2000 \];&#8221;     
-# value_source default     
-# Default value: \
-     #     &#8220;static char vpool1\[ 2000 \], \\
-     #      vpool2\[ 2000 \], \\
-    #      vpool3\[ 2000 \];&#8221; 
-};&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->The backslash at the end of the <TT
-CLASS="LITERAL"
->user_value</TT
-> line
-is processed by the Tcl interpreter as a line continuation character.
-The quote marks around the user data are also interpreted by the
-Tcl interpreter and serve to turn the entire data field into a single
-argument. The backslashes preceding the opening and closing square
-brackets prevent the Tcl interpreter from treating these characters
-specially, otherwise there would be an attempt at <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->command
-substitution</I
-></SPAN
-> as described below. The double backslashes
-at the end of each line of the data will be turned into a single
-backslash by the Tcl interpreter, rather than escaping the newline
-character, so that the actual data seen by the configuration system
-is:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;static char vpool1[ 2000 ], \
-      vpool2[ 2000 ], \
-      vpool3[ 2000 ];&#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->This is of course the data that should end up in the &micro;ITRON
-configuration header file. The opening and closing braces surrounding
-the entire body of the option data are also significant and cause
-this body to be passed as a single argument to the <B
-CLASS="COMMAND"
->cdl_option</B
-> command.
-The closing semicolon is optional in this example, but provides
-a small amount of additional robustness if the savefile is edited
-such that it is no longer a valid Tcl script. If the data contained
-any <TT
-CLASS="LITERAL"
->$</TT
-> characters then
-these would have to be treated specially as well, via a backslash escape.</P
-><P
->In spite of what all the above might seem to suggest, Tcl
-is actually a very simple yet powerful scripting language: the syntax
-is defined by just eleven rules. On occasion this simplicity means
-that Tcl&#8217;s behaviour is subtly different from other languages,
-which can confuse newcomers.</P
-><P
->When the Tcl interpreter is passed some data such as <TT
-CLASS="LITERAL"
->puts
-Hello</TT
->, it splits this data into a command and its
-arguments. The command will be terminated by a newline or by a semicolon,
-unless one of the quoting mechanisms is used. The command and each
-of its arguments are separated by white space. So in the following
-example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->puts Hello 
-set x 42 </PRE
-></TD
-></TR
-></TABLE
-><P
->will result in two separate commands being executed. The first
-command is <TT
-CLASS="LITERAL"
->puts</TT
-> and is passed a
-single argument, <TT
-CLASS="LITERAL"
->Hello</TT
->. The second
-command is <TT
-CLASS="LITERAL"
->set</TT
-> and is passed two
-arguments, <TT
-CLASS="LITERAL"
->x</TT
-> and <TT
-CLASS="LITERAL"
->42</TT
->.
-The intervening newline character serves to terminate the first
-command, and a semi-colon separator could be used instead: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->puts Hello;set x 42</PRE
-></TD
-></TR
-></TABLE
-><P
->Any white space surrounding the semicolon is just ignored
-because it does not serve to separate arguments.</P
-><P
->Now consider the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->set x Hello world</PRE
-></TD
-></TR
-></TABLE
-><P
->This is not valid Tcl. It is an attempt to invoke the <TT
-CLASS="LITERAL"
->set</TT
-> command
-with three arguments: <TT
-CLASS="LITERAL"
->x</TT
->, <TT
-CLASS="LITERAL"
->Hello</TT
->,
-and <TT
-CLASS="LITERAL"
->world</TT
->. The <TT
-CLASS="LITERAL"
->set</TT
-> only
-takes two arguments, a variable name and a value, so it is necessary
-to combine the data into a single argument by quoting:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->set x &#8220;Hello world&#8221;</PRE
-></TD
-></TR
-></TABLE
-><P
->When the Tcl interpreter encounters the first quote character
-it treats all subsequent data up to but not including the closing
-quote as part of the current argument. The quote marks are removed
-by the interpreter, so the second argument passed to the <TT
-CLASS="LITERAL"
->set</TT
-> command
-is just <TT
-CLASS="LITERAL"
->Hello world</TT
-> without the
-quote characters. This can be significant in the context of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefiles.
-For instance, consider the following configuration option:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE {     
-# Flavor: data     
-# No user value, uncomment the following line to provide one.     
-# user_value &#8220;\&#8221;/dev/ttydiag\&#8221;&#8221;     
-# value_source default     
-# Default value: &#8220;\&#8221;/dev/ttydiag\&#8221;&#8221; 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->The desired value of the configuration option should be a
-valid C string, complete with quote characters. If the savefile
-was edited to: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->&#13;cdl_option CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE {     
-# Flavor: data     
-user_value &#8220;/dev/ttydiag&#8221;     
-# value_source default     
-# Default value: &#8220;\&#8221;/dev/ttydiag\&#8221;&#8221; 
-}; &#13;</PRE
-></TD
-></TR
-></TABLE
-><P
->then the Tcl interpreter would remove the quote marks when
-the savefile is read back in, so the option&#8217;s value would
-not have any quote marks and would not be a valid C string. The
-configuration system is not yet able to perform the required validation
-so the following <TT
-CLASS="LITERAL"
->#define</TT
-> would
-be generated in the configuration header file:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGDAT_LIBC_STDIO_DEFAULT_CONSOLE /dev/ttydiag </PRE
-></TD
-></TR
-></TABLE
-><P
->This is likely to cause a compile-time failure when building
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-><P
->A quoted argument continues until the closing quote character
-is encountered, which means that it can span multiple lines. This
-can also be encountered in <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefiles, for instance, in the <TT
-CLASS="LITERAL"
->CYGDAT_UITRON_MEMPOOLVAR_EXTERNS</TT
-> example
-mentioned earlier. Newline or semicolon characters do not terminate
-the current command in such cases.</P
-><P
->The Tcl interpreter supports much the same forms of backslash
-substitution as other common programming languages. Some backslash
-sequences such as <TT
-CLASS="LITERAL"
->\n</TT
-> will
-be replaced by the appropriate character. The sequence <TT
-CLASS="LITERAL"
->\\</TT
-> will
-be replaced by a single backslash. A backslash at the very end of
-a line will cause that backslash, the newline character, and any
-white space at the start of the next line to be replaced by a single
-space. Hence the following two Tcl commands are equivalent:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->puts  &#8220;Hello\nworld\n&#8221; 
-puts \ 
-&#8220;Hello 
-world 
-&#8220;</PRE
-></TD
-></TR
-></TABLE
-><P
->In addition to quote and backslash characters, the Tcl interpreter
-treats square brackets, the <TT
-CLASS="LITERAL"
->$</TT
-> character,
-and braces specially. Square brackets are used for command substitution,
-for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->puts &#8220;The answer is [expr 6 * 9]&#8221;</PRE
-></TD
-></TR
-></TABLE
-><P
->When the Tcl interpreter encounters the square brackets it
-will treat the contents as another command that should be executed
-first, and the result of executing that is used when continuing
-to process the script. In this case the Tcl interpreter will execute
-the command <TT
-CLASS="LITERAL"
->expr 6 * 9</TT
->,
-yielding a result of 54, and then the Tcl interpreter will execute
-<TT
-CLASS="LITERAL"
->puts &#8220;The answer is 54&#8221;</TT
->. It should be noted that
-the interpreter contains only one level of substitution: if the
-result of performing command substitution performs further special
-characters such as square brackets then these will not be treated
-specially.</P
-><P
->Command line substitution is very unlikely to prove useful
-in the context of an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefile, but it is part of the Tcl language
-and hence cannot be easily suppressed while reading in a savefile.
-As a result care has to be taken when savefile data involves square
-brackets. Consider the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;cdl_option CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS {
-     ...
-     user_value \ 
-&#8220;static char fpool1[ 2000 ], 
-fpool2[ 2000 ];&#8221;
-     ... 
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The Tcl interpreter will interpret the square brackets as
-an attempt at command substitution and hence it will attempt to
-execute the command <TT
-CLASS="LITERAL"
->2000</TT
-> with no
-arguments. No such command is defined by the Tcl language or by
-the savefile-related extensions provided by the configuration system,
-so this will result in an error when an attempt is made to read
-back the savefile. Instead it is necessary to backslash-escape the
-square brackets and thus suppress command substitution:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->&#13;cdl_option CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS {
-     ...
-     user_value \ 
-&#8220;static char fpool1\[ 2000 \], 
-fpool2\[ 2000 \];&#8221;
-     ... 
-}; </PRE
-></TD
-></TR
-></TABLE
-><P
->Similarly the <TT
-CLASS="LITERAL"
->$</TT
-> character
-is used in Tcl scripts to perform variable substitution:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->set x [expr 6 * 9] 
-puts &#8220;The answer is $x&#8221; </PRE
-></TD
-></TR
-></TABLE
-><P
->Variable substitution, like command substitution, is very
-unlikely to prove useful in the context of an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefile. Should
-it be necessary to have a <TT
-CLASS="LITERAL"
->$</TT
-> character
-in configuration data then again a backslash escape needs to be
-used.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option FOODAT_MONITOR_PROMPT {
-     ...
-     user_value &#8220;\$ &#8220;
-     ... 
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->Braces are used to collect a sequence of characters into a
-single argument, just like quotes. The difference is that variable,
-command and backslash substitution do not occur inside braces (with
-the sole exception of backslash substitution at the end of a line).
-So, for example, the <TT
-CLASS="LITERAL"
->CYGDAT_UITRON_MEMPOOL_EXTERNFIXED_EXTERNS</TT
-> value
-could be written as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option CYGDAT_UITRON_MEMPOOLFIXED_EXTERNS {
-     ...
-     user_value \ 
-{static char fpool1[ 2000 ], 
-fpool2[ 2000 ];}
-     ... 
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The configuration system does not use this when generating
-savefiles because for simple edits of a savefile by inexperienced
-users the use of brace characters is likely to be a little bit more
-confusing than the use of quotes.</P
-><P
->At this stage it is worth noting that the basic format of
-each configuration option in the savefile makes use of braces:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option &lt;name&gt; {
-     ... 
-};</PRE
-></TD
-></TR
-></TABLE
-><P
->The configuration system extends the Tcl language with a small
-number of additional commands such as <TT
-CLASS="LITERAL"
->cdl_option</TT
->.
-These commands take two arguments, a name and a body, where the
-body consists of all the text between the braces. First a check
-is made that the specified option is actually present in the configuration.
-Then the body is executed in a recursive invocation of the Tcl interpreter,
-this time with additional commands such as <TT
-CLASS="LITERAL"
->user_value</TT
-> and <TT
-CLASS="LITERAL"
->value_source</TT
->.
-If, after editing, the braces are not correctly matched up then
-the savefile will no longer be a valid Tcl script and errors will
-be reported when the savefile is loaded again.</P
-><P
->Comments in Tcl scripts are introduced by a hash character <TT
-CLASS="LITERAL"
->#</TT
->.
-However, a hash character only introduces a comment if it occurs
-where a command is expected. Consider the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># This is a comment 
-puts &#8220;Hello&#8221; # world </PRE
-></TD
-></TR
-></TABLE
-><P
->The first line is a valid comment, since the hash character
-occurs right at the start where a command name is expected. The
-second line does not contain a comment. Instead it is an attempt
-to invoke the <TT
-CLASS="LITERAL"
->puts</TT
-> command with
-three arguments: <TT
-CLASS="LITERAL"
->Hello</TT
->, <TT
-CLASS="LITERAL"
->#</TT
-> and <TT
-CLASS="LITERAL"
->world</TT
->.
-These are not valid arguments for the <TT
-CLASS="LITERAL"
->puts</TT
-> command
-so an error will be raised.</P
-><P
->If the second line was rewritten as:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->puts &#8220;Hello&#8221;; # world</PRE
-></TD
-></TR
-></TABLE
-><P
->then this is a valid Tcl script. The semicolon identifies
-the end of the current command, so the hash character occurs at
-a point where the next command would start and hence it is interpreted
-as the start of a comment.</P
-><P
->This handling of comments can lead to subtle behaviour. Consider
-the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cdl_option WHATEVER {
-     # This is a comment }
-     user_value 42
-     ... 
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->Consider the way the Tcl interpreter processes this. The command
-name and the first argument do not pose any special difficulties.
-The opening brace is interpreted as the start of the next argument,
-which continues until a closing brace is encountered. In this case
-the closing brace occurs on the second line, so the second argument
-passed to <TT
-CLASS="LITERAL"
->cdl_option</TT
-> is <TT
-CLASS="LITERAL"
->\n # This is a comment</TT
-> . This second argument
-is processed in a recursive invocation of the Tcl interpreter and
-does not contain any commands, just a comment. Toplevel savefile
-processing then resumes, and the next command that is encountered
-is <TT
-CLASS="LITERAL"
->user_value</TT
->. Since the
-relevant savefile code is not currently processing a configuration
-option this is an error. Later on the Tcl interpreter would encounter
-a closing brace by itself, which is also an error. Fortunately this
-sequence of events is very unlikely to occur when editing generated
-savefiles.</P
-><P
->This should be sufficient information about Tcl to allow for
-safe editing of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> savefiles. Further information is available
-from a wide variety of sources, for example the book <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tcl
-and the Tk Toolkit </I
-></SPAN
->by John K Ousterhout.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="fine-grained-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="editing-the-sources.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Fine-grained Configuration</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Editing the Sources</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/editing-the-sources.html b/doc/html/user-guide/editing-the-sources.html
deleted file mode 100644 (file)
index 80e583a..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Editing the Sources</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Editing an eCos Savefile"
-HREF="editing-an-ecos-savefile.html"><LINK
-REL="NEXT"
-TITLE="Modifying the Memory Layout"
-HREF="modifying-the-memory-layout.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="editing-an-ecos-savefile.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="modifying-the-memory-layout.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="EDITING-THE-SOURCES">Editing the Sources</H1
-><P
->For many users, controlling the packages and
-         manipulating the available configuration options will be
-         sufficient to create an embedded operating system that meets
-         the application's requirements. However, since <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is
-         shipped entirely in source form, it is possible to go
-         further when necessary: you can edit the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> sources themselves. This requires some
-         understanding of the way the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> build system works.
-       </P
-><P
->The most obvious place to edit the source code is directly
-in the component repository. For example, you could
-edit the file <TT
-CLASS="FILENAME"
->kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/sync/mutex.cxx</TT
->
-to change the way kernel mutexes work, or possibly just to add some
-extra diagnostics or assertions. Once the file has been edited,
-it is possible to invoke <B
-CLASS="COMMAND"
->make</B
-> at
-the top level of the build tree and the target library will be rebuilt
-as required. A small optimization is possible: the build tree is
-largely a mirror of the component repository, so it too will contain
-a subdirectory <TT
-CLASS="FILENAME"
->kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
-></TT
->;
-if make is invoked in this directory
-then it will only check for changes to the kernel sources, which
-is a bit more efficient than checking for changes throughout the component
-repository. </P
-><P
->Editing a file in the component repository is fine if this
-tree is used for only one <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration. If the repository
-is used for several different configurations, however, and especially
-if it is shared by multiple users, then making what may be experimental
-changes to the master sources would be a bad idea. The build system provides
-an alternative. It is possible to make a copy of the file in the
-build tree, in other words copy <TT
-CLASS="FILENAME"
->mutex.cxx</TT
-> from
-the <TT
-CLASS="FILENAME"
->kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/sync</TT
-> directory
-in the component repository to <TT
-CLASS="FILENAME"
->kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/sync</TT
-> in
-the build tree, and edit the file in the build tree. When <B
-CLASS="COMMAND"
->make</B
-> is
-invoked it will pick up local copies of any of the sources in preference
-to the master versions in the component repository. Once you have
-finished modifying the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> sources you can install the final version
-back in the component repository. If the changes were temporary
-in nature and only served to aid the debugging process, then you
-can discard the modified version of the sources. </P
-><P
->The situation is slightly more complicated for the header
-files that a package may export, such as the C library&#8217;s <TT
-CLASS="FILENAME"
->stdio.h</TT
-> header
-file, which can be found in the directory <TT
-CLASS="FILENAME"
->language/c/libc/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/include</TT
->.
-If such a header file is changed, either directly in the component
-repository or after copying it to the build tree, then <B
-CLASS="COMMAND"
->make</B
-> must
-be invoked at the top level of the build tree. In cases like this
-it is not safe to rebuild just the C library because other packages
-may depend on the contents of <TT
-CLASS="FILENAME"
->stdio.h</TT
->. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="editing-an-ecos-savefile.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="modifying-the-memory-layout.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Editing an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Savefile</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Modifying the Memory Layout</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/fine-grained-configuration.html b/doc/html/user-guide/fine-grained-configuration.html
deleted file mode 100644 (file)
index 77f1b2b..0000000
+++ /dev/null
@@ -1,249 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Fine-grained Configuration</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Coarse-grained Configuration"
-HREF="coarse-grained-configuration.html"><LINK
-REL="NEXT"
-TITLE="Editing an eCos Savefile"
-HREF="editing-an-ecos-savefile.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="coarse-grained-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="editing-an-ecos-savefile.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="FINE-GRAINED-CONFIGURATION">Fine-grained Configuration</H1
-><P
-><B
-CLASS="COMMAND"
->ecosconfig</B
-> only provides
-         coarse-grained control over the configuration: the hardware,
-         the template and the packages that should be built. Unlike
-         the Configuration Tool,
-         <B
-CLASS="COMMAND"
->ecosconfig</B
-> does not provide
-         any facilities for manipulating finer-grained configuration options such as how many
-         priority levels the scheduler should support. There are
-         hundreds of these options, and manipulating them by means of
-         command line arguments would not be sensible. </P
-><P
->In the current system fine-grained configuration options may
-be manipulated by manual editing of the configuration file. When
-a file has been edited in this way, the <B
-CLASS="COMMAND"
->ecosconfig</B
-> tool
-should be used to check the configuration for any conflicts which
-may have been introduced:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig check</PRE
-></TD
-></TR
-></TABLE
-><P
->The <B
-CLASS="COMMAND"
->check</B
-> command will list
-all conflicts and will also rewrite the configuration file, propagating
-any changes which affect other options. The user may choose to resolve
-the conflicts either by re-editing the configuration file manually
-or by invoking the inference engine using the <B
-CLASS="COMMAND"
->resolve</B
-> command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig resolve</PRE
-></TD
-></TR
-></TABLE
-><P
->The  <B
-CLASS="COMMAND"
->resolve</B
-> command will
-list all conflicts which can be resolved and save the resulting changes
-to the configuration.</P
-><P
->It is necessary to regenerate the build tree and header files
-following any changes to the configuration before rebuilding <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ ecosconfig tree</PRE
-></TD
-></TR
-></TABLE
-><P
->All the configuration options and their descriptions are listed
-in the <I
-CLASS="CITETITLE"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Reference Manual</I
->. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="coarse-grained-configuration.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="editing-an-ecos-savefile.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Coarse-grained Configuration</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Editing an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Savefile</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/gnu-general-public-license.html b/doc/html/user-guide/gnu-general-public-license.html
deleted file mode 100644 (file)
index 0cecafb..0000000
+++ /dev/null
@@ -1,478 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->GNU General Public License</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Appendixes"
-HREF="appendices.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: NEC V850 Cosmo Evaluation Board"
-HREF="rt-v850-cebsb1.html"></HEAD
-><BODY
-CLASS="APPENDIX"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-v850-cebsb1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
->&nbsp;</TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="APPENDIX"
-><H1
-><A
-NAME="GNU-GENERAL-PUBLIC-LICENSE">Appendix C. GNU General Public License</H1
-><P
-CLASS="LITERALLAYOUT"
->&nbsp;Copyright&nbsp;(C)&nbsp;1989,&nbsp;1991&nbsp;Free&nbsp;Software&nbsp;Foundation,&nbsp;Inc.<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br>
-&nbsp;Everyone&nbsp;is&nbsp;permitted&nbsp;to&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;verbatim&nbsp;copies<br>
-&nbsp;of&nbsp;this&nbsp;license&nbsp;document,&nbsp;but&nbsp;changing&nbsp;it&nbsp;is&nbsp;not&nbsp;allowed.<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Preamble<br>
-<br>
-&nbsp;&nbsp;The&nbsp;licenses&nbsp;for&nbsp;most&nbsp;software&nbsp;are&nbsp;designed&nbsp;to&nbsp;take&nbsp;away&nbsp;your<br>
-freedom&nbsp;to&nbsp;share&nbsp;and&nbsp;change&nbsp;it.&nbsp;&nbsp;By&nbsp;contrast,&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public<br>
-License&nbsp;is&nbsp;intended&nbsp;to&nbsp;guarantee&nbsp;your&nbsp;freedom&nbsp;to&nbsp;share&nbsp;and&nbsp;change&nbsp;free<br>
-software--to&nbsp;make&nbsp;sure&nbsp;the&nbsp;software&nbsp;is&nbsp;free&nbsp;for&nbsp;all&nbsp;its&nbsp;users.&nbsp;&nbsp;This<br>
-General&nbsp;Public&nbsp;License&nbsp;applies&nbsp;to&nbsp;most&nbsp;of&nbsp;the&nbsp;Free&nbsp;Software<br>
-Foundation's&nbsp;software&nbsp;and&nbsp;to&nbsp;any&nbsp;other&nbsp;program&nbsp;whose&nbsp;authors&nbsp;commit&nbsp;to<br>
-using&nbsp;it.&nbsp;&nbsp;(Some&nbsp;other&nbsp;Free&nbsp;Software&nbsp;Foundation&nbsp;software&nbsp;is&nbsp;covered&nbsp;by<br>
-the&nbsp;GNU&nbsp;Library&nbsp;General&nbsp;Public&nbsp;License&nbsp;instead.)&nbsp;&nbsp;You&nbsp;can&nbsp;apply&nbsp;it&nbsp;to<br>
-your&nbsp;programs,&nbsp;too.<br>
-<br>
-&nbsp;&nbsp;When&nbsp;we&nbsp;speak&nbsp;of&nbsp;free&nbsp;software,&nbsp;we&nbsp;are&nbsp;referring&nbsp;to&nbsp;freedom,&nbsp;not<br>
-price.&nbsp;&nbsp;Our&nbsp;General&nbsp;Public&nbsp;Licenses&nbsp;are&nbsp;designed&nbsp;to&nbsp;make&nbsp;sure&nbsp;that&nbsp;you<br>
-have&nbsp;the&nbsp;freedom&nbsp;to&nbsp;distribute&nbsp;copies&nbsp;of&nbsp;free&nbsp;software&nbsp;(and&nbsp;charge&nbsp;for<br>
-this&nbsp;service&nbsp;if&nbsp;you&nbsp;wish),&nbsp;that&nbsp;you&nbsp;receive&nbsp;source&nbsp;code&nbsp;or&nbsp;can&nbsp;get&nbsp;it<br>
-if&nbsp;you&nbsp;want&nbsp;it,&nbsp;that&nbsp;you&nbsp;can&nbsp;change&nbsp;the&nbsp;software&nbsp;or&nbsp;use&nbsp;pieces&nbsp;of&nbsp;it<br>
-in&nbsp;new&nbsp;free&nbsp;programs;&nbsp;and&nbsp;that&nbsp;you&nbsp;know&nbsp;you&nbsp;can&nbsp;do&nbsp;these&nbsp;things.<br>
-<br>
-&nbsp;&nbsp;To&nbsp;protect&nbsp;your&nbsp;rights,&nbsp;we&nbsp;need&nbsp;to&nbsp;make&nbsp;restrictions&nbsp;that&nbsp;forbid<br>
-anyone&nbsp;to&nbsp;deny&nbsp;you&nbsp;these&nbsp;rights&nbsp;or&nbsp;to&nbsp;ask&nbsp;you&nbsp;to&nbsp;surrender&nbsp;the&nbsp;rights.<br>
-These&nbsp;restrictions&nbsp;translate&nbsp;to&nbsp;certain&nbsp;responsibilities&nbsp;for&nbsp;you&nbsp;if&nbsp;you<br>
-distribute&nbsp;copies&nbsp;of&nbsp;the&nbsp;software,&nbsp;or&nbsp;if&nbsp;you&nbsp;modify&nbsp;it.<br>
-<br>
-&nbsp;&nbsp;For&nbsp;example,&nbsp;if&nbsp;you&nbsp;distribute&nbsp;copies&nbsp;of&nbsp;such&nbsp;a&nbsp;program,&nbsp;whether<br>
-gratis&nbsp;or&nbsp;for&nbsp;a&nbsp;fee,&nbsp;you&nbsp;must&nbsp;give&nbsp;the&nbsp;recipients&nbsp;all&nbsp;the&nbsp;rights&nbsp;that<br>
-you&nbsp;have.&nbsp;&nbsp;You&nbsp;must&nbsp;make&nbsp;sure&nbsp;that&nbsp;they,&nbsp;too,&nbsp;receive&nbsp;or&nbsp;can&nbsp;get&nbsp;the<br>
-source&nbsp;code.&nbsp;&nbsp;And&nbsp;you&nbsp;must&nbsp;show&nbsp;them&nbsp;these&nbsp;terms&nbsp;so&nbsp;they&nbsp;know&nbsp;their<br>
-rights.<br>
-<br>
-&nbsp;&nbsp;We&nbsp;protect&nbsp;your&nbsp;rights&nbsp;with&nbsp;two&nbsp;steps:&nbsp;(1)&nbsp;copyright&nbsp;the&nbsp;software,&nbsp;and<br>
-(2)&nbsp;offer&nbsp;you&nbsp;this&nbsp;license&nbsp;which&nbsp;gives&nbsp;you&nbsp;legal&nbsp;permission&nbsp;to&nbsp;copy,<br>
-distribute&nbsp;and/or&nbsp;modify&nbsp;the&nbsp;software.<br>
-<br>
-&nbsp;&nbsp;Also,&nbsp;for&nbsp;each&nbsp;author's&nbsp;protection&nbsp;and&nbsp;ours,&nbsp;we&nbsp;want&nbsp;to&nbsp;make&nbsp;certain<br>
-that&nbsp;everyone&nbsp;understands&nbsp;that&nbsp;there&nbsp;is&nbsp;no&nbsp;warranty&nbsp;for&nbsp;this&nbsp;free<br>
-software.&nbsp;&nbsp;If&nbsp;the&nbsp;software&nbsp;is&nbsp;modified&nbsp;by&nbsp;someone&nbsp;else&nbsp;and&nbsp;passed&nbsp;on,&nbsp;we<br>
-want&nbsp;its&nbsp;recipients&nbsp;to&nbsp;know&nbsp;that&nbsp;what&nbsp;they&nbsp;have&nbsp;is&nbsp;not&nbsp;the&nbsp;original,&nbsp;so<br>
-that&nbsp;any&nbsp;problems&nbsp;introduced&nbsp;by&nbsp;others&nbsp;will&nbsp;not&nbsp;reflect&nbsp;on&nbsp;the&nbsp;original<br>
-authors'&nbsp;reputations.<br>
-<br>
-&nbsp;&nbsp;Finally,&nbsp;any&nbsp;free&nbsp;program&nbsp;is&nbsp;threatened&nbsp;constantly&nbsp;by&nbsp;software<br>
-patents.&nbsp;&nbsp;We&nbsp;wish&nbsp;to&nbsp;avoid&nbsp;the&nbsp;danger&nbsp;that&nbsp;redistributors&nbsp;of&nbsp;a&nbsp;free<br>
-program&nbsp;will&nbsp;individually&nbsp;obtain&nbsp;patent&nbsp;licenses,&nbsp;in&nbsp;effect&nbsp;making&nbsp;the<br>
-program&nbsp;proprietary.&nbsp;&nbsp;To&nbsp;prevent&nbsp;this,&nbsp;we&nbsp;have&nbsp;made&nbsp;it&nbsp;clear&nbsp;that&nbsp;any<br>
-patent&nbsp;must&nbsp;be&nbsp;licensed&nbsp;for&nbsp;everyone's&nbsp;free&nbsp;use&nbsp;or&nbsp;not&nbsp;licensed&nbsp;at&nbsp;all.<br>
-<br>
-&nbsp;&nbsp;The&nbsp;precise&nbsp;terms&nbsp;and&nbsp;conditions&nbsp;for&nbsp;copying,&nbsp;distribution&nbsp;and<br>
-modification&nbsp;follow.<br>
-<br>
-               &nbsp;&nbsp;&nbsp;&nbsp;GNU&nbsp;GENERAL&nbsp;PUBLIC&nbsp;LICENSE<br>
-&nbsp;&nbsp;&nbsp;TERMS&nbsp;AND&nbsp;CONDITIONS&nbsp;FOR&nbsp;COPYING,&nbsp;DISTRIBUTION&nbsp;AND&nbsp;MODIFICATION<br>
-<br>
-&nbsp;&nbsp;0.&nbsp;This&nbsp;License&nbsp;applies&nbsp;to&nbsp;any&nbsp;program&nbsp;or&nbsp;other&nbsp;work&nbsp;which&nbsp;contains<br>
-a&nbsp;notice&nbsp;placed&nbsp;by&nbsp;the&nbsp;copyright&nbsp;holder&nbsp;saying&nbsp;it&nbsp;may&nbsp;be&nbsp;distributed<br>
-under&nbsp;the&nbsp;terms&nbsp;of&nbsp;this&nbsp;General&nbsp;Public&nbsp;License.&nbsp;&nbsp;The&nbsp;"Program",&nbsp;below,<br>
-refers&nbsp;to&nbsp;any&nbsp;such&nbsp;program&nbsp;or&nbsp;work,&nbsp;and&nbsp;a&nbsp;"work&nbsp;based&nbsp;on&nbsp;the&nbsp;Program"<br>
-means&nbsp;either&nbsp;the&nbsp;Program&nbsp;or&nbsp;any&nbsp;derivative&nbsp;work&nbsp;under&nbsp;copyright&nbsp;law:<br>
-that&nbsp;is&nbsp;to&nbsp;say,&nbsp;a&nbsp;work&nbsp;containing&nbsp;the&nbsp;Program&nbsp;or&nbsp;a&nbsp;portion&nbsp;of&nbsp;it,<br>
-either&nbsp;verbatim&nbsp;or&nbsp;with&nbsp;modifications&nbsp;and/or&nbsp;translated&nbsp;into&nbsp;another<br>
-language.&nbsp;&nbsp;(Hereinafter,&nbsp;translation&nbsp;is&nbsp;included&nbsp;without&nbsp;limitation&nbsp;in<br>
-the&nbsp;term&nbsp;"modification".)&nbsp;&nbsp;Each&nbsp;licensee&nbsp;is&nbsp;addressed&nbsp;as&nbsp;"you".<br>
-<br>
-Activities&nbsp;other&nbsp;than&nbsp;copying,&nbsp;distribution&nbsp;and&nbsp;modification&nbsp;are&nbsp;not<br>
-covered&nbsp;by&nbsp;this&nbsp;License;&nbsp;they&nbsp;are&nbsp;outside&nbsp;its&nbsp;scope.&nbsp;&nbsp;The&nbsp;act&nbsp;of<br>
-running&nbsp;the&nbsp;Program&nbsp;is&nbsp;not&nbsp;restricted,&nbsp;and&nbsp;the&nbsp;output&nbsp;from&nbsp;the&nbsp;Program<br>
-is&nbsp;covered&nbsp;only&nbsp;if&nbsp;its&nbsp;contents&nbsp;constitute&nbsp;a&nbsp;work&nbsp;based&nbsp;on&nbsp;the<br>
-Program&nbsp;(independent&nbsp;of&nbsp;having&nbsp;been&nbsp;made&nbsp;by&nbsp;running&nbsp;the&nbsp;Program).<br>
-Whether&nbsp;that&nbsp;is&nbsp;true&nbsp;depends&nbsp;on&nbsp;what&nbsp;the&nbsp;Program&nbsp;does.<br>
-<br>
-&nbsp;&nbsp;1.&nbsp;You&nbsp;may&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;verbatim&nbsp;copies&nbsp;of&nbsp;the&nbsp;Program's<br>
-source&nbsp;code&nbsp;as&nbsp;you&nbsp;receive&nbsp;it,&nbsp;in&nbsp;any&nbsp;medium,&nbsp;provided&nbsp;that&nbsp;you<br>
-conspicuously&nbsp;and&nbsp;appropriately&nbsp;publish&nbsp;on&nbsp;each&nbsp;copy&nbsp;an&nbsp;appropriate<br>
-copyright&nbsp;notice&nbsp;and&nbsp;disclaimer&nbsp;of&nbsp;warranty;&nbsp;keep&nbsp;intact&nbsp;all&nbsp;the<br>
-notices&nbsp;that&nbsp;refer&nbsp;to&nbsp;this&nbsp;License&nbsp;and&nbsp;to&nbsp;the&nbsp;absence&nbsp;of&nbsp;any&nbsp;warranty;<br>
-and&nbsp;give&nbsp;any&nbsp;other&nbsp;recipients&nbsp;of&nbsp;the&nbsp;Program&nbsp;a&nbsp;copy&nbsp;of&nbsp;this&nbsp;License<br>
-along&nbsp;with&nbsp;the&nbsp;Program.<br>
-<br>
-You&nbsp;may&nbsp;charge&nbsp;a&nbsp;fee&nbsp;for&nbsp;the&nbsp;physical&nbsp;act&nbsp;of&nbsp;transferring&nbsp;a&nbsp;copy,&nbsp;and<br>
-you&nbsp;may&nbsp;at&nbsp;your&nbsp;option&nbsp;offer&nbsp;warranty&nbsp;protection&nbsp;in&nbsp;exchange&nbsp;for&nbsp;a&nbsp;fee.<br>
-<br>
-&nbsp;&nbsp;2.&nbsp;You&nbsp;may&nbsp;modify&nbsp;your&nbsp;copy&nbsp;or&nbsp;copies&nbsp;of&nbsp;the&nbsp;Program&nbsp;or&nbsp;any&nbsp;portion<br>
-of&nbsp;it,&nbsp;thus&nbsp;forming&nbsp;a&nbsp;work&nbsp;based&nbsp;on&nbsp;the&nbsp;Program,&nbsp;and&nbsp;copy&nbsp;and<br>
-distribute&nbsp;such&nbsp;modifications&nbsp;or&nbsp;work&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;Section&nbsp;1<br>
-above,&nbsp;provided&nbsp;that&nbsp;you&nbsp;also&nbsp;meet&nbsp;all&nbsp;of&nbsp;these&nbsp;conditions:<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;a)&nbsp;You&nbsp;must&nbsp;cause&nbsp;the&nbsp;modified&nbsp;files&nbsp;to&nbsp;carry&nbsp;prominent&nbsp;notices<br>
-&nbsp;&nbsp;&nbsp;&nbsp;stating&nbsp;that&nbsp;you&nbsp;changed&nbsp;the&nbsp;files&nbsp;and&nbsp;the&nbsp;date&nbsp;of&nbsp;any&nbsp;change.<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;b)&nbsp;You&nbsp;must&nbsp;cause&nbsp;any&nbsp;work&nbsp;that&nbsp;you&nbsp;distribute&nbsp;or&nbsp;publish,&nbsp;that&nbsp;in<br>
-&nbsp;&nbsp;&nbsp;&nbsp;whole&nbsp;or&nbsp;in&nbsp;part&nbsp;contains&nbsp;or&nbsp;is&nbsp;derived&nbsp;from&nbsp;the&nbsp;Program&nbsp;or&nbsp;any<br>
-&nbsp;&nbsp;&nbsp;&nbsp;part&nbsp;thereof,&nbsp;to&nbsp;be&nbsp;licensed&nbsp;as&nbsp;a&nbsp;whole&nbsp;at&nbsp;no&nbsp;charge&nbsp;to&nbsp;all&nbsp;third<br>
-&nbsp;&nbsp;&nbsp;&nbsp;parties&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;this&nbsp;License.<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;c)&nbsp;If&nbsp;the&nbsp;modified&nbsp;program&nbsp;normally&nbsp;reads&nbsp;commands&nbsp;interactively<br>
-&nbsp;&nbsp;&nbsp;&nbsp;when&nbsp;run,&nbsp;you&nbsp;must&nbsp;cause&nbsp;it,&nbsp;when&nbsp;started&nbsp;running&nbsp;for&nbsp;such<br>
-&nbsp;&nbsp;&nbsp;&nbsp;interactive&nbsp;use&nbsp;in&nbsp;the&nbsp;most&nbsp;ordinary&nbsp;way,&nbsp;to&nbsp;print&nbsp;or&nbsp;display&nbsp;an<br>
-&nbsp;&nbsp;&nbsp;&nbsp;announcement&nbsp;including&nbsp;an&nbsp;appropriate&nbsp;copyright&nbsp;notice&nbsp;and&nbsp;a<br>
-&nbsp;&nbsp;&nbsp;&nbsp;notice&nbsp;that&nbsp;there&nbsp;is&nbsp;no&nbsp;warranty&nbsp;(or&nbsp;else,&nbsp;saying&nbsp;that&nbsp;you&nbsp;provide<br>
-&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;warranty)&nbsp;and&nbsp;that&nbsp;users&nbsp;may&nbsp;redistribute&nbsp;the&nbsp;program&nbsp;under<br>
-&nbsp;&nbsp;&nbsp;&nbsp;these&nbsp;conditions,&nbsp;and&nbsp;telling&nbsp;the&nbsp;user&nbsp;how&nbsp;to&nbsp;view&nbsp;a&nbsp;copy&nbsp;of&nbsp;this<br>
-&nbsp;&nbsp;&nbsp;&nbsp;License.&nbsp;&nbsp;(Exception:&nbsp;if&nbsp;the&nbsp;Program&nbsp;itself&nbsp;is&nbsp;interactive&nbsp;but<br>
-&nbsp;&nbsp;&nbsp;&nbsp;does&nbsp;not&nbsp;normally&nbsp;print&nbsp;such&nbsp;an&nbsp;announcement,&nbsp;your&nbsp;work&nbsp;based&nbsp;on<br>
-&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Program&nbsp;is&nbsp;not&nbsp;required&nbsp;to&nbsp;print&nbsp;an&nbsp;announcement.)<br>
-<br>
-These&nbsp;requirements&nbsp;apply&nbsp;to&nbsp;the&nbsp;modified&nbsp;work&nbsp;as&nbsp;a&nbsp;whole.&nbsp;&nbsp;If<br>
-identifiable&nbsp;sections&nbsp;of&nbsp;that&nbsp;work&nbsp;are&nbsp;not&nbsp;derived&nbsp;from&nbsp;the&nbsp;Program,<br>
-and&nbsp;can&nbsp;be&nbsp;reasonably&nbsp;considered&nbsp;independent&nbsp;and&nbsp;separate&nbsp;works&nbsp;in<br>
-themselves,&nbsp;then&nbsp;this&nbsp;License,&nbsp;and&nbsp;its&nbsp;terms,&nbsp;do&nbsp;not&nbsp;apply&nbsp;to&nbsp;those<br>
-sections&nbsp;when&nbsp;you&nbsp;distribute&nbsp;them&nbsp;as&nbsp;separate&nbsp;works.&nbsp;&nbsp;But&nbsp;when&nbsp;you<br>
-distribute&nbsp;the&nbsp;same&nbsp;sections&nbsp;as&nbsp;part&nbsp;of&nbsp;a&nbsp;whole&nbsp;which&nbsp;is&nbsp;a&nbsp;work&nbsp;based<br>
-on&nbsp;the&nbsp;Program,&nbsp;the&nbsp;distribution&nbsp;of&nbsp;the&nbsp;whole&nbsp;must&nbsp;be&nbsp;on&nbsp;the&nbsp;terms&nbsp;of<br>
-this&nbsp;License,&nbsp;whose&nbsp;permissions&nbsp;for&nbsp;other&nbsp;licensees&nbsp;extend&nbsp;to&nbsp;the<br>
-entire&nbsp;whole,&nbsp;and&nbsp;thus&nbsp;to&nbsp;each&nbsp;and&nbsp;every&nbsp;part&nbsp;regardless&nbsp;of&nbsp;who&nbsp;wrote&nbsp;it.<br>
-<br>
-Thus,&nbsp;it&nbsp;is&nbsp;not&nbsp;the&nbsp;intent&nbsp;of&nbsp;this&nbsp;section&nbsp;to&nbsp;claim&nbsp;rights&nbsp;or&nbsp;contest<br>
-your&nbsp;rights&nbsp;to&nbsp;work&nbsp;written&nbsp;entirely&nbsp;by&nbsp;you;&nbsp;rather,&nbsp;the&nbsp;intent&nbsp;is&nbsp;to<br>
-exercise&nbsp;the&nbsp;right&nbsp;to&nbsp;control&nbsp;the&nbsp;distribution&nbsp;of&nbsp;derivative&nbsp;or<br>
-collective&nbsp;works&nbsp;based&nbsp;on&nbsp;the&nbsp;Program.<br>
-<br>
-In&nbsp;addition,&nbsp;mere&nbsp;aggregation&nbsp;of&nbsp;another&nbsp;work&nbsp;not&nbsp;based&nbsp;on&nbsp;the&nbsp;Program<br>
-with&nbsp;the&nbsp;Program&nbsp;(or&nbsp;with&nbsp;a&nbsp;work&nbsp;based&nbsp;on&nbsp;the&nbsp;Program)&nbsp;on&nbsp;a&nbsp;volume&nbsp;of<br>
-a&nbsp;storage&nbsp;or&nbsp;distribution&nbsp;medium&nbsp;does&nbsp;not&nbsp;bring&nbsp;the&nbsp;other&nbsp;work&nbsp;under<br>
-the&nbsp;scope&nbsp;of&nbsp;this&nbsp;License.<br>
-<br>
-&nbsp;&nbsp;3.&nbsp;You&nbsp;may&nbsp;copy&nbsp;and&nbsp;distribute&nbsp;the&nbsp;Program&nbsp;(or&nbsp;a&nbsp;work&nbsp;based&nbsp;on&nbsp;it,<br>
-under&nbsp;Section&nbsp;2)&nbsp;in&nbsp;object&nbsp;code&nbsp;or&nbsp;executable&nbsp;form&nbsp;under&nbsp;the&nbsp;terms&nbsp;of<br>
-Sections&nbsp;1&nbsp;and&nbsp;2&nbsp;above&nbsp;provided&nbsp;that&nbsp;you&nbsp;also&nbsp;do&nbsp;one&nbsp;of&nbsp;the&nbsp;following:<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;a)&nbsp;Accompany&nbsp;it&nbsp;with&nbsp;the&nbsp;complete&nbsp;corresponding&nbsp;machine-readable<br>
-&nbsp;&nbsp;&nbsp;&nbsp;source&nbsp;code,&nbsp;which&nbsp;must&nbsp;be&nbsp;distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;Sections<br>
-&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;and&nbsp;2&nbsp;above&nbsp;on&nbsp;a&nbsp;medium&nbsp;customarily&nbsp;used&nbsp;for&nbsp;software&nbsp;interchange;&nbsp;or,<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;b)&nbsp;Accompany&nbsp;it&nbsp;with&nbsp;a&nbsp;written&nbsp;offer,&nbsp;valid&nbsp;for&nbsp;at&nbsp;least&nbsp;three<br>
-&nbsp;&nbsp;&nbsp;&nbsp;years,&nbsp;to&nbsp;give&nbsp;any&nbsp;third&nbsp;party,&nbsp;for&nbsp;a&nbsp;charge&nbsp;no&nbsp;more&nbsp;than&nbsp;your<br>
-&nbsp;&nbsp;&nbsp;&nbsp;cost&nbsp;of&nbsp;physically&nbsp;performing&nbsp;source&nbsp;distribution,&nbsp;a&nbsp;complete<br>
-&nbsp;&nbsp;&nbsp;&nbsp;machine-readable&nbsp;copy&nbsp;of&nbsp;the&nbsp;corresponding&nbsp;source&nbsp;code,&nbsp;to&nbsp;be<br>
-&nbsp;&nbsp;&nbsp;&nbsp;distributed&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;Sections&nbsp;1&nbsp;and&nbsp;2&nbsp;above&nbsp;on&nbsp;a&nbsp;medium<br>
-&nbsp;&nbsp;&nbsp;&nbsp;customarily&nbsp;used&nbsp;for&nbsp;software&nbsp;interchange;&nbsp;or,<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;c)&nbsp;Accompany&nbsp;it&nbsp;with&nbsp;the&nbsp;information&nbsp;you&nbsp;received&nbsp;as&nbsp;to&nbsp;the&nbsp;offer<br>
-&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;distribute&nbsp;corresponding&nbsp;source&nbsp;code.&nbsp;&nbsp;(This&nbsp;alternative&nbsp;is<br>
-&nbsp;&nbsp;&nbsp;&nbsp;allowed&nbsp;only&nbsp;for&nbsp;noncommercial&nbsp;distribution&nbsp;and&nbsp;only&nbsp;if&nbsp;you<br>
-&nbsp;&nbsp;&nbsp;&nbsp;received&nbsp;the&nbsp;program&nbsp;in&nbsp;object&nbsp;code&nbsp;or&nbsp;executable&nbsp;form&nbsp;with&nbsp;such<br>
-&nbsp;&nbsp;&nbsp;&nbsp;an&nbsp;offer,&nbsp;in&nbsp;accord&nbsp;with&nbsp;Subsection&nbsp;b&nbsp;above.)<br>
-<br>
-The&nbsp;source&nbsp;code&nbsp;for&nbsp;a&nbsp;work&nbsp;means&nbsp;the&nbsp;preferred&nbsp;form&nbsp;of&nbsp;the&nbsp;work&nbsp;for<br>
-making&nbsp;modifications&nbsp;to&nbsp;it.&nbsp;&nbsp;For&nbsp;an&nbsp;executable&nbsp;work,&nbsp;complete&nbsp;source<br>
-code&nbsp;means&nbsp;all&nbsp;the&nbsp;source&nbsp;code&nbsp;for&nbsp;all&nbsp;modules&nbsp;it&nbsp;contains,&nbsp;plus&nbsp;any<br>
-associated&nbsp;interface&nbsp;definition&nbsp;files,&nbsp;plus&nbsp;the&nbsp;scripts&nbsp;used&nbsp;to<br>
-control&nbsp;compilation&nbsp;and&nbsp;installation&nbsp;of&nbsp;the&nbsp;executable.&nbsp;&nbsp;However,&nbsp;as&nbsp;a<br>
-special&nbsp;exception,&nbsp;the&nbsp;source&nbsp;code&nbsp;distributed&nbsp;need&nbsp;not&nbsp;include<br>
-anything&nbsp;that&nbsp;is&nbsp;normally&nbsp;distributed&nbsp;(in&nbsp;either&nbsp;source&nbsp;or&nbsp;binary<br>
-form)&nbsp;with&nbsp;the&nbsp;major&nbsp;components&nbsp;(compiler,&nbsp;kernel,&nbsp;and&nbsp;so&nbsp;on)&nbsp;of&nbsp;the<br>
-operating&nbsp;system&nbsp;on&nbsp;which&nbsp;the&nbsp;executable&nbsp;runs,&nbsp;unless&nbsp;that&nbsp;component<br>
-itself&nbsp;accompanies&nbsp;the&nbsp;executable.<br>
-<br>
-If&nbsp;distribution&nbsp;of&nbsp;executable&nbsp;or&nbsp;object&nbsp;code&nbsp;is&nbsp;made&nbsp;by&nbsp;offering<br>
-access&nbsp;to&nbsp;copy&nbsp;from&nbsp;a&nbsp;designated&nbsp;place,&nbsp;then&nbsp;offering&nbsp;equivalent<br>
-access&nbsp;to&nbsp;copy&nbsp;the&nbsp;source&nbsp;code&nbsp;from&nbsp;the&nbsp;same&nbsp;place&nbsp;counts&nbsp;as<br>
-distribution&nbsp;of&nbsp;the&nbsp;source&nbsp;code,&nbsp;even&nbsp;though&nbsp;third&nbsp;parties&nbsp;are&nbsp;not<br>
-compelled&nbsp;to&nbsp;copy&nbsp;the&nbsp;source&nbsp;along&nbsp;with&nbsp;the&nbsp;object&nbsp;code.<br>
-<br>
-&nbsp;&nbsp;4.&nbsp;You&nbsp;may&nbsp;not&nbsp;copy,&nbsp;modify,&nbsp;sublicense,&nbsp;or&nbsp;distribute&nbsp;the&nbsp;Program<br>
-except&nbsp;as&nbsp;expressly&nbsp;provided&nbsp;under&nbsp;this&nbsp;License.&nbsp;&nbsp;Any&nbsp;attempt<br>
-otherwise&nbsp;to&nbsp;copy,&nbsp;modify,&nbsp;sublicense&nbsp;or&nbsp;distribute&nbsp;the&nbsp;Program&nbsp;is<br>
-void,&nbsp;and&nbsp;will&nbsp;automatically&nbsp;terminate&nbsp;your&nbsp;rights&nbsp;under&nbsp;this&nbsp;License.<br>
-However,&nbsp;parties&nbsp;who&nbsp;have&nbsp;received&nbsp;copies,&nbsp;or&nbsp;rights,&nbsp;from&nbsp;you&nbsp;under<br>
-this&nbsp;License&nbsp;will&nbsp;not&nbsp;have&nbsp;their&nbsp;licenses&nbsp;terminated&nbsp;so&nbsp;long&nbsp;as&nbsp;such<br>
-parties&nbsp;remain&nbsp;in&nbsp;full&nbsp;compliance.<br>
-<br>
-&nbsp;&nbsp;5.&nbsp;You&nbsp;are&nbsp;not&nbsp;required&nbsp;to&nbsp;accept&nbsp;this&nbsp;License,&nbsp;since&nbsp;you&nbsp;have&nbsp;not<br>
-signed&nbsp;it.&nbsp;&nbsp;However,&nbsp;nothing&nbsp;else&nbsp;grants&nbsp;you&nbsp;permission&nbsp;to&nbsp;modify&nbsp;or<br>
-distribute&nbsp;the&nbsp;Program&nbsp;or&nbsp;its&nbsp;derivative&nbsp;works.&nbsp;&nbsp;These&nbsp;actions&nbsp;are<br>
-prohibited&nbsp;by&nbsp;law&nbsp;if&nbsp;you&nbsp;do&nbsp;not&nbsp;accept&nbsp;this&nbsp;License.&nbsp;&nbsp;Therefore,&nbsp;by<br>
-modifying&nbsp;or&nbsp;distributing&nbsp;the&nbsp;Program&nbsp;(or&nbsp;any&nbsp;work&nbsp;based&nbsp;on&nbsp;the<br>
-Program),&nbsp;you&nbsp;indicate&nbsp;your&nbsp;acceptance&nbsp;of&nbsp;this&nbsp;License&nbsp;to&nbsp;do&nbsp;so,&nbsp;and<br>
-all&nbsp;its&nbsp;terms&nbsp;and&nbsp;conditions&nbsp;for&nbsp;copying,&nbsp;distributing&nbsp;or&nbsp;modifying<br>
-the&nbsp;Program&nbsp;or&nbsp;works&nbsp;based&nbsp;on&nbsp;it.<br>
-<br>
-&nbsp;&nbsp;6.&nbsp;Each&nbsp;time&nbsp;you&nbsp;redistribute&nbsp;the&nbsp;Program&nbsp;(or&nbsp;any&nbsp;work&nbsp;based&nbsp;on&nbsp;the<br>
-Program),&nbsp;the&nbsp;recipient&nbsp;automatically&nbsp;receives&nbsp;a&nbsp;license&nbsp;from&nbsp;the<br>
-original&nbsp;licensor&nbsp;to&nbsp;copy,&nbsp;distribute&nbsp;or&nbsp;modify&nbsp;the&nbsp;Program&nbsp;subject&nbsp;to<br>
-these&nbsp;terms&nbsp;and&nbsp;conditions.&nbsp;&nbsp;You&nbsp;may&nbsp;not&nbsp;impose&nbsp;any&nbsp;further<br>
-restrictions&nbsp;on&nbsp;the&nbsp;recipients'&nbsp;exercise&nbsp;of&nbsp;the&nbsp;rights&nbsp;granted&nbsp;herein.<br>
-You&nbsp;are&nbsp;not&nbsp;responsible&nbsp;for&nbsp;enforcing&nbsp;compliance&nbsp;by&nbsp;third&nbsp;parties&nbsp;to<br>
-this&nbsp;License.<br>
-<br>
-&nbsp;&nbsp;7.&nbsp;If,&nbsp;as&nbsp;a&nbsp;consequence&nbsp;of&nbsp;a&nbsp;court&nbsp;judgment&nbsp;or&nbsp;allegation&nbsp;of&nbsp;patent<br>
-infringement&nbsp;or&nbsp;for&nbsp;any&nbsp;other&nbsp;reason&nbsp;(not&nbsp;limited&nbsp;to&nbsp;patent&nbsp;issues),<br>
-conditions&nbsp;are&nbsp;imposed&nbsp;on&nbsp;you&nbsp;(whether&nbsp;by&nbsp;court&nbsp;order,&nbsp;agreement&nbsp;or<br>
-otherwise)&nbsp;that&nbsp;contradict&nbsp;the&nbsp;conditions&nbsp;of&nbsp;this&nbsp;License,&nbsp;they&nbsp;do&nbsp;not<br>
-excuse&nbsp;you&nbsp;from&nbsp;the&nbsp;conditions&nbsp;of&nbsp;this&nbsp;License.&nbsp;&nbsp;If&nbsp;you&nbsp;cannot<br>
-distribute&nbsp;so&nbsp;as&nbsp;to&nbsp;satisfy&nbsp;simultaneously&nbsp;your&nbsp;obligations&nbsp;under&nbsp;this<br>
-License&nbsp;and&nbsp;any&nbsp;other&nbsp;pertinent&nbsp;obligations,&nbsp;then&nbsp;as&nbsp;a&nbsp;consequence&nbsp;you<br>
-may&nbsp;not&nbsp;distribute&nbsp;the&nbsp;Program&nbsp;at&nbsp;all.&nbsp;&nbsp;For&nbsp;example,&nbsp;if&nbsp;a&nbsp;patent<br>
-license&nbsp;would&nbsp;not&nbsp;permit&nbsp;royalty-free&nbsp;redistribution&nbsp;of&nbsp;the&nbsp;Program&nbsp;by<br>
-all&nbsp;those&nbsp;who&nbsp;receive&nbsp;copies&nbsp;directly&nbsp;or&nbsp;indirectly&nbsp;through&nbsp;you,&nbsp;then<br>
-the&nbsp;only&nbsp;way&nbsp;you&nbsp;could&nbsp;satisfy&nbsp;both&nbsp;it&nbsp;and&nbsp;this&nbsp;License&nbsp;would&nbsp;be&nbsp;to<br>
-refrain&nbsp;entirely&nbsp;from&nbsp;distribution&nbsp;of&nbsp;the&nbsp;Program.<br>
-<br>
-If&nbsp;any&nbsp;portion&nbsp;of&nbsp;this&nbsp;section&nbsp;is&nbsp;held&nbsp;invalid&nbsp;or&nbsp;unenforceable&nbsp;under<br>
-any&nbsp;particular&nbsp;circumstance,&nbsp;the&nbsp;balance&nbsp;of&nbsp;the&nbsp;section&nbsp;is&nbsp;intended&nbsp;to<br>
-apply&nbsp;and&nbsp;the&nbsp;section&nbsp;as&nbsp;a&nbsp;whole&nbsp;is&nbsp;intended&nbsp;to&nbsp;apply&nbsp;in&nbsp;other<br>
-circumstances.<br>
-<br>
-It&nbsp;is&nbsp;not&nbsp;the&nbsp;purpose&nbsp;of&nbsp;this&nbsp;section&nbsp;to&nbsp;induce&nbsp;you&nbsp;to&nbsp;infringe&nbsp;any<br>
-patents&nbsp;or&nbsp;other&nbsp;property&nbsp;right&nbsp;claims&nbsp;or&nbsp;to&nbsp;contest&nbsp;validity&nbsp;of&nbsp;any<br>
-such&nbsp;claims;&nbsp;this&nbsp;section&nbsp;has&nbsp;the&nbsp;sole&nbsp;purpose&nbsp;of&nbsp;protecting&nbsp;the<br>
-integrity&nbsp;of&nbsp;the&nbsp;free&nbsp;software&nbsp;distribution&nbsp;system,&nbsp;which&nbsp;is<br>
-implemented&nbsp;by&nbsp;public&nbsp;license&nbsp;practices.&nbsp;&nbsp;Many&nbsp;people&nbsp;have&nbsp;made<br>
-generous&nbsp;contributions&nbsp;to&nbsp;the&nbsp;wide&nbsp;range&nbsp;of&nbsp;software&nbsp;distributed<br>
-through&nbsp;that&nbsp;system&nbsp;in&nbsp;reliance&nbsp;on&nbsp;consistent&nbsp;application&nbsp;of&nbsp;that<br>
-system;&nbsp;it&nbsp;is&nbsp;up&nbsp;to&nbsp;the&nbsp;author/donor&nbsp;to&nbsp;decide&nbsp;if&nbsp;he&nbsp;or&nbsp;she&nbsp;is&nbsp;willing<br>
-to&nbsp;distribute&nbsp;software&nbsp;through&nbsp;any&nbsp;other&nbsp;system&nbsp;and&nbsp;a&nbsp;licensee&nbsp;cannot<br>
-impose&nbsp;that&nbsp;choice.<br>
-<br>
-This&nbsp;section&nbsp;is&nbsp;intended&nbsp;to&nbsp;make&nbsp;thoroughly&nbsp;clear&nbsp;what&nbsp;is&nbsp;believed&nbsp;to<br>
-be&nbsp;a&nbsp;consequence&nbsp;of&nbsp;the&nbsp;rest&nbsp;of&nbsp;this&nbsp;License.<br>
-<br>
-&nbsp;&nbsp;8.&nbsp;If&nbsp;the&nbsp;distribution&nbsp;and/or&nbsp;use&nbsp;of&nbsp;the&nbsp;Program&nbsp;is&nbsp;restricted&nbsp;in<br>
-certain&nbsp;countries&nbsp;either&nbsp;by&nbsp;patents&nbsp;or&nbsp;by&nbsp;copyrighted&nbsp;interfaces,&nbsp;the<br>
-original&nbsp;copyright&nbsp;holder&nbsp;who&nbsp;places&nbsp;the&nbsp;Program&nbsp;under&nbsp;this&nbsp;License<br>
-may&nbsp;add&nbsp;an&nbsp;explicit&nbsp;geographical&nbsp;distribution&nbsp;limitation&nbsp;excluding<br>
-those&nbsp;countries,&nbsp;so&nbsp;that&nbsp;distribution&nbsp;is&nbsp;permitted&nbsp;only&nbsp;in&nbsp;or&nbsp;among<br>
-countries&nbsp;not&nbsp;thus&nbsp;excluded.&nbsp;&nbsp;In&nbsp;such&nbsp;case,&nbsp;this&nbsp;License&nbsp;incorporates<br>
-the&nbsp;limitation&nbsp;as&nbsp;if&nbsp;written&nbsp;in&nbsp;the&nbsp;body&nbsp;of&nbsp;this&nbsp;License.<br>
-<br>
-&nbsp;&nbsp;9.&nbsp;The&nbsp;Free&nbsp;Software&nbsp;Foundation&nbsp;may&nbsp;publish&nbsp;revised&nbsp;and/or&nbsp;new&nbsp;versions<br>
-of&nbsp;the&nbsp;General&nbsp;Public&nbsp;License&nbsp;from&nbsp;time&nbsp;to&nbsp;time.&nbsp;&nbsp;Such&nbsp;new&nbsp;versions&nbsp;will<br>
-be&nbsp;similar&nbsp;in&nbsp;spirit&nbsp;to&nbsp;the&nbsp;present&nbsp;version,&nbsp;but&nbsp;may&nbsp;differ&nbsp;in&nbsp;detail&nbsp;to<br>
-address&nbsp;new&nbsp;problems&nbsp;or&nbsp;concerns.<br>
-<br>
-Each&nbsp;version&nbsp;is&nbsp;given&nbsp;a&nbsp;distinguishing&nbsp;version&nbsp;number.&nbsp;&nbsp;If&nbsp;the&nbsp;Program<br>
-specifies&nbsp;a&nbsp;version&nbsp;number&nbsp;of&nbsp;this&nbsp;License&nbsp;which&nbsp;applies&nbsp;to&nbsp;it&nbsp;and&nbsp;"any<br>
-later&nbsp;version",&nbsp;you&nbsp;have&nbsp;the&nbsp;option&nbsp;of&nbsp;following&nbsp;the&nbsp;terms&nbsp;and&nbsp;conditions<br>
-either&nbsp;of&nbsp;that&nbsp;version&nbsp;or&nbsp;of&nbsp;any&nbsp;later&nbsp;version&nbsp;published&nbsp;by&nbsp;the&nbsp;Free<br>
-Software&nbsp;Foundation.&nbsp;&nbsp;If&nbsp;the&nbsp;Program&nbsp;does&nbsp;not&nbsp;specify&nbsp;a&nbsp;version&nbsp;number&nbsp;of<br>
-this&nbsp;License,&nbsp;you&nbsp;may&nbsp;choose&nbsp;any&nbsp;version&nbsp;ever&nbsp;published&nbsp;by&nbsp;the&nbsp;Free&nbsp;Software<br>
-Foundation.<br>
-<br>
-&nbsp;&nbsp;10.&nbsp;If&nbsp;you&nbsp;wish&nbsp;to&nbsp;incorporate&nbsp;parts&nbsp;of&nbsp;the&nbsp;Program&nbsp;into&nbsp;other&nbsp;free<br>
-programs&nbsp;whose&nbsp;distribution&nbsp;conditions&nbsp;are&nbsp;different,&nbsp;write&nbsp;to&nbsp;the&nbsp;author<br>
-to&nbsp;ask&nbsp;for&nbsp;permission.&nbsp;&nbsp;For&nbsp;software&nbsp;which&nbsp;is&nbsp;copyrighted&nbsp;by&nbsp;the&nbsp;Free<br>
-Software&nbsp;Foundation,&nbsp;write&nbsp;to&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation;&nbsp;we&nbsp;sometimes<br>
-make&nbsp;exceptions&nbsp;for&nbsp;this.&nbsp;&nbsp;Our&nbsp;decision&nbsp;will&nbsp;be&nbsp;guided&nbsp;by&nbsp;the&nbsp;two&nbsp;goals<br>
-of&nbsp;preserving&nbsp;the&nbsp;free&nbsp;status&nbsp;of&nbsp;all&nbsp;derivatives&nbsp;of&nbsp;our&nbsp;free&nbsp;software&nbsp;and<br>
-of&nbsp;promoting&nbsp;the&nbsp;sharing&nbsp;and&nbsp;reuse&nbsp;of&nbsp;software&nbsp;generally.<br>
-<br>
-                       &nbsp;&nbsp;&nbsp;&nbsp;NO&nbsp;WARRANTY<br>
-<br>
-&nbsp;&nbsp;11.&nbsp;BECAUSE&nbsp;THE&nbsp;PROGRAM&nbsp;IS&nbsp;LICENSED&nbsp;FREE&nbsp;OF&nbsp;CHARGE,&nbsp;THERE&nbsp;IS&nbsp;NO&nbsp;WARRANTY<br>
-FOR&nbsp;THE&nbsp;PROGRAM,&nbsp;TO&nbsp;THE&nbsp;EXTENT&nbsp;PERMITTED&nbsp;BY&nbsp;APPLICABLE&nbsp;LAW.&nbsp;&nbsp;EXCEPT&nbsp;WHEN<br>
-OTHERWISE&nbsp;STATED&nbsp;IN&nbsp;WRITING&nbsp;THE&nbsp;COPYRIGHT&nbsp;HOLDERS&nbsp;AND/OR&nbsp;OTHER&nbsp;PARTIES<br>
-PROVIDE&nbsp;THE&nbsp;PROGRAM&nbsp;"AS&nbsp;IS"&nbsp;WITHOUT&nbsp;WARRANTY&nbsp;OF&nbsp;ANY&nbsp;KIND,&nbsp;EITHER&nbsp;EXPRESSED<br>
-OR&nbsp;IMPLIED,&nbsp;INCLUDING,&nbsp;BUT&nbsp;NOT&nbsp;LIMITED&nbsp;TO,&nbsp;THE&nbsp;IMPLIED&nbsp;WARRANTIES&nbsp;OF<br>
-MERCHANTABILITY&nbsp;AND&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;THE&nbsp;ENTIRE&nbsp;RISK&nbsp;AS<br>
-TO&nbsp;THE&nbsp;QUALITY&nbsp;AND&nbsp;PERFORMANCE&nbsp;OF&nbsp;THE&nbsp;PROGRAM&nbsp;IS&nbsp;WITH&nbsp;YOU.&nbsp;&nbsp;SHOULD&nbsp;THE<br>
-PROGRAM&nbsp;PROVE&nbsp;DEFECTIVE,&nbsp;YOU&nbsp;ASSUME&nbsp;THE&nbsp;COST&nbsp;OF&nbsp;ALL&nbsp;NECESSARY&nbsp;SERVICING,<br>
-REPAIR&nbsp;OR&nbsp;CORRECTION.<br>
-<br>
-&nbsp;&nbsp;12.&nbsp;IN&nbsp;NO&nbsp;EVENT&nbsp;UNLESS&nbsp;REQUIRED&nbsp;BY&nbsp;APPLICABLE&nbsp;LAW&nbsp;OR&nbsp;AGREED&nbsp;TO&nbsp;IN&nbsp;WRITING<br>
-WILL&nbsp;ANY&nbsp;COPYRIGHT&nbsp;HOLDER,&nbsp;OR&nbsp;ANY&nbsp;OTHER&nbsp;PARTY&nbsp;WHO&nbsp;MAY&nbsp;MODIFY&nbsp;AND/OR<br>
-REDISTRIBUTE&nbsp;THE&nbsp;PROGRAM&nbsp;AS&nbsp;PERMITTED&nbsp;ABOVE,&nbsp;BE&nbsp;LIABLE&nbsp;TO&nbsp;YOU&nbsp;FOR&nbsp;DAMAGES,<br>
-INCLUDING&nbsp;ANY&nbsp;GENERAL,&nbsp;SPECIAL,&nbsp;INCIDENTAL&nbsp;OR&nbsp;CONSEQUENTIAL&nbsp;DAMAGES&nbsp;ARISING<br>
-OUT&nbsp;OF&nbsp;THE&nbsp;USE&nbsp;OR&nbsp;INABILITY&nbsp;TO&nbsp;USE&nbsp;THE&nbsp;PROGRAM&nbsp;(INCLUDING&nbsp;BUT&nbsp;NOT&nbsp;LIMITED<br>
-TO&nbsp;LOSS&nbsp;OF&nbsp;DATA&nbsp;OR&nbsp;DATA&nbsp;BEING&nbsp;RENDERED&nbsp;INACCURATE&nbsp;OR&nbsp;LOSSES&nbsp;SUSTAINED&nbsp;BY<br>
-YOU&nbsp;OR&nbsp;THIRD&nbsp;PARTIES&nbsp;OR&nbsp;A&nbsp;FAILURE&nbsp;OF&nbsp;THE&nbsp;PROGRAM&nbsp;TO&nbsp;OPERATE&nbsp;WITH&nbsp;ANY&nbsp;OTHER<br>
-PROGRAMS),&nbsp;EVEN&nbsp;IF&nbsp;SUCH&nbsp;HOLDER&nbsp;OR&nbsp;OTHER&nbsp;PARTY&nbsp;HAS&nbsp;BEEN&nbsp;ADVISED&nbsp;OF&nbsp;THE<br>
-POSSIBILITY&nbsp;OF&nbsp;SUCH&nbsp;DAMAGES.<br>
-<br>
-               &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;END&nbsp;OF&nbsp;TERMS&nbsp;AND&nbsp;CONDITIONS<br>
-<br>
-       &nbsp;&nbsp;&nbsp;&nbsp;How&nbsp;to&nbsp;Apply&nbsp;These&nbsp;Terms&nbsp;to&nbsp;Your&nbsp;New&nbsp;Programs<br>
-<br>
-&nbsp;&nbsp;If&nbsp;you&nbsp;develop&nbsp;a&nbsp;new&nbsp;program,&nbsp;and&nbsp;you&nbsp;want&nbsp;it&nbsp;to&nbsp;be&nbsp;of&nbsp;the&nbsp;greatest<br>
-possible&nbsp;use&nbsp;to&nbsp;the&nbsp;public,&nbsp;the&nbsp;best&nbsp;way&nbsp;to&nbsp;achieve&nbsp;this&nbsp;is&nbsp;to&nbsp;make&nbsp;it<br>
-free&nbsp;software&nbsp;which&nbsp;everyone&nbsp;can&nbsp;redistribute&nbsp;and&nbsp;change&nbsp;under&nbsp;these&nbsp;terms.<br>
-<br>
-&nbsp;&nbsp;To&nbsp;do&nbsp;so,&nbsp;attach&nbsp;the&nbsp;following&nbsp;notices&nbsp;to&nbsp;the&nbsp;program.&nbsp;&nbsp;It&nbsp;is&nbsp;safest<br>
-to&nbsp;attach&nbsp;them&nbsp;to&nbsp;the&nbsp;start&nbsp;of&nbsp;each&nbsp;source&nbsp;file&nbsp;to&nbsp;most&nbsp;effectively<br>
-convey&nbsp;the&nbsp;exclusion&nbsp;of&nbsp;warranty;&nbsp;and&nbsp;each&nbsp;file&nbsp;should&nbsp;have&nbsp;at&nbsp;least<br>
-the&nbsp;"copyright"&nbsp;line&nbsp;and&nbsp;a&nbsp;pointer&nbsp;to&nbsp;where&nbsp;the&nbsp;full&nbsp;notice&nbsp;is&nbsp;found.<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;&lt;one&nbsp;line&nbsp;to&nbsp;give&nbsp;the&nbsp;program's&nbsp;name&nbsp;and&nbsp;a&nbsp;brief&nbsp;idea&nbsp;of&nbsp;what&nbsp;it&nbsp;does.&#62;<br>
-&nbsp;&nbsp;&nbsp;&nbsp;Copyright&nbsp;(C)&nbsp;&lt;year&#62;&nbsp;&nbsp;&lt;name&nbsp;of&nbsp;author&#62;<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;program&nbsp;is&nbsp;free&nbsp;software;&nbsp;you&nbsp;can&nbsp;redistribute&nbsp;it&nbsp;and/or&nbsp;modify<br>
-&nbsp;&nbsp;&nbsp;&nbsp;it&nbsp;under&nbsp;the&nbsp;terms&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;as&nbsp;published&nbsp;by<br>
-&nbsp;&nbsp;&nbsp;&nbsp;the&nbsp;Free&nbsp;Software&nbsp;Foundation;&nbsp;either&nbsp;version&nbsp;2&nbsp;of&nbsp;the&nbsp;License,&nbsp;or<br>
-&nbsp;&nbsp;&nbsp;&nbsp;(at&nbsp;your&nbsp;option)&nbsp;any&nbsp;later&nbsp;version.<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;program&nbsp;is&nbsp;distributed&nbsp;in&nbsp;the&nbsp;hope&nbsp;that&nbsp;it&nbsp;will&nbsp;be&nbsp;useful,<br>
-&nbsp;&nbsp;&nbsp;&nbsp;but&nbsp;WITHOUT&nbsp;ANY&nbsp;WARRANTY;&nbsp;without&nbsp;even&nbsp;the&nbsp;implied&nbsp;warranty&nbsp;of<br>
-&nbsp;&nbsp;&nbsp;&nbsp;MERCHANTABILITY&nbsp;or&nbsp;FITNESS&nbsp;FOR&nbsp;A&nbsp;PARTICULAR&nbsp;PURPOSE.&nbsp;&nbsp;See&nbsp;the<br>
-&nbsp;&nbsp;&nbsp;&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License&nbsp;for&nbsp;more&nbsp;details.<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;You&nbsp;should&nbsp;have&nbsp;received&nbsp;a&nbsp;copy&nbsp;of&nbsp;the&nbsp;GNU&nbsp;General&nbsp;Public&nbsp;License<br>
-&nbsp;&nbsp;&nbsp;&nbsp;along&nbsp;with&nbsp;this&nbsp;program;&nbsp;if&nbsp;not,&nbsp;write&nbsp;to&nbsp;the&nbsp;Free&nbsp;Software<br>
-&nbsp;&nbsp;&nbsp;&nbsp;Foundation,&nbsp;Inc.,&nbsp;59&nbsp;Temple&nbsp;Place,&nbsp;Suite&nbsp;330,&nbsp;Boston,&nbsp;MA&nbsp;&nbsp;02111-1307&nbsp;&nbsp;USA<br>
-<br>
-<br>
-Also&nbsp;add&nbsp;information&nbsp;on&nbsp;how&nbsp;to&nbsp;contact&nbsp;you&nbsp;by&nbsp;electronic&nbsp;and&nbsp;paper&nbsp;mail.<br>
-<br>
-If&nbsp;the&nbsp;program&nbsp;is&nbsp;interactive,&nbsp;make&nbsp;it&nbsp;output&nbsp;a&nbsp;short&nbsp;notice&nbsp;like&nbsp;this<br>
-when&nbsp;it&nbsp;starts&nbsp;in&nbsp;an&nbsp;interactive&nbsp;mode:<br>
-<br>
-&nbsp;&nbsp;&nbsp;&nbsp;Gnomovision&nbsp;version&nbsp;69,&nbsp;Copyright&nbsp;(C)&nbsp;year&nbsp;&nbsp;name&nbsp;of&nbsp;author<br>
-&nbsp;&nbsp;&nbsp;&nbsp;Gnomovision&nbsp;comes&nbsp;with&nbsp;ABSOLUTELY&nbsp;NO&nbsp;WARRANTY;&nbsp;for&nbsp;details&nbsp;type&nbsp;`show&nbsp;w'.<br>
-&nbsp;&nbsp;&nbsp;&nbsp;This&nbsp;is&nbsp;free&nbsp;software,&nbsp;and&nbsp;you&nbsp;are&nbsp;welcome&nbsp;to&nbsp;redistribute&nbsp;it<br>
-&nbsp;&nbsp;&nbsp;&nbsp;under&nbsp;certain&nbsp;conditions;&nbsp;type&nbsp;`show&nbsp;c'&nbsp;for&nbsp;details.<br>
-<br>
-The&nbsp;hypothetical&nbsp;commands&nbsp;`show&nbsp;w'&nbsp;and&nbsp;`show&nbsp;c'&nbsp;should&nbsp;show&nbsp;the&nbsp;appropriate<br>
-parts&nbsp;of&nbsp;the&nbsp;General&nbsp;Public&nbsp;License.&nbsp;&nbsp;Of&nbsp;course,&nbsp;the&nbsp;commands&nbsp;you&nbsp;use&nbsp;may<br>
-be&nbsp;called&nbsp;something&nbsp;other&nbsp;than&nbsp;`show&nbsp;w'&nbsp;and&nbsp;`show&nbsp;c';&nbsp;they&nbsp;could&nbsp;even&nbsp;be<br>
-mouse-clicks&nbsp;or&nbsp;menu&nbsp;items--whatever&nbsp;suits&nbsp;your&nbsp;program.<br>
-<br>
-You&nbsp;should&nbsp;also&nbsp;get&nbsp;your&nbsp;employer&nbsp;(if&nbsp;you&nbsp;work&nbsp;as&nbsp;a&nbsp;programmer)&nbsp;or&nbsp;your<br>
-school,&nbsp;if&nbsp;any,&nbsp;to&nbsp;sign&nbsp;a&nbsp;"copyright&nbsp;disclaimer"&nbsp;for&nbsp;the&nbsp;program,&nbsp;if<br>
-necessary.&nbsp;&nbsp;Here&nbsp;is&nbsp;a&nbsp;sample;&nbsp;alter&nbsp;the&nbsp;names:<br>
-<br>
-&nbsp;&nbsp;Yoyodyne,&nbsp;Inc.,&nbsp;hereby&nbsp;disclaims&nbsp;all&nbsp;copyright&nbsp;interest&nbsp;in&nbsp;the&nbsp;program<br>
-&nbsp;&nbsp;`Gnomovision'&nbsp;(which&nbsp;makes&nbsp;passes&nbsp;at&nbsp;compilers)&nbsp;written&nbsp;by&nbsp;James&nbsp;Hacker.<br>
-<br>
-&nbsp;&nbsp;&lt;signature&nbsp;of&nbsp;Ty&nbsp;Coon&#62;,&nbsp;1&nbsp;April&nbsp;1989<br>
-&nbsp;&nbsp;Ty&nbsp;Coon,&nbsp;President&nbsp;of&nbsp;Vice<br>
-<br>
-This&nbsp;General&nbsp;Public&nbsp;License&nbsp;does&nbsp;not&nbsp;permit&nbsp;incorporating&nbsp;your&nbsp;program&nbsp;into<br>
-proprietary&nbsp;programs.&nbsp;&nbsp;If&nbsp;your&nbsp;program&nbsp;is&nbsp;a&nbsp;subroutine&nbsp;library,&nbsp;you&nbsp;may<br>
-consider&nbsp;it&nbsp;more&nbsp;useful&nbsp;to&nbsp;permit&nbsp;linking&nbsp;proprietary&nbsp;applications&nbsp;with&nbsp;the<br>
-library.&nbsp;&nbsp;If&nbsp;this&nbsp;is&nbsp;what&nbsp;you&nbsp;want&nbsp;to&nbsp;do,&nbsp;use&nbsp;the&nbsp;GNU&nbsp;Library&nbsp;General<br>
-Public&nbsp;License&nbsp;instead&nbsp;of&nbsp;this&nbsp;License.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-v850-cebsb1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: NEC V850 Cosmo Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendices.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->&nbsp;</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/install-tree.html b/doc/html/user-guide/install-tree.html
deleted file mode 100644 (file)
index e31791c..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Install Tree</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The Component Repository and Working Directories"
-HREF="component-repo-and-working-dirs.html"><LINK
-REL="PREVIOUS"
-TITLE="Build Tree"
-HREF="build-tree.html"><LINK
-REL="NEXT"
-TITLE="Application Build Tree"
-HREF="repository-app-build-tree.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="build-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 25. The Component Repository and Working Directories</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="repository-app-build-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="INSTALL-TREE">Install Tree</H1
-><P
->The <I
-CLASS="FIRSTTERM"
->install tree</I
-> is the location
-         for all files needed for application development. The
-         <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> library, which contains the
-           custom-built <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel and other components, is placed
-           in the install tree, along with all packages&#8217; public
-           header files. If you build the tests, the test executable
-           programs will also be placed in the install
-           tree. </P
-><P
->By default, the install tree is created by
-         <B
-CLASS="COMMAND"
->ecosconfig</B
-> in a subdirectory of the build
-         tree called <TT
-CLASS="FILENAME"
->install</TT
->. This can be
-         modified with the <TT
-CLASS="OPTION"
->--prefix</TT
-> option (see
-         <A
-HREF="manual-configuration.html"
->Chapter 28</A
->).
-       </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2130">Purpose</H2
-><P
->The install tree is where the custom-built
-           <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> library, which contains
-           the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel and other components, is located. The
-           install tree is also the location for all the header files
-           that are part of a published interface for their
-           component. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2135">How is it modified?</H2
-><P
->Recompiling can replace
-           <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> and the test
-           executables. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2139">When is it edited manually?</H2
-><P
->Where a memory layout requires modification without
-           use of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->, the memory layout
-           files must be edited directly in the install tree. These
-           files are located at
-           <TT
-CLASS="FILENAME"
->install/include/pkgconf/mlt_*.*</TT
->. 
-           Note that subsequent modification of the install tree
-           using the Configuration Tool will result in such manual
-           edits being lost.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2145">User applications</H2
-><P
->User application source or binary code should
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->not</I
-></SPAN
-> go in the install tree. </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN2149">Examples of files in this hierarchy</H2
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><TT
-CLASS="FILENAME"
->install/lib/libtarget.a</TT
-></DT
-><DD
-><P
->The library containing the kernel and other components.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->install/include/cyg/kernel/kapi.h</TT
-></DT
-><DD
-><P
->The header file for the kernel C language API.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->install/include/pkgconf/mlt_arm_pid_ram.ldi</TT
-></DT
-><DD
-><P
->The linker script fragment describing the memory
-                 layout for linking applications intended for
-                 execution on an ARM PID development board using RAM
-                 startup.</P
-></DD
-><DT
-><TT
-CLASS="FILENAME"
->install/include/stdio.h</TT
-></DT
-><DD
-><P
->The C library header file for standard I/O. </P
-></DD
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="build-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="repository-app-build-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Build Tree</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Application Build Tree</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/kernel-instrumentation.html b/doc/html/user-guide/kernel-instrumentation.html
deleted file mode 100644 (file)
index e255212..0000000
+++ /dev/null
@@ -1,513 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Kernel Instrumentation</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Debugging Techniques"
-HREF="debugging-techniques.html"><LINK
-REL="PREVIOUS"
-TITLE="Debugging Techniques"
-HREF="debugging-techniques.html"><LINK
-REL="NEXT"
-TITLE="Configuration and the Package Repository"
-HREF="configuration-and-the-package-repository.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="debugging-techniques.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 27. Debugging Techniques</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="configuration-and-the-package-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="KERNEL-INSTRUMENTATION">Kernel Instrumentation</H1
-><P
-><I
-CLASS="FIRSTTERM"
->Instrument buffers</I
-> can be used to
-         find out how many events of a given type happened in the
-         kernel during execution of a program.</P
-><P
->You can monitor a class of several types of events, or
-         you can just look at individual events. </P
-><P
->Examples of <I
-CLASS="FIRSTTERM"
->events</I
-> that can be
-         monitored are:
-       </P
-><P
-></P
-><UL
-><LI
-><P
->scheduler events </P
-></LI
-><LI
-><P
->thread operations</P
-></LI
-><LI
-><P
->interrupts </P
-></LI
-><LI
-><P
->mutex operations </P
-></LI
-><LI
-><P
->binary semaphore operations </P
-></LI
-><LI
-><P
->counting semaphore operations </P
-></LI
-><LI
-><P
->clock ticks and interrupts </P
-></LI
-></UL
-><P
->Examples of fine-grained scheduler event types are: </P
-><P
-></P
-><UL
-><LI
-><P
->scheduler lock</P
-></LI
-><LI
-><P
->scheduler unlock</P
-></LI
-><LI
-><P
->rescheduling</P
-></LI
-><LI
-><P
->time slicing </P
-></LI
-></UL
-><P
->Information about the events is stored in an
-         <I
-CLASS="FIRSTTERM"
->event record</I
->. The structure that
-         defines this record has type <SPAN
-CLASS="TYPE"
->struct
-         Instrument_Record</SPAN
->:</P
-><P
->The list of records is stored in an array called <SPAN
-CLASS="TYPE"
->instrument_buffer</SPAN
->
-which you can let the kernel provide or you can provide yourself
-by setting the configuration option <TT
-CLASS="LITERAL"
->CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER</TT
->. </P
-><P
->To write a program that examines the instrumentation
-         buffers: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Enable instrumentation buffers in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel configuration.
-The component macro is <TT
-CLASS="LITERAL"
->CYGPKG_KERNEL_INSTRUMENT</TT
->.</P
-></LI
-><LI
-><P
->To allocate the buffers yourself, enable the configuration
-option <TT
-CLASS="LITERAL"
->CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER</TT
->. </P
-></LI
-><LI
-><P
->Include the header file 
-<TT
-CLASS="FILENAME"
->cyg/kernel/instrmnt.h</TT
->
-. 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;cyg/kernel/instrmnt.h&gt;</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->The <SPAN
-CLASS="STRUCTNAME"
->Instrumentation_Record</SPAN
-> structure
-is not published in the kernel header file. In the future there
-will be a cleaner mechanism to access it, but for now you should
-paste into your code in the following lines: 
-           </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->struct Instrument_Record
-{
- CYG_WORD16 type; // record type
- CYG_WORD16 thread; // current thread id
- CYG_WORD timestamp; // 32 bit timestamp
- CYG_WORD arg1; // first arg
- CYG_WORD arg2; // second arg
-};</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Enable the events you want to record using 
-<TT
-CLASS="FUNCTION"
->cyg_instrument_enable()</TT
->
-, and disable them later. Look at 
-<TT
-CLASS="FILENAME"
->cyg/kernel/instrmnt.h</TT
->
- and the examples below to see what events can be enabled. </P
-></LI
-><LI
-><P
->Place the code you want to debug between the matching
-functions  
-<TT
-CLASS="FUNCTION"
->cyg_instrument_enable()</TT
->
- and 
-<TT
-CLASS="FUNCTION"
->cyg_instrument_disable()</TT
->
-. </P
-></LI
-><LI
-><P
->Examine the buffer. For now you need to look at the data
-in there (the example program below shows how to do that), and future
-versions of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> will include a host-side tool to help you understand
-the data. </P
-></LI
-></OL
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN2358"><P
-><B
->Example 27-2. Using instrument buffers</B
-></P
-><P
->This program is also provided in the
-           <TT
-CLASS="FILENAME"
->examples</TT
-> directory.
-         </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->/* this is a program which uses <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> instrumentation buffers; it needs
- to be linked with a kernel which was compiled with support for
- instrumentation */
-
-#include &lt;stdio.h&gt;
-#include &lt;pkgconf/kernel.h&gt;
-#include &lt;cyg/kernel/instrmnt.h&gt;
-#include &lt;cyg/kernel/kapi.h&gt;
-
-#ifndef CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER
-# error You must configure eCos with CYGVAR_KERNEL_INSTRUMENT_EXTERNAL_BUFFER
-#endif
-
-struct Instrument_Record
-{
- CYG_WORD16 type; // record type
- CYG_WORD16 thread; // current thread id
- CYG_WORD timestamp; // 32 bit timestamp
- CYG_WORD arg1; // first arg
- CYG_WORD arg2; // second arg
-};
-
-struct Instrument_Record instrument_buffer[20];
-cyg_uint32 instrument_buffer_size = 20;
-
-int main(void)
-{
- int i;
-
- cyg_instrument_enable(CYG_INSTRUMENT_CLASS_CLOCK, 0);
- cyg_instrument_enable(CYG_INSTRUMENT_CLASS_THREAD, 0);
- cyg_instrument_enable(CYG_INSTRUMENT_CLASS_ALARM, 0);
-
- printf("Program to play with instrumentation buffer\n");
-
- cyg_thread_delay(2);
-
- cyg_instrument_disable(CYG_INSTRUMENT_CLASS_CLOCK, 0);
- cyg_instrument_disable(CYG_INSTRUMENT_CLASS_THREAD, 0);
- cyg_instrument_disable(CYG_INSTRUMENT_CLASS_ALARM, 0);
-
- for (i = 0; i &lt; instrument_buffer_size; ++i) {
- printf("Record %02d: type 0x%04x, thread %d, ",
-       i, instrument_buffer[i].type, instrument_buffer[i].thread);
- printf("time %5d, arg1 0x%08x, arg2 0x%08x\n",
-       instrument_buffer[i].timestamp, instrument_buffer[i].arg1,
-       instrument_buffer[i].arg2);
- }
- return 0;
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><P
->Here is how you could compile and run this program in the <TT
-CLASS="FILENAME"
->examples</TT
-> directory,
-using (for example) the MN10300 simulator target: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ make XCC=mn10300-elf-gcc INSTALL_DIR=/tmp/ecos-work-mn10300/install instrument-test
-mn10300-elf-gcc -c -o instrument-test.o -g -Wall -I/tmp/ecos-work-mn10300/install/include \
-        -ffunction-sections -fdata-sections instrument-test.c
-mn10300-elf-gcc -nostartfiles -L/tmp/ecos-work-mn10300/install/lib -W1,--gc-sections -o \
-        instrument-test instrument-test.o -Ttarget.ld -nostdlib
-$ mn10300-elf-run --board=stdeval1 instrument-test</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN2367"><P
-><B
->Example 27-3. Instrument buffer output</B
-></P
-><P
->Here is the output of the
-           <B
-CLASS="COMMAND"
->instrument-test</B
-> program. Notice that in
-           little over 2 seconds, and with very little activity, and
-           with few event types enabled, it gathered 17 records. In
-           larger programs it will be necessary to select very few
-           event types for debugging. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Program to play with instrumentation buffer
-Record 00: type 0x0207, thread 2, time  6057, arg1 0x48001cd8, arg2 0x00000002
-Record 01: type 0x0202, thread 2, time  6153, arg1 0x48001cd8, arg2 0x00000000
-Record 02: type 0x0904, thread 2, time  6358, arg1 0x48001d24, arg2 0x00000000
-Record 03: type 0x0905, thread 2, time  6424, arg1 0x00000002, arg2 0x00000000
-Record 04: type 0x0906, thread 2, time  6490, arg1 0x00000000, arg2 0x00000000
-Record 05: type 0x0901, thread 2, time  6608, arg1 0x48009d74, arg2 0x48001d24
-Record 06: type 0x0201, thread 2, time  6804, arg1 0x48001cd8, arg2 0x480013e0
-Record 07: type 0x0803, thread 1, time    94, arg1 0x00000000, arg2 0x00000000
-Record 08: type 0x0801, thread 1, time   361, arg1 0x00000000, arg2 0x00000000
-Record 09: type 0x0802, thread 1, time   548, arg1 0x00000001, arg2 0x00000000
-Record 10: type 0x0803, thread 1, time    94, arg1 0x00000000, arg2 0x00000000
-Record 11: type 0x0801, thread 1, time   361, arg1 0x00000001, arg2 0x00000000
-Record 12: type 0x0903, thread 1, time   513, arg1 0x48009d74, arg2 0x48001d24
-Record 13: type 0x0208, thread 1, time   588, arg1 0x00000000, arg2 0x00000000
-Record 14: type 0x0203, thread 1, time   697, arg1 0x48001cd8, arg2 0x480013e0
-Record 15: type 0x0802, thread 1, time   946, arg1 0x00000002, arg2 0x00000000
-Record 16: type 0x0201, thread 1, time  1083, arg1 0x480013e0, arg2 0x48001cd8
-Record 17: type 0x0000, thread 0, time     0, arg1 0x00000000, arg2 0x00000000
-Record 18: type 0x0000, thread 0, time     0, arg1 0x00000000, arg2 0x00000000
-Record 19: type 0x0000, thread 0, time     0, arg1 0x00000000, arg2 0x00000000</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="debugging-techniques.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="configuration-and-the-package-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Debugging Techniques</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="debugging-techniques.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuration and the Package Repository</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/managing-package-repository.html b/doc/html/user-guide/managing-package-repository.html
deleted file mode 100644 (file)
index ee9351f..0000000
+++ /dev/null
@@ -1,483 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Managing the Package Repository</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Configuration and the Package Repository"
-HREF="configuration-and-the-package-repository.html"><LINK
-REL="PREVIOUS"
-TITLE="Modifying the Memory Layout"
-HREF="modifying-the-memory-layout.html"><LINK
-REL="NEXT"
-TITLE="Package Structure"
-HREF="package-structure.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="modifying-the-memory-layout.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="package-structure.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="MANAGING-PACKAGE-REPOSITORY">Chapter 29. Managing the Package Repository</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="managing-package-repository.html#PACKAGE-INSTALLATION"
->Package Installation</A
-></DT
-><DT
-><A
-HREF="package-structure.html"
->Package Structure</A
-></DT
-></DL
-></DIV
-><P
->A source distribution of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> consists of a number of
-       packages, such as the kernel, the C library, and the
-       &micro;ITRON subsystems. These are
-       individually versioned in the tree structure of the source
-       code, to support distribution on a per-package basis and to
-       support third party packages whose versioning systems might be
-       different. The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Package
-         Administration Tool</SPAN
-> is used to manage the
-       installation and removal of packages from a variety of sources
-       with potentially multiple versions.</P
-><P
->The presence of the version information in the source tree
-       structure might be a hindrance to the use of a separate source
-       control system such as <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->CVS</I
-></SPAN
-> or
-       <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->SourceSafe</I
-></SPAN
->. To work
-       in this way, you can rename all the version components to some
-       common name (such as &#8220;current&#8221;) thus unifying the
-       structure of source trees from distinct <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> releases.</P
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> build system will treat any such name as just another
-version of the package(s), and support building in exactly the same
-way. However, performing this rename invalidates any existing build
-trees that referred to the versioned source tree, so do the rename
-first, before any other work, and do a complete rebuild afterwards.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PACKAGE-INSTALLATION">Package Installation</H1
-><P
->Package installation and removal is performed using the
-         <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Package Administration Tool</SPAN
->. This
-         tool is a Tcl script named
-       <B
-CLASS="COMMAND"
->ecosadmin.tcl</B
-> which allows
-         the user to add new <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> packages and new versions of
-         existing packages to an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository. Such packages must
-         be distributed as a single file in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> package
-         distribution format. Unwanted packages may also be removed
-         from the repository using this tool. A graphical version of
-         the tool is provided as part of the
-         <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3071">Using the Administration Tool</H2
-><P
->The graphical
-version of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Package
-Administration Tool</SPAN
->, provided as part of the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration
-Tool</SPAN
->, provides functions equivalent to the command-line
-version for those who prefer a Windows-based interface.</P
-><P
->It may be invoked in one of two ways:</P
-><P
-></P
-><UL
-><LI
-><P
->from the <SPAN
-CLASS="GUIMENU"
->start menu</SPAN
-> (by default
-               <SPAN
-CLASS="GUIMENUITEM"
->Start-&gt;Programs-&gt;
-                 eCos-&gt;Package Administration
-                 Tool</SPAN
->)</P
-></LI
-><LI
-><P
->from the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration
-                 Tool</SPAN
-> via the
-               <SPAN
-CLASS="GUIMENUITEM"
->Tools-&gt;Administration</SPAN
->
-               menu item</P
-></LI
-></UL
-><P
-><P
-><IMG
-SRC="pix/admin.png"></P
-></P
-><P
->The main window of the tool displays the packages which are
-currently installed in the form of a tree. The installed versions
-of each package may be examined by expanding the tree.</P
-><P
->Packages may be added to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository by clicking on
-the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Add</I
-></SPAN
-> button. The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> package distribution
-file to be added is then selected via a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File Open</I
-></SPAN
-> dialog
-box.</P
-><P
->Packages may be removed by selecting a package in the tree
-and then clicking on the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Remove</I
-></SPAN
-> button. If
-a package node is selected, all versions of the selected package
-will be removed. If a package version node is selected, only the
-selected version of the package will be removed.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3099">Using the command line</H2
-><P
->The <B
-CLASS="COMMAND"
->ecosadmin.tcl</B
->
-           script is located in the base of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository. Use
-           a command of the following form under versions of
-           UNIX:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ tclsh ecosadmin.tcl &lt;command&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->Under Windows, a command of the following form may be used
-at the Cygwin command line prompt:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ cygtclsh80 ecosadmin.tcl &lt;command&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->The following commands are available:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><B
-CLASS="COMMAND"
->add &lt;file&gt;</B
-></DT
-><DD
-><P
->Adds the packages contained with the specified package distribution
-file to the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository and updates the package database accordingly.
-By convention, <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> package distribution files are given the <TT
-CLASS="FILENAME"
->.epk</TT
-> suffix.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->remove &lt;package&gt; [ --version=&lt;version&gt; ]</B
-></DT
-><DD
-><P
->Removes the specified package from the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-                 repository and updates the package database
-                 accordingly. Where the optional version qualifier is
-                 used, only the specified version of the package is
-                 removed.</P
-></DD
-><DT
-><B
-CLASS="COMMAND"
->list</B
-></DT
-><DD
-><P
->Produces a list of the packages which
-                 are currently installed and their versions. The
-                 available templates and hardware targets are also
-                 listed.</P
-></DD
-></DL
-></DIV
-><P
->Note that is is possible to remove critical packages
-           such as the common HAL package using this tool. Users
-           should take care to avoid such errors since core <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-           packages may only be re-installed in the context of a
-           complete re-installation of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="modifying-the-memory-layout.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="package-structure.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Modifying the Memory Layout</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="configuration-and-the-package-repository.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Package Structure</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/manual-configuration.html b/doc/html/user-guide/manual-configuration.html
deleted file mode 100644 (file)
index 208de8c..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Manual Configuration</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Configuration and the Package Repository"
-HREF="configuration-and-the-package-repository.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuration and the Package Repository"
-HREF="configuration-and-the-package-repository.html"><LINK
-REL="NEXT"
-TITLE="Creating the Build Tree"
-HREF="creating-build-tree.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="configuration-and-the-package-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="creating-build-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="MANUAL-CONFIGURATION">Chapter 28. Manual Configuration</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="manual-configuration.html#DIRECTORY-TREE-STRUCTURE"
->Directory Tree Structure</A
-></DT
-><DT
-><A
-HREF="creating-build-tree.html"
->Creating the Build Tree</A
-></DT
-><DT
-><A
-HREF="conflicts-and-constraints.html"
->Conflicts and constraints</A
-></DT
-><DT
-><A
-HREF="building-the-system.html"
->Building the System</A
-></DT
-><DT
-><A
-HREF="ecos-packages.html"
->Packages</A
-></DT
-><DT
-><A
-HREF="coarse-grained-configuration.html"
->Coarse-grained Configuration</A
-></DT
-><DT
-><A
-HREF="fine-grained-configuration.html"
->Fine-grained Configuration</A
-></DT
-><DT
-><A
-HREF="editing-an-ecos-savefile.html"
->Editing an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Savefile</A
-></DT
-><DT
-><A
-HREF="editing-the-sources.html"
->Editing the Sources</A
-></DT
-><DT
-><A
-HREF="modifying-the-memory-layout.html"
->Modifying the Memory Layout</A
-></DT
-></DL
-></DIV
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> developers will generally use the graphical
-      Configuration Tool for configuring an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> system and building
-      the target library. However, some user prefer to use command
-      line tools. These command line tools can also be used for batch
-      operations on all platforms, for example as part of a nightly
-      rebuild and testing procedure.
-    </P
-><P
->In the current release of the system the command line tools
-      do not provide exactly the same functionality as the graphical
-      tool. Most importantly, there is no facility to resolve
-      configuration conflicts interactively.</P
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration system, both graphical and command
-      line tools, are under constant development and enhancement.
-      Developers should note that the procedures described may change
-      considerably in future releases. </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="DIRECTORY-TREE-STRUCTURE">Directory Tree Structure</H1
-><P
->When building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> there are three main directory trees to
-       consider: the source tree, the build tree, and the install
-       tree.</P
-><P
->The source tree, also known as the component repository,
-         is read-only. It is possible to use a single component
-         repository for any number of different configurations, and
-         it is also possible to share a component repository between
-         multiple users by putting it on a network drive.</P
-><P
->The build tree contains everything that is specific to a
-         particular configuration, including header and other files
-         that contain configuration data, and the object files that
-         result from compiling the system sources for this
-         configuration. </P
-><P
->The install tree is usually located in the <TT
-CLASS="FILENAME"
->install</TT
-> subdirectory
-of the build tree. Once an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> system has been built, the install
-tree contains all the files needed for application development including
-the header files and the target library. By making copies of the
-install tree after a build it is possible to separate application
-development and system configuration, which may be desirable for
-some organizations. </P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="configuration-and-the-package-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="creating-build-tree.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuration and the Package Repository</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="configuration-and-the-package-repository.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Creating the Build Tree</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/methods-of-displaying-html-help.html b/doc/html/user-guide/methods-of-displaying-html-help.html
deleted file mode 100644 (file)
index 0037afa..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Methods of Displaying HTML Help</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Getting Help"
-HREF="config-tool-getting-help.html"><LINK
-REL="PREVIOUS"
-TITLE="Context-sensitive Help for Configuration Items"
-HREF="config-tool-context-help-config-items.html"><LINK
-REL="NEXT"
-TITLE="Customization"
-HREF="config-tool-customization.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="config-tool-context-help-config-items.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 16. Getting Help</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-customization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="METHODS-OF-DISPLAYING-HTML-HELP">Methods of Displaying HTML Help</H1
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Using the internal help system. This will show an internal viewer similar to Microsoft HTML Help, with a contents
-hierarchy on the left and HTML pages on the right; see <A
-HREF="methods-of-displaying-html-help.html#FIGURE-HELP-VIEWER"
->Figure 16-1</A
->. The index is regenerated for each repository. If the documentation in
-the repository has changed but the contents does not reflect this, please use the Tools Regenerate Help Index menu
-item.</P
-></LI
-><LI
-><P
->Using the default HTML browser. On Unix, you will need a .mailcap entry similar to this:</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->text/html; netscape -no-about-splash %s</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Using the specified browser.</P
-></LI
-></OL
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-HELP-VIEWER"><P
-><B
->Figure 16-1. HTML Help viewer</B
-></P
-><P
-><IMG
-SRC="pix/html-help.png"></P
-></DIV
-><P
->If you wish, you may choose to have <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->HTML Help</I
-></SPAN
-> displayed
-in a browser of your choice. To do this, select <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->View</I
-></SPAN
->-&gt;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Settings</I
-></SPAN
-> and
-use the controls in the View Documentation group to select the replacement browser.
-Note that the Navigation facilities of the built-in <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->HTML
-Help</I
-></SPAN
-> system will be unavailable if you choose this method
-of displaying help.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="config-tool-context-help-config-items.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-customization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Context-sensitive Help for Configuration Items</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="config-tool-getting-help.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Customization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/modifying-the-memory-layout.html b/doc/html/user-guide/modifying-the-memory-layout.html
deleted file mode 100644 (file)
index 6b4d4e7..0000000
+++ /dev/null
@@ -1,416 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Modifying the Memory Layout</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Manual Configuration"
-HREF="manual-configuration.html"><LINK
-REL="PREVIOUS"
-TITLE="Editing the Sources"
-HREF="editing-the-sources.html"><LINK
-REL="NEXT"
-TITLE="Managing the Package Repository"
-HREF="managing-package-repository.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="editing-the-sources.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 28. Manual Configuration</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="managing-package-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="MODIFYING-THE-MEMORY-LAYOUT">Modifying the Memory Layout</H1
-><P
->Each <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> platform package is supplied with linker script
-fragments which describe the location of memory regions on the evaluation
-board and the location of memory sections within these regions.
-The correct linker script fragment is selected and included in the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> linker script <TT
-CLASS="FILENAME"
->target.ld</TT
-> when
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is built.</P
-><P
->It is not necessary to modify the default memory
-layouts in order to start development with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. However, it will
-be necessary to edit a linker script fragment when the memory map
-of the evaluation board is changed. For example, if additional memory
-is added, the linker must be notified that the new memory is available
-for use. As a minimum, this would involve modifying the length of
-the corresponding memory region. Where the available memory is non-contiguous,
-it may be necessary to declare a new memory region and reassign
-certain linker output sections to the new region.</P
-><P
->Linker script fragments and memory layout header files should
-be edited within the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> install tree. They are
-located at <TT
-CLASS="FILENAME"
->include/pkgconf/mlt_*.*</TT
->.
-Where multiple start-up types are in use, it will be necessary to
-edit multiple linker script fragments and header files. The information
-provided in the header file and the corresponding linker script
-fragment must always match. A typical linker script fragment is
-shown below:</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN2992"><P
-><B
->Example 28-1. <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> linker script fragment</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->MEMORY
-{
- rom : ORIGIN = 0x40000000, LENGTH = 0x80000
- ram : ORIGIN = 0x48000000, LENGTH = 0x200000
-}
-
-SECTIONS
-{
- SECTIONS_BEGIN
- SECTION_rom_vectors (rom, 0x40000000, LMA_EQ_VMA)
- SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
- SECTION_fini (rom, ALIGN (0x1), LMA_EQ_VMA)
- SECTION_rodata (rom, ALIGN (0x1), LMA_EQ_VMA)
- SECTION_rodata1 (rom, ALIGN (0x1), LMA_EQ_VMA)
- SECTION_fixup (rom, ALIGN (0x1), LMA_EQ_VMA)
- SECTION_gcc_except_table (rom, ALIGN (0x1), LMA_EQ_VMA)
- SECTION_data (ram, 0x48000000, FOLLOWING (.gcc_except_table))
- SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
- SECTIONS_END
-}</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><P
->The file consists of two blocks, the <TT
-CLASS="LITERAL"
->MEMORY</TT
-> block
-contains lines describing the address (<TT
-CLASS="LITERAL"
->ORIGIN</TT
->)
-and the size (<TT
-CLASS="LITERAL"
->LENGTH</TT
->) of each memory
-region. The <TT
-CLASS="LITERAL"
->MEMORY</TT
-> block is followed
-by the <TT
-CLASS="LITERAL"
->SECTIONS</TT
-> block which contains
-lines describing each of the linker output sections. Each section
-is represented by a macro call. The arguments of these macros are
-ordered as follows: </P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->The memory region in which the section will finally
-             reside.</P
-></LI
-><LI
-><P
->The final address (
-<TT
-CLASS="LITERAL"
->VMA</TT
->
-) of the section. This is expressed using one of the following forms:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->n</I
-></SPAN
-></DT
-><DD
-><P
->at the absolute address specified by the
-                   unsigned integer <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->n</I
-></SPAN
-></P
-></DD
-><DT
->ALIGN (<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->n</I
-></SPAN
->)</DT
-><DD
-><P
->following the final location of the previous section
-                   with alignment to the next <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->n</I
-></SPAN
->-byte
-                   boundary</P
-></DD
-></DL
-></DIV
-></LI
-><LI
-><P
->The initial address (<TT
-CLASS="LITERAL"
->LMA</TT
->)
-             of the section. This is expressed using one of the
-             following forms:</P
-><P
-></P
-><DIV
-CLASS="VARIABLELIST"
-><DL
-><DT
->LMA_EQ_VMA</DT
-><DD
-><P
->the <TT
-CLASS="LITERAL"
->LMA</TT
->
-                   equals the <TT
-CLASS="LITERAL"
->VMA</TT
-> (no relocation)</P
-></DD
-><DT
->AT (<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->n</I
-></SPAN
->)</DT
-><DD
-><P
->at the absolute address specified by the
-                   unsigned integer <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->n</I
-></SPAN
-></P
-></DD
-><DT
->FOLLOWING (.<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->name</I
-></SPAN
->)</DT
-><DD
-><P
->following the initial location of section
-                   <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->name</I
-></SPAN
-></P
-></DD
-></DL
-></DIV
-></LI
-></OL
-><P
->In order to maintain compatibility with linker script
-         fragments and header files exported by the
-         <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->, the use
-         of other expressions within these files is not
-         recommended.</P
-><P
->Note that the names of the linker output sections will vary
-between target architectures. A description of these sections can
-be found in the specific <SPAN
-CLASS="PRODUCTNAME"
->GCC</SPAN
-> documentation for
-your architecture.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="editing-the-sources.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="managing-package-repository.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Editing the Sources</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="manual-configuration.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Managing the Package Repository</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/notation-and-conventions.html b/doc/html/user-guide/notation-and-conventions.html
deleted file mode 100644 (file)
index 219463d..0000000
+++ /dev/null
@@ -1,259 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Notation and Conventions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Introduction"
-HREF="user-guide-introduction.html"><LINK
-REL="PREVIOUS"
-TITLE="Previous License"
-HREF="ecos-licensing-previous.html"><LINK
-REL="NEXT"
-TITLE="Directory and File System Conventions"
-HREF="directory-and-file-system-conventions.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-licensing-previous.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="directory-and-file-system-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="NOTATION-AND-CONVENTIONS">Chapter 4. Notation and Conventions</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="notation-and-conventions.html#GDB-AND-GCC-COMMAND-NOTATION"
->GDB and GCC Command Notation</A
-></DT
-><DT
-><A
-HREF="directory-and-file-system-conventions.html"
->Directory and File System Conventions</A
-></DT
-><DT
-><A
-HREF="version-conventions.html"
->Version Conventions</A
-></DT
-></DL
-></DIV
-><P
->Since there are many supported target architectures, notation
-conventions are used in this manual to avoid repeating instructions
-that are very similar.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="GDB-AND-GCC-COMMAND-NOTATION">GDB and GCC Command Notation</H1
-><P
->Cross-development commands like <B
-CLASS="COMMAND"
->gcc</B
-> and
-<B
-CLASS="COMMAND"
->gdb</B
-> will be shown with a
-<TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
-> prefix. You need to replace
-<TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
-> with the correct prefix before
-using the command. Just using <B
-CLASS="COMMAND"
->gcc</B
-> or
-<B
-CLASS="COMMAND"
->gdb</B
-> will use the tools for the host, which is not
-(usually) what you want.</P
-><P
->For example use <B
-CLASS="COMMAND"
->arm-elf-gcc</B
-> and
-<B
-CLASS="COMMAND"
->arm-elf-gdb</B
-> for ARM, Thumb, and StrongARM targets.
-Use <B
-CLASS="COMMAND"
->xscale-elf-gcc</B
-> and
-<B
-CLASS="COMMAND"
->xscale-elf-gdb</B
-> for Intel Xscale targets.
-Use <B
-CLASS="COMMAND"
->i386-elf-gcc</B
-> and
-<B
-CLASS="COMMAND"
->i386-elf-gdb</B
-> for IA32 targets. And so on, the exact
-prefix to use is shown in the documentation for each target.</P
-><P
->Note that some versions of the GCC cross compiler generate
-executable files with the <TT
-CLASS="FILENAME"
->.exe</TT
-> suffix on Windows,
-but not on Linux. The suffix <TT
-CLASS="FILENAME"
->.exe</TT
-> will be omitted
-from executable file names, so you will see <TT
-CLASS="FILENAME"
->hello</TT
->
-instead of <TT
-CLASS="FILENAME"
->hello.exe</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-licensing-previous.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="directory-and-file-system-conventions.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Previous License</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-introduction.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Directory and File System Conventions</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/package-structure.html b/doc/html/user-guide/package-structure.html
deleted file mode 100644 (file)
index 0ffaa40..0000000
+++ /dev/null
@@ -1,492 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Package Structure</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Managing the Package Repository"
-HREF="managing-package-repository.html"><LINK
-REL="PREVIOUS"
-TITLE="Managing the Package Repository"
-HREF="managing-package-repository.html"><LINK
-REL="NEXT"
-TITLE="Appendixes"
-HREF="appendices.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="managing-package-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 29. Managing the Package Repository</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="appendices.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="PACKAGE-STRUCTURE">Package Structure</H1
-><P
->The files in an installed <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> source tree are organized in
-a natural tree structure, grouping together files which work together
-into <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Packages</I
-></SPAN
->. For example, the kernel files
-are all together in: </P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
-><TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/include/</TT
-></TD
-></TR
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/</TT
-></TD
-></TR
-><TR
-><TD
->      <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/tests/</TT
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->and &micro;ITRON compatibility layer files are in:
-       </P
-><P
-></P
-><TABLE
-BORDER="0"
-><TBODY
-><TR
-><TD
->          <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/compat/uitron/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/include/</TT
-></TD
-></TR
-><TR
-><TD
->      <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/compat/uitron/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/</TT
-></TD
-></TR
-><TR
-><TD
->      <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/compat/uitron/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/tests/</TT
-></TD
-></TR
-></TBODY
-></TABLE
-><P
-></P
-><P
->The feature of these names which is of interest here is
-         the <TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
-> near the end. It may seem odd to place a version number deep in the
-         path, rather than having something like
-         <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/...everything...</TT
->
-          or leaving it up to you to choose a different
-         install-place when a new release of the system arrives.
-       </P
-><P
->There is a rationale for this organization: as
-         indicated, the kernel and the
-         &micro;ITRON compatibility subsystem
-         are examples of software packages. For the first few
-         releases of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, all the packages will move along
-         in step, i.e. Release 1.3.x will feature Version
-         1.3.x of every package, and so forth. But in future,
-         especially when third party packages become available, it is
-         intended that the package be the unit of software
-         distribution, so it will be possible to build a system from
-         a selection of packages with different version numbers, and
-         even differing versioning <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->schemes</I
-></SPAN
->. A
-         Tcl script <B
-CLASS="COMMAND"
->ecosadmin.tcl</B
-> is
-         provided in the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> repository to manage the installation
-         and removal of packages in this way.</P
-><P
->Many users will have their own source code control system,
-version control system or equivalent, and will want to use it with
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> sources. In that case, since a new release of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> comes with
-different pathnames for all the source files, a bit of work is necessary
-to import a new release into your source repository. </P
-><P
->One way of handling the import is to rename all the version
-parts to some common name, for example &#8220;current&#8221;,
-and continue to work. &#8220;current&#8221; is suggested because <B
-CLASS="COMMAND"
->ecosconfig</B
-> recognizes
-it and places it first in any list of versions. In the future, we
-may provide a tool to help with this, or an option in the install
-wizard. Alternatively, in a POSIX shell environment (Linux or Cygwin
-on Windows) use the following command: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->find . -name <TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
-> -type d -printf 'mv &#0037;p &#0037;h/current\n' | sh</PRE
-></TD
-></TR
-></TABLE
-><P
->Having carried out such a renaming operation, your
-         source tree will now look like this: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/current/include/
-<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/current/src/
-<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/current/tests/
-       ...
-<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/compat/uitron/current/include/
-<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/compat/uitron/current/src/
-<TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/compat/uitron/current/tests/
-       </PRE
-></TD
-></TR
-></TABLE
-><P
->which is a suitable format for import into your own
-         source code control system. When you get a subsequent
-         release of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, do the same thing and use your own source
-         code control system to manage the new source base, by
-         importing the new version from </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
-><TT
-CLASS="REPLACEABLE"
-><I
->NEW_BASE_DIR</I
-></TT
->/kernel/current/include/</PRE
-></TD
-></TR
-></TABLE
-><P
->and so on. </P
-><P
->The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> build tool will now offer only the
-         &#8220;current&#8221; version of each package; select this
-         for the packages you wish to use. </P
-><P
->Making such a change has implications for any build
-         trees you already have in use. A configured build tree
-         contains information about the selected packages and their
-         selected versions. Changing the name of the
-         &#8220;versioning&#8221; folder in the source tree
-         invalidates this information, and in consequence it also
-         invalidates any local configuration options you have set up
-         in this build tree. So if you want to change the version
-         information in the source tree, do it first, before
-         investing any serious time in configuring and building your
-         system. When you create a new build tree to deal with the
-         new source layout, it will contain default settings for all
-         the configuration options, just like the old build tree did
-         before you configured it. You will need to redo that
-         configuration work in the new tree. </P
-><P
->Moving source code around also invalidates debugging information
-in any programs or libraries built from the old tree; these will
-need to be rebuilt. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="managing-package-repository.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="appendices.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Managing the Package Repository</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="managing-package-repository.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Appendixes</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/pix/ARMStartup01.png b/doc/html/user-guide/pix/ARMStartup01.png
deleted file mode 100644 (file)
index 3b7f13b..0000000
Binary files a/doc/html/user-guide/pix/ARMStartup01.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/BuildPackages.png b/doc/html/user-guide/pix/BuildPackages.png
deleted file mode 100644 (file)
index 859ffe4..0000000
Binary files a/doc/html/user-guide/pix/BuildPackages.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/Conflicts.png b/doc/html/user-guide/pix/Conflicts.png
deleted file mode 100644 (file)
index 87e3e83..0000000
Binary files a/doc/html/user-guide/pix/Conflicts.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/ToolsOptions.png b/doc/html/user-guide/pix/ToolsOptions.png
deleted file mode 100644 (file)
index 66b33c8..0000000
Binary files a/doc/html/user-guide/pix/ToolsOptions.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/addfromfolder.png b/doc/html/user-guide/pix/addfromfolder.png
deleted file mode 100644 (file)
index c3be0d8..0000000
Binary files a/doc/html/user-guide/pix/addfromfolder.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/addplatform.png b/doc/html/user-guide/pix/addplatform.png
deleted file mode 100644 (file)
index a0e1561..0000000
Binary files a/doc/html/user-guide/pix/addplatform.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/admin.png b/doc/html/user-guide/pix/admin.png
deleted file mode 100644 (file)
index 1dbdb09..0000000
Binary files a/doc/html/user-guide/pix/admin.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/bash.png b/doc/html/user-guide/pix/bash.png
deleted file mode 100644 (file)
index 8fee4dc..0000000
Binary files a/doc/html/user-guide/pix/bash.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/build-lib01.png b/doc/html/user-guide/pix/build-lib01.png
deleted file mode 100644 (file)
index 75f9b30..0000000
Binary files a/doc/html/user-guide/pix/build-lib01.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/build-processalt.png b/doc/html/user-guide/pix/build-processalt.png
deleted file mode 100644 (file)
index a7b7b4f..0000000
Binary files a/doc/html/user-guide/pix/build-processalt.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/build-tests01.png b/doc/html/user-guide/pix/build-tests01.png
deleted file mode 100644 (file)
index d10a2f7..0000000
Binary files a/doc/html/user-guide/pix/build-tests01.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/build-tools.png b/doc/html/user-guide/pix/build-tools.png
deleted file mode 100644 (file)
index e5b7536..0000000
Binary files a/doc/html/user-guide/pix/build-tools.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/build-tools2.png b/doc/html/user-guide/pix/build-tools2.png
deleted file mode 100644 (file)
index 35a0fb2..0000000
Binary files a/doc/html/user-guide/pix/build-tools2.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/buildoptions.png b/doc/html/user-guide/pix/buildoptions.png
deleted file mode 100644 (file)
index cdbe9a7..0000000
Binary files a/doc/html/user-guide/pix/buildoptions.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/ch-properties-dialog.png b/doc/html/user-guide/pix/ch-properties-dialog.png
deleted file mode 100644 (file)
index 887543c..0000000
Binary files a/doc/html/user-guide/pix/ch-properties-dialog.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/comprepos.png b/doc/html/user-guide/pix/comprepos.png
deleted file mode 100644 (file)
index 5fcd460..0000000
Binary files a/doc/html/user-guide/pix/comprepos.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/config-f1.png b/doc/html/user-guide/pix/config-f1.png
deleted file mode 100644 (file)
index 787f313..0000000
Binary files a/doc/html/user-guide/pix/config-f1.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/configwin.png b/doc/html/user-guide/pix/configwin.png
deleted file mode 100644 (file)
index a5e2e33..0000000
Binary files a/doc/html/user-guide/pix/configwin.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/conflictwin.png b/doc/html/user-guide/pix/conflictwin.png
deleted file mode 100644 (file)
index 62eea1a..0000000
Binary files a/doc/html/user-guide/pix/conflictwin.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/connection.png b/doc/html/user-guide/pix/connection.png
deleted file mode 100644 (file)
index bbecb1f..0000000
Binary files a/doc/html/user-guide/pix/connection.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/find-dialog.png b/doc/html/user-guide/pix/find-dialog.png
deleted file mode 100644 (file)
index 5994d85..0000000
Binary files a/doc/html/user-guide/pix/find-dialog.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/html-help.png b/doc/html/user-guide/pix/html-help.png
deleted file mode 100644 (file)
index bf752b5..0000000
Binary files a/doc/html/user-guide/pix/html-help.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/memorywin.png b/doc/html/user-guide/pix/memorywin.png
deleted file mode 100644 (file)
index d21a60b..0000000
Binary files a/doc/html/user-guide/pix/memorywin.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/memregions.png b/doc/html/user-guide/pix/memregions.png
deleted file mode 100644 (file)
index c573ba5..0000000
Binary files a/doc/html/user-guide/pix/memregions.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/memreloc.png b/doc/html/user-guide/pix/memreloc.png
deleted file mode 100644 (file)
index 7f951aa..0000000
Binary files a/doc/html/user-guide/pix/memreloc.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/modifyplatform.png b/doc/html/user-guide/pix/modifyplatform.png
deleted file mode 100644 (file)
index f794789..0000000
Binary files a/doc/html/user-guide/pix/modifyplatform.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/open-dialog.png b/doc/html/user-guide/pix/open-dialog.png
deleted file mode 100644 (file)
index 233e46c..0000000
Binary files a/doc/html/user-guide/pix/open-dialog.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/propwin.png b/doc/html/user-guide/pix/propwin.png
deleted file mode 100644 (file)
index f8afa6c..0000000
Binary files a/doc/html/user-guide/pix/propwin.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/regprops.png b/doc/html/user-guide/pix/regprops.png
deleted file mode 100644 (file)
index 7459d91..0000000
Binary files a/doc/html/user-guide/pix/regprops.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/repos-relocate.png b/doc/html/user-guide/pix/repos-relocate.png
deleted file mode 100644 (file)
index 38d80fb..0000000
Binary files a/doc/html/user-guide/pix/repos-relocate.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/run-tests.png b/doc/html/user-guide/pix/run-tests.png
deleted file mode 100644 (file)
index 0a36ab3..0000000
Binary files a/doc/html/user-guide/pix/run-tests.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/save-as-dialog.png b/doc/html/user-guide/pix/save-as-dialog.png
deleted file mode 100644 (file)
index 29336ea..0000000
Binary files a/doc/html/user-guide/pix/save-as-dialog.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/settings-conflict.png b/doc/html/user-guide/pix/settings-conflict.png
deleted file mode 100644 (file)
index 0f4b59d..0000000
Binary files a/doc/html/user-guide/pix/settings-conflict.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/settings-display.png b/doc/html/user-guide/pix/settings-display.png
deleted file mode 100644 (file)
index a9cb40b..0000000
Binary files a/doc/html/user-guide/pix/settings-display.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/settings-runtests.png b/doc/html/user-guide/pix/settings-runtests.png
deleted file mode 100644 (file)
index cd5dde4..0000000
Binary files a/doc/html/user-guide/pix/settings-runtests.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/settings-viewers.png b/doc/html/user-guide/pix/settings-viewers.png
deleted file mode 100644 (file)
index 7b7957b..0000000
Binary files a/doc/html/user-guide/pix/settings-viewers.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/templates.png b/doc/html/user-guide/pix/templates.png
deleted file mode 100644 (file)
index 7adb370..0000000
Binary files a/doc/html/user-guide/pix/templates.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/templates01.png b/doc/html/user-guide/pix/templates01.png
deleted file mode 100644 (file)
index a888aa3..0000000
Binary files a/doc/html/user-guide/pix/templates01.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/toolsplatforms.png b/doc/html/user-guide/pix/toolsplatforms.png
deleted file mode 100644 (file)
index bd2497f..0000000
Binary files a/doc/html/user-guide/pix/toolsplatforms.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/twothreads2.png b/doc/html/user-guide/pix/twothreads2.png
deleted file mode 100644 (file)
index 4559339..0000000
Binary files a/doc/html/user-guide/pix/twothreads2.png and /dev/null differ
diff --git a/doc/html/user-guide/pix/user-tools-dialog.png b/doc/html/user-guide/pix/user-tools-dialog.png
deleted file mode 100644 (file)
index 9738d51..0000000
Binary files a/doc/html/user-guide/pix/user-tools-dialog.png and /dev/null differ
diff --git a/doc/html/user-guide/programming-with-ecos.html b/doc/html/user-guide/programming-with-ecos.html
deleted file mode 100644 (file)
index abde4be..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Programming With eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"><LINK
-REL="PREVIOUS"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"><LINK
-REL="NEXT"
-TITLE="Configuring and Building eCos from Source"
-HREF="configuring-and-building-ecos-from-source.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="configuring-and-building-ecos-from-source.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="PROGRAMMING-WITH-ECOS">Chapter 10. Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></H1
-><P
->The following chapters of this manual comprise a simple tutorial
-for configuring and building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, building and running <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> tests,
-and finally building three stand-alone example programs which use
-the  <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> API to perform some simple tasks.</P
-><P
->You will need a properly installed <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> system, with the correct
-versions of the GNU toolchain. On Windows
-you will be using the bash command line interpreter that comes with
-Cygwin, with the environment variables set as described in the
-toolchain documentation.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="DEVELOPMENT-PROCESS">The Development Process</H1
-><P
->Most development projects using <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> would contain some (or
-most) of  the following:</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN471"><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Configuration</H2
-><P
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> is configured to provide the desired API (the inclusion
-of libc, uitron, and the disabling of certain undesired funtions,
-etc.), and semantics (selecting scheduler, mutex behavior, etc.).
-See <A
-HREF="configuring-and-building-ecos-from-source.html"
->Chapter 11</A
->.</P
-><P
->It would normally make sense to enable <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> assertion checking
-at this time as well, to catch as many programming errors during
-the development phase as possible.</P
-><P
->Note that it should not be necessary to spend much time on
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration initially. It may be important to perform fine
-tuning to reduce the memory footprint and to improve performance
-later when the product reaches a testable state.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN481">Integrity check of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration</H2
-><P
->While we strive to thoroughly test <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, the vast number
-of configuration permutations mean that the particular configuration
-parameters used for your project may not have been tested. Therefore,
-we advise running the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> tests after the project's
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> configuration has been determined. See <A
-HREF="running-an-ecos-test-case.html"
->Chapter 12</A
->.</P
-><P
->Obviously, this should be repeated if the configuration changes
-later on in the development process.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN490">Application Development - Target Neutral Part</H2
-><P
->While your project is probably targeting a specific architecture
-and platform, possibly custom hardware, it may be possible to perform
-part of the application development using simulated or synthetic
-targets.</P
-><P
->There are three good reasons for doing this:</P
-><P
-></P
-><UL
-><LI
-><P
->It may be possible by this means to perform application
-development in parallel with the design/implementation
-of the target hardware, thus providing more time for developing
-and testing functionality, and reducing time-to-market.</P
-></LI
-><LI
-><P
->The build-run-debug-cycle may be faster when the application
-does not have to be downloaded to a target via a serial interface.
-Debugging is also likely to be more responsive when you do not have to
-to communicate with the remote GDB stubs in RedBoot via serial. It
-also removes the need for manually or automatically resetting the
-target hardware.</P
-></LI
-><LI
-><P
->New hardware can often be buggy. Comparing the behaviour of the
-program on the hardware and in the simulator or synthetic target may
-allow you to identify where the problems lie.</P
-></LI
-></UL
-><P
->This approach is possible because all targets (including
-simulators and synthetic ones) provide the same basic API: that
-is, kernel, libc, libm, uitron, infra, and to some extent, HAL and
-IO.</P
-><P
->Synthetic targets are especially suitable as they allow you
-to construct simulations of elaborate devices by interaction with
-the host system, where an IO device API can hide the details from
-the application. When switching to hardware later in the development
-cycle, the IO driver is properly implemented.</P
-><P
->Simulators can also do this, but it all depends on the
-design and capabilities of the simulator you use. Some, like
-<A
-HREF="http://sources.redhat.com/sid"
-TARGET="_top"
->SID</A
-> or
-<A
-HREF="http://bochs.sourceforge.net/"
-TARGET="_top"
->Bochs</A
-> provide
-complete hardware emulation, while others just support enough of the
-instruction set to run compiled code.</P
-><P
->Therefore, select a simulator or synthetic target and use
-it for as long as possible for application development. That is,
-configure for the selected target, build <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, build the application
-and link with <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->, run and debug. Repeat the latter two steps until
-you are happy with it.</P
-><P
->Obviously, at some time you will have to switch to the intended
-target hardware, for example when adding target specific feature
-support, for memory footprint/performance characterization,
-and for final tuning of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> and the application.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN511">Application Development - Target Specific Part</H2
-><P
->Repeat the build-run-debug-cycle while performing final tuning
-and debugging of application. Remember to disable <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> assertion
-checking if you are testing any performance-related aspects, it can
-make a big difference.</P
-><P
->It may be useful to switch between this and the previous step
-repeatedly through the development process; use the simulator/synthetic
-target for actual development, and use the target hardware to continually
-check memory footprint and performance. There should be little cost
-in switching between the two targets when using two separate build
-trees. </P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="configuring-and-building-ecos-from-source.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/real-time-characterization.html b/doc/html/user-guide/real-time-characterization.html
deleted file mode 100644 (file)
index 4f4ba85..0000000
+++ /dev/null
@@ -1,446 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Real-time characterization</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Appendixes"
-HREF="appendices.html"><LINK
-REL="PREVIOUS"
-TITLE="i386/Linux Synthetic Target Setup"
-HREF="setup-synth-i386linux.html"><LINK
-REL="NEXT"
-TITLE="Board: Atmel AT91/EB40"
-HREF="rt-at91-eb40.html"></HEAD
-><BODY
-CLASS="APPENDIX"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-synth-i386linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-at91-eb40.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="APPENDIX"
-><H1
-><A
-NAME="REAL-TIME-CHARACTERIZATION">Appendix B. Real-time characterization</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="real-time-characterization.html#RT-ARM-AEB1"
->Board: ARM AEB-1 Revision B Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-at91-eb40.html"
->Board: Atmel AT91/EB40</A
-></DT
-><DT
-><A
-HREF="rt-arm-ebsa285.html"
->Board: Intel StrongARM EBSA-285 Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-arm-ep7211.html"
->Board: Cirrus Logic EDB7111-2 Development Board</A
-></DT
-><DT
-><A
-HREF="rt-arm-pid.html"
->Board: ARM PID Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-arm-iq80310.html"
->Board: Intel IQ80310 XScale Development Kit</A
-></DT
-><DT
-><A
-HREF="rt-tx39-jmr3904.html"
->Board: Toshiba JMR3904 Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-tx49-ref4955.html"
->Board: Toshiba REF 4955</A
-></DT
-><DT
-><A
-HREF="rt-mn10300-stdeval1.html"
->Board: Matsushita STDEVAL1 Board</A
-></DT
-><DT
-><A
-HREF="rt-sparclite-sleb.html"
->Board: Fujitsu SPARClite Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-ppc-cogent.html"
->Board: Cogent CMA MPC860 (PowerPC) Evaluation</A
-></DT
-><DT
-><A
-HREF="rt-vr4300-vrc4373.html"
->Board: NEC VR4373</A
-></DT
-><DT
-><A
-HREF="rt-arm-assabet.html"
->Board: Intel SA1110 (Assabet)</A
-></DT
-><DT
-><A
-HREF="rt-arm-brutus.html"
->Board: Intel SA1100 (Brutus)</A
-></DT
-><DT
-><A
-HREF="rt-ppc-mbx860.html"
->Board: Motorola MBX</A
-></DT
-><DT
-><A
-HREF="rt-sh-edk7708.html"
->Board: Hitachi EDK7708</A
-></DT
-><DT
-><A
-HREF="rt-sh-cq7708.html"
->Board: CQ CqREEK SH3 Evaluation Board (cq7708)</A
-></DT
-><DT
-><A
-HREF="rt-sh-hs7729pci.html"
->Board: Hitachi HS7729PCI HS7729 SH3</A
-></DT
-><DT
-><A
-HREF="rt-sh-se7751.html"
->Board: Hitachi Solution Engine 7751 SH4 (se7751)</A
-></DT
-><DT
-><A
-HREF="rt-i386-pc.html"
->Board: PC</A
-></DT
-><DT
-><A
-HREF="rt-v850-cebsa1.html"
->Board: NEC V850 Cosmo Evaluation Board</A
-></DT
-><DT
-><A
-HREF="rt-v850-cebsb1.html"
->Board: NEC V850 Cosmo Evaluation Board</A
-></DT
-></DL
-></DIV
-><P
->For a discussion of real-time performance measurement for eCos, see the eCos 
-Users' Guide.</P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->As with the target setup descriptions in the previous appendix, this
-information will eventually be merged into per-target documents.</P
-></TD
-></TR
-></TABLE
-></DIV
-><P
->      Sample numbers:
-      </P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-AEB1">Board: ARM AEB-1 Revision B Evaluation Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: ARM AEB-1 Revision B Evaluation Board
-
-CPU : Sharp LH77790A 24MHz
-
-
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   128 size  2048
-Startup              : Idlethread stack used    80 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 13 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  193.49 microseconds (290 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                   7
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-  110.19  104.67  116.00    3.26   42%  28% Create thread
-   34.00   34.00   34.00    0.00  100% 100% Yield thread [all suspended]
-   24.67   24.67   24.67    0.00  100% 100% Suspend [suspended] thread
-   25.05   24.67   25.33    0.33   57%  42% Resume thread
-   37.14   36.67   37.33    0.27   71%  28% Set priority
-    3.81    3.33    4.00    0.27   71%  28% Get priority
-   80.00   80.00   80.00    0.00  100% 100% Kill [suspended] thread
-   33.90   33.33   34.00    0.16   85%  14% Yield [no other] thread
-   45.90   44.00   46.67    0.54   57%  14% Resume [suspended low prio] thread
-   24.57   24.00   24.67    0.16   85%  14% Resume [runnable low prio] thread
-   42.29   36.67   43.33    1.61   85%  14% Suspend [runnable] thread
-   33.90   33.33   34.00    0.16   85%  14% Yield [only low prio] thread
-   24.67   24.67   24.67    0.00  100% 100% Suspend [runnable-&#62;not runnable]
-   80.00   80.00   80.00    0.00  100% 100% Kill [runnable] thread
-   43.33   43.33   43.33    0.00  100% 100% Destroy [dead] thread
-  106.29  101.33  107.33    1.41   85%  14% Destroy [runnable] thread
-  144.95  141.33  166.00    6.01   85%  85% Resume [high priority] thread
-   78.31   76.67  254.67    2.75   99%  99% Thread switch
-
-    4.00    4.00    4.00    0.00  100% 100% Scheduler lock
-   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [0 threads]
-   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [1 suspended]
-   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [many suspended]
-   16.37   16.00   16.67    0.33   56%  43% Scheduler unlock [many low prio]
-
-   10.67   10.67   10.67    0.00  100% 100% Init mutex
-   28.67   28.67   28.67    0.00  100% 100% Lock [unlocked] mutex
-   30.44   30.00   31.33    0.33   59%  37% Unlock [locked] mutex
-   25.42   25.33   26.00    0.15   87%  87% Trylock [unlocked] mutex
-   22.50   22.00   22.67    0.25   75%  25% Trylock [locked] mutex
-    5.75    5.33    6.00    0.31   62%  37% Destroy mutex
-  185.33  185.33  185.33    0.00  100% 100% Unlock/Lock mutex
-
-   20.17   20.00   20.67    0.25   75%  75% Create mbox
-    2.92    2.67    3.33    0.31   62%  62% Peek [empty] mbox
-   32.42   32.00   32.67    0.31   62%  37% Put [first] mbox
-    3.00    2.67    3.33    0.33  100%  50% Peek [1 msg] mbox
-   32.50   32.00   32.67    0.25   75%  25% Put [second] mbox
-    2.92    2.67    3.33    0.31   62%  62% Peek [2 msgs] mbox
-   32.83   32.67   33.33    0.25   75%  75% Get [first] mbox
-   32.67   32.67   32.67    0.00  100% 100% Get [second] mbox
-   31.33   31.33   31.33    0.00  100% 100% Tryput [first] mbox
-   27.58   27.33   28.00    0.31   62%  62% Peek item [non-empty] mbox
-   32.83   32.67   33.33    0.25   75%  75% Tryget [non-empty] mbox
-   26.50   26.00   26.67    0.25   75%  25% Peek item [empty] mbox
-   28.00   28.00   28.00    0.00  100% 100% Tryget [empty] mbox
-    3.25    2.67    3.33    0.15   87%  12% Waiting to get mbox
-    3.25    2.67    3.33    0.15   87%  12% Waiting to put mbox
-   30.83   30.67   31.33    0.25   75%  75% Delete mbox
-  101.08  100.67  101.33    0.31   62%  37% Put/Get mbox
-
-   11.17   10.67   11.33    0.25   75%  25% Init semaphore
-   24.17   24.00   24.67    0.25   75%  75% Post [0] semaphore
-   27.08   26.67   27.33    0.31   62%  37% Wait [1] semaphore
-   22.75   22.67   23.33    0.15   87%  87% Trywait [0] semaphore
-   22.21   22.00   22.67    0.29   68%  68% Trywait [1] semaphore
-    7.33    7.33    7.33    0.00  100% 100% Peek semaphore
-    5.92    5.33    6.00    0.15   87%  12% Destroy semaphore
-  110.04  110.00  110.67    0.08   93%  93% Post/Wait semaphore
-
-    9.54    9.33   10.00    0.29   68%  68% Create counter
-    3.92    3.33    4.00    0.15   87%  12% Get counter value
-    4.00    4.00    4.00    0.00  100% 100% Set counter value
-   30.92   30.67   31.33    0.31   62%  62% Tick counter
-    5.75    5.33    6.00    0.31   62%  37% Delete counter
-
-   13.83   13.33   14.00    0.25   75%  25% Create alarm
-   46.67   46.67   46.67    0.00  100% 100% Initialize alarm
-    3.67    3.33    4.00    0.33  100%  50% Disable alarm
-   45.67   45.33   46.00    0.33  100%  50% Enable alarm
-    8.33    8.00    8.67    0.33  100%  50% Delete alarm
-   36.33   36.00   36.67    0.33  100%  50% Tick counter [1 alarm]
-  214.67  214.67  214.67    0.00  100% 100% Tick counter [many alarms]
-   62.67   62.67   62.67    0.00  100% 100% Tick &#38; fire counter [1 alarm]
- 1087.04 1075.33 1278.67   21.91   93%  93% Tick &#38; fire counters [&#62;1 together]
-  246.35  240.67  412.00   10.35   96%  96% Tick &#38; fire counters [&#62;1 separately]
-  168.01  167.33  237.33    1.08   99%  99% Alarm latency [0 threads]
-  187.36  168.00  234.67    3.60   86%   1% Alarm latency [2 threads]
-  187.37  167.33  235.33    3.59   85%   1% Alarm latency [many threads]
-  303.12  280.00  508.67    3.21   98%   0% Alarm -&#62; thread resume latency
-
-   36.65   36.00   38.67    0.00            Clock/interrupt latency
-
-   65.79   52.00  152.67    0.00            Clock DSR latency
-
-  316     316     316  (main stack:   752)  Thread stack used (1120 total)
-All done, main stack            : stack used   752 size  2400
-All done             :  Interrupt stack used   280 size  2048
-All done             : Idlethread stack used   268 size  2048
-
-Timing complete - 30390 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-synth-i386linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-at91-eb40.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->i386/Linux Synthetic Target Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendices.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Atmel AT91/EB40</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/repository-app-build-tree.html b/doc/html/user-guide/repository-app-build-tree.html
deleted file mode 100644 (file)
index acd899a..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Application Build Tree</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="The Component Repository and Working Directories"
-HREF="component-repo-and-working-dirs.html"><LINK
-REL="PREVIOUS"
-TITLE="Install Tree"
-HREF="install-tree.html"><LINK
-REL="NEXT"
-TITLE="Compiler and Linker Options"
-HREF="compiler-and-linker-options.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="install-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 25. The Component Repository and Working Directories</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="compiler-and-linker-options.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="REPOSITORY-APP-BUILD-TREE">Application Build Tree</H1
-><P
->This tree is not part of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> itself: it is the
-         directory in which <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> end users write their own
-         applications.</P
-><P
->Example applications and their
-         <TT
-CLASS="FILENAME"
->Makefile</TT
-> are located in the component
-         repository, in the directory
-         <TT
-CLASS="FILENAME"
->BASE_DIR</TT
-><TT
-CLASS="FILENAME"
->/examples</TT
->. 
-         
-       </P
-><P
->There is no imposed format on this directory, but there
-         are certain compiler and linker flags that must be used to
-         compile an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> application. The basic set of flags is shown
-         in the example <TT
-CLASS="FILENAME"
->Makefile</TT
->, and additional
-         details can be found in <A
-HREF="compiler-and-linker-options.html"
->Chapter 26</A
->. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="install-tree.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="compiler-and-linker-options.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Install Tree</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="component-repo-and-working-dirs.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Compiler and Linker Options</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-arm-assabet.html b/doc/html/user-guide/rt-arm-assabet.html
deleted file mode 100644 (file)
index 5e44ae9..0000000
+++ /dev/null
@@ -1,290 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Intel SA1110 (Assabet)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: NEC VR4373"
-HREF="rt-vr4300-vrc4373.html"><LINK
-REL="NEXT"
-TITLE="Board: Intel SA1100 (Brutus)"
-HREF="rt-arm-brutus.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-vr4300-vrc4373.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-arm-brutus.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-ASSABET">Board: Intel SA1110 (Assabet)</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Intel SA1110 (Assabet)
-
-CPU :  StrongARM 221.2 MHz
-
-
-
-Microseconds for one run through Dhrystone:     3.3 
-Dhrystones per Second:                        306748.5 
-VAX MIPS rating =    174.586 
-
-Startup, main stack             : stack used   420 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    84 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    3.20 microseconds (11 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-    5.98    4.88   14.38    0.70   57%  35% Create thread
-    0.86    0.81    1.90    0.08   87%  87% Yield thread [all suspended]
-    1.05    0.81    3.53    0.19   46%  39% Suspend [suspended] thread
-    1.07    0.81    3.80    0.18   48%  35% Resume thread
-    1.36    1.09    5.97    0.22   45%  39% Set priority
-    0.73    0.54    1.90    0.19   85%  50% Get priority
-    2.93    2.44   13.56    0.39   79%  70% Kill [suspended] thread
-    0.89    0.81    4.34    0.14   89%  89% Yield [no other] thread
-    1.63    1.36    4.61    0.17   57%  29% Resume [suspended low prio] thread
-    1.03    0.81    3.53    0.19   46%  42% Resume [runnable low prio] thread
-    1.74    1.36    6.51    0.22   87%   6% Suspend [runnable] thread
-    0.93    0.81    4.61    0.18   98%  78% Yield [only low prio] thread
-    1.06    0.81    3.26    0.19   42%  39% Suspend [runnable-&#62;not runnable]
-    2.56    1.90   13.02    0.41   87%  34% Kill [runnable] thread
-    2.02    1.63    7.05    0.22   92%   3% Destroy [dead] thread
-    3.09    2.44   15.19    0.51   78%  46% Destroy [runnable] thread
-    6.77    5.43   13.02    0.59   75%  17% Resume [high priority] thread
-    1.81    1.63    7.87    0.18   49%  49% Thread switch
-
-    0.25    0.00    1.36    0.05   89%  10% Scheduler lock
-    0.51    0.27    1.36    0.06   85%  13% Scheduler unlock [0 threads]
-    0.51    0.27    1.09    0.06   85%  13% Scheduler unlock [1 suspended]
-    0.51    0.27    1.09    0.07   85%  14% Scheduler unlock [many suspended]
-    0.51    0.27    1.09    0.06   85%  13% Scheduler unlock [many low prio]
-
-    0.52    0.27    2.17    0.15   62%  31% Init mutex
-    0.97    0.54    4.34    0.28   84%  65% Lock [unlocked] mutex
-    1.05    0.81    5.15    0.28   96%  96% Unlock [locked] mutex
-    0.86    0.54    3.26    0.24   65%  31% Trylock [unlocked] mutex
-    0.79    0.54    3.53    0.23   43%  46% Trylock [locked] mutex
-    0.33    0.27    1.63    0.11   90%  90% Destroy mutex
-    4.16    3.80    8.95    0.30   75%  96% Unlock/Lock mutex
-
-    0.70    0.54    2.98    0.21   96%  65% Create mbox
-    0.59    0.27    1.63    0.14   75%   9% Peek [empty] mbox
-    1.33    1.09    5.70    0.31   96%  93% Put [first] mbox
-    0.61    0.27    1.63    0.13   81%   3% Peek [1 msg] mbox
-    1.35    1.09    5.43    0.31   96%  87% Put [second] mbox
-    0.58    0.27    1.36    0.11   78%   6% Peek [2 msgs] mbox
-    1.38    1.09    4.88    0.25   59%  37% Get [first] mbox
-    1.40    1.09    5.15    0.26   62%  34% Get [second] mbox
-    1.27    0.81    4.88    0.28   90%  65% Tryput [first] mbox
-    1.34    0.81    4.61    0.22   59%   6% Peek item [non-empty] mbox
-    1.47    1.09    5.15    0.27   84%  12% Tryget [non-empty] mbox
-    1.12    0.81    4.34    0.23   59%  31% Peek item [empty] mbox
-    1.14    0.81    4.07    0.24   71%  25% Tryget [empty] mbox
-    0.59    0.27    1.36    0.12   78%   6% Waiting to get mbox
-    0.59    0.27    1.36    0.12   78%   6% Waiting to put mbox
-    1.28    0.81    5.43    0.32   87%  78% Delete mbox
-    2.64    2.17   10.31    0.48   96%  96% Put/Get mbox
-
-    0.47    0.27    2.17    0.19   46%  46% Init semaphore
-    0.77    0.54    3.80    0.26   90%  56% Post [0] semaphore
-    0.90    0.54    4.07    0.26   75%  21% Wait [1] semaphore
-    0.85    0.54    3.26    0.21   56%  28% Trywait [0] semaphore
-    0.69    0.54    2.17    0.18   96%  62% Trywait [1] semaphore
-    0.44    0.27    2.17    0.19   96%  56% Peek semaphore
-    0.38    0.27    1.90    0.17   96%  75% Destroy semaphore
-    2.74    2.44    9.49    0.42   96%  96% Post/Wait semaphore
-
-    0.43    0.27    1.90    0.18   96%  56% Create counter
-    0.49    0.00    2.17    0.18   56%   3% Get counter value
-    0.33    0.00    1.63    0.13   78%   6% Set counter value
-    1.03    0.81    2.44    0.22   84%  50% Tick counter
-    0.42    0.27    1.90    0.20   90%  65% Delete counter
-
-    0.70    0.54    2.44    0.20   93%  62% Create alarm
-    1.65    1.36    6.78    0.40   96%  81% Initialize alarm
-    0.75    0.54    1.63    0.18   43%  43% Disable alarm
-    1.75    1.36    7.05    0.38   65%  81% Enable alarm
-    0.81    0.54    2.44    0.15   62%  28% Delete alarm
-    1.01    0.81    2.17    0.16   56%  40% Tick counter [1 alarm]
-    4.19    4.07    5.43    0.16   96%  68% Tick counter [many alarms]
-    1.48    1.36    3.80    0.20   96%  78% Tick &#38; fire counter [1 alarm]
-   20.23   20.07   22.52    0.21   96%  65% Tick &#38; fire counters [&#62;1 together]
-    4.70    4.61    6.78    0.16   87%  87% Tick &#38; fire counters [&#62;1 separately]
-    2.81    2.71   14.38    0.20   98%  98% Alarm latency [0 threads]
-    3.19    2.71   13.56    0.38   73%  59% Alarm latency [2 threads]
-    9.71    7.87   18.17    1.25   59%  53% Alarm latency [many threads]
-    5.77    5.43   45.57    0.68   97%  97% Alarm -&#62; thread resume latency
-
-    2.38    0.81    9.49    0.00            Clock/interrupt latency
-
-    2.02    1.09    7.32    0.00            Clock DSR latency
-
-   11       0     316  (main stack:   764)  Thread stack used (1120 total)
-All done, main stack            : stack used   764 size  2400
-All done             :  Interrupt stack used   287 size  4096
-All done             : Idlethread stack used   272 size  2048
-
-Timing complete - 30220 ms total
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-vr4300-vrc4373.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-arm-brutus.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: NEC VR4373</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Intel SA1100 (Brutus)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-arm-brutus.html b/doc/html/user-guide/rt-arm-brutus.html
deleted file mode 100644 (file)
index f5d5b68..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Intel SA1100 (Brutus)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Intel SA1110 (Assabet)"
-HREF="rt-arm-assabet.html"><LINK
-REL="NEXT"
-TITLE="Board: Motorola MBX"
-HREF="rt-ppc-mbx860.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-arm-assabet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-ppc-mbx860.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-BRUTUS">Board: Intel SA1100 (Brutus)</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Intel SA1100 (Brutus)
-
-CPU :  StrongARM 221.2 MHz
-
-Microseconds for one run through Dhrystone:     3.3 
-Dhrystones per Second:                        306748.5 
-VAX MIPS rating =    174.586 
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    87 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    3.09 microseconds (11 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-    6.63    5.43   18.99    0.77   70%  37% Create thread
-    0.83    0.81    2.17    0.04   98%  98% Yield thread [all suspended]
-    1.27    0.81    5.15    0.30   68%  73% Suspend [suspended] thread
-    1.25    0.81    5.15    0.25   82%   1% Resume thread
-    1.52    1.09    7.87    0.30   78%  75% Set priority
-    0.97    0.54    2.71    0.28   64%  51% Get priority
-    3.45    2.71   19.53    0.66   84%  76% Kill [suspended] thread
-    0.90    0.81    6.24    0.17   98%  98% Yield [no other] thread
-    1.86    1.36    6.24    0.33   68%  50% Resume [suspended low prio] thread
-    1.25    0.81    5.15    0.25   82%   1% Resume [runnable low prio] thread
-    2.01    1.63   10.04    0.32   70%  84% Suspend [runnable] thread
-    0.90    0.81    6.24    0.17   98%  98% Yield [only low prio] thread
-    1.25    0.81    5.15    0.24   84%   1% Suspend [runnable-&#62;not runnable]
-    2.92    1.90   18.72    0.57   85%  43% Kill [runnable] thread
-    2.45    1.90   10.31    0.33   95%  54% Destroy [dead] thread
-    3.95    2.71   23.60    0.89   68%  54% Destroy [runnable] thread
-    8.55    6.24   19.53    1.15   60%  23% Resume [high priority] thread
-    1.85    1.63   11.94    0.21   49%  49% Thread switch
-
-    0.25    0.00    1.63    0.05   89%  10% Scheduler lock
-    0.52    0.27    1.90    0.07   85%  13% Scheduler unlock [0 threads]
-    0.51    0.27    1.36    0.06   85%  13% Scheduler unlock [1 suspended]
-    0.51    0.27    1.36    0.06   85%  13% Scheduler unlock [many suspended]
-    0.51    0.27    1.63    0.06   85%  13% Scheduler unlock [many low prio]
-
-    0.58    0.27    3.53    0.20   71%  21% Init mutex
-    1.07    0.54    5.70    0.35   87%  59% Lock [unlocked] mutex
-    1.14    0.81    6.51    0.40   96%  81% Unlock [locked] mutex
-    0.96    0.54    5.15    0.34   68%  65% Trylock [unlocked] mutex
-    0.94    0.54    4.88    0.34   65%  65% Trylock [locked] mutex
-    0.33    0.27    2.17    0.11   96%  96% Destroy mutex
-    4.21    3.80   10.85    0.41   71%  96% Unlock/Lock mutex
-    0.76    0.54    4.07    0.25   96%  56% Create mbox
-    0.75    0.54    1.90    0.20   84%  50% Peek [empty] mbox
-    1.56    1.09    6.78    0.39   68%  59% Put [first] mbox
-    0.75    0.54    1.90    0.20   84%  50% Peek [1 msg] mbox
-    1.55    1.09    6.78    0.40   68%  62% Put [second] mbox
-    0.77    0.54    1.63    0.17   46%  37% Peek [2 msgs] mbox
-    1.67    1.09    6.24    0.31   87%  34% Get [first] mbox
-    1.63    1.09    6.24    0.31   75%  34% Get [second] mbox
-    1.50    1.09    6.51    0.40   56%  62% Tryput [first] mbox
-    1.58    1.09    5.43    0.37   68%  53% Peek item [non-empty] mbox
-    1.79    1.09    7.05    0.43   71%  25% Tryget [non-empty] mbox
-    1.29    1.09    5.15    0.32   87%  87% Peek item [empty] mbox
-    1.33    1.09    5.97    0.37   96%  84% Tryget [empty] mbox
-    0.73    0.54    1.90    0.21   84%  56% Waiting to get mbox
-    0.76    0.54    1.90    0.19   40%  43% Waiting to put mbox
-    1.47    1.09    6.78    0.39   59%  84% Delete mbox
-    2.70    2.17   12.75    0.63   96%  96% Put/Get mbox
-
-    0.47    0.27    2.71    0.20   96%  50% Init semaphore
-    0.89    0.54    4.88    0.33   56%  75% Post [0] semaphore
-    0.96    0.54    5.15    0.33   71%  75% Wait [1] semaphore
-    0.86    0.54    4.88    0.32   96%  81% Trywait [0] semaphore
-    0.69    0.54    3.26    0.22   96%  75% Trywait [1] semaphore
-    0.49    0.27    3.26    0.28   84%  84% Peek semaphore
-    0.39    0.27    2.44    0.19   96%  78% Destroy semaphore
-    2.83    2.44   11.66    0.55   96%  96% Post/Wait semaphore
-
-    0.52    0.27    3.26    0.20   56%  40% Create counter
-    0.59    0.00    2.71    0.34   81%  46% Get counter value
-    0.36    0.00    2.44    0.21   81%   9% Set counter value
-    1.13    0.81    2.98    0.26   59%  37% Tick counter
-    0.39    0.27    1.90    0.19   90%  78% Delete counter
-
-    0.86    0.54    4.07    0.24   65%  31% Create alarm
-    1.86    1.36    9.77    0.54   96%  90% Initialize alarm
-    0.77    0.54    2.71    0.23   84%  50% Disable alarm
-    1.86    1.36    9.22    0.51   96%  75% Enable alarm
-    0.89    0.54    3.26    0.25   65%  21% Delete alarm
-    0.99    0.81    3.26    0.21   96%  59% Tick counter [1 alarm]
-    4.22    4.07    6.78    0.22   96%  71% Tick counter [many alarms]
-    1.51    1.36    4.61    0.24   96%  78% Tick &#38; fire counter [1 alarm]
-   20.29   20.07   23.33    0.23   96%  53% Tick &#38; fire counters [&#62;1 together]
-    4.71    4.61    7.87    0.20   96%  96% Tick &#38; fire counters [&#62;1 separately]
-    2.88    2.71   23.87    0.33   99%  99% Alarm latency [0 threads]
-    3.24    2.71   17.36    0.40   79%  58% Alarm latency [2 threads]
-   15.71   12.48   27.40    1.47   53%  17% Alarm latency [many threads]
-    5.95    5.43   64.56    1.02   97%  97% Alarm -&#62; thread resume latency
-
-    3.25    0.81   14.11    0.00            Clock/interrupt latency
-
-    2.68    1.09   12.75    0.00            Clock DSR latency
-
-   29       0     316  (main stack:   764)  Thread stack used (1120 total)
-All done, main stack            : stack used   764 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   260 size  2048
-
-
-Timing complete - 30280 ms total
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-arm-assabet.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-ppc-mbx860.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Intel SA1110 (Assabet)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Motorola MBX</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-arm-ebsa285.html b/doc/html/user-guide/rt-arm-ebsa285.html
deleted file mode 100644 (file)
index 81d5df0..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Intel StrongARM EBSA-285 Evaluation Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Atmel AT91/EB40"
-HREF="rt-at91-eb40.html"><LINK
-REL="NEXT"
-TITLE="Board: Cirrus Logic EDB7111-2 Development Board"
-HREF="rt-arm-ep7211.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-at91-eb40.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-arm-ep7211.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-EBSA285">Board: Intel StrongARM EBSA-285 Evaluation Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Intel StrongARM EBSA-285 Evaluation Board
-
-CPU   : Intel StrongARM SA-110 228MHz
-
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    80 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 1 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    4.61 microseconds (16 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-    4.97    3.26    7.34    0.60   50%   4% Create thread
-    0.73    0.54    2.17    0.14   60%  37% Yield thread [all suspended]
-    0.98    0.82    2.99    0.23   81%  68% Suspend [suspended] thread
-    0.54    0.27    1.63    0.03   92%   6% Resume thread
-    0.83    0.54    1.90    0.10   73%  14% Set priority
-    0.21    0.00    0.54    0.21   25%  48% Get priority
-    2.25    1.90   10.05    0.37   96%  67% Kill [suspended] thread
-    0.70    0.54    1.09    0.14   53%  45% Yield [no other] thread
-    0.96    0.82    1.36    0.14   50%  48% Resume [suspended low prio] thread
-    0.53    0.27    0.82    0.03   92%   6% Resume [runnable low prio] thread
-    0.90    0.82    1.63    0.13   70%  70% Suspend [runnable] thread
-    0.70    0.54    0.82    0.13   57%  42% Yield [only low prio] thread
-    0.55    0.54    0.82    0.01   98%  98% Suspend [runnable-&#62;not runnable]
-    1.64    1.63    2.17    0.02   98%  98% Kill [runnable] thread
-    0.97    0.82    4.62    0.20   98%  64% Destroy [dead] thread
-    2.17    1.90    2.17    0.01   98%   1% Destroy [runnable] thread
-    6.06    5.16   10.60    0.53   59%  31% Resume [high priority] thread
-    1.69    1.63    5.98    0.11   90%  90% Thread switch
-
-    0.14    0.00    1.36    0.14   99%  50% Scheduler lock
-    0.37    0.27    0.54    0.13   62%  62% Scheduler unlock [0 threads]
-    0.38    0.27    0.54    0.13   60%  60% Scheduler unlock [1 suspended]
-    0.37    0.27    0.54    0.13   63%  63% Scheduler unlock [many suspended]
-    0.37    0.27    0.54    0.13   63%  63% Scheduler unlock [many low prio]
-
-    0.34    0.00    1.90    0.15   78%   6% Init mutex
-    0.88    0.54    4.62    0.37   93%  71% Lock [unlocked] mutex
-    0.79    0.54    4.35    0.26   93%  53% Unlock [locked] mutex
-    0.59    0.27    2.17    0.10   93%   3% Trylock [unlocked] mutex
-    0.50    0.27    0.82    0.09   78%  18% Trylock [locked] mutex
-    0.18    0.00    0.54    0.13   59%  37% Destroy mutex
-    3.85    3.80    5.16    0.08   96%  96% Unlock/Lock mutex
-
-    0.64    0.27    3.53    0.24   81%  15% Create mbox
-    0.61    0.27    2.17    0.21   68%  18% Peek [empty] mbox
-    0.87    0.54    5.16    0.31   59%  87% Put [first] mbox
-    0.08    0.00    0.54    0.12   71%  71% Peek [1 msg] mbox
-    0.71    0.54    1.09    0.14   56%  40% Put [second] mbox
-    0.08    0.00    0.27    0.12   68%  68% Peek [2 msgs] mbox
-    0.89    0.54    4.89    0.31   62%  81% Get [first] mbox
-    0.76    0.54    1.09    0.17   43%  37% Get [second] mbox
-    0.76    0.54    3.26    0.21   96%  50% Tryput [first] mbox
-    0.65    0.54    2.45    0.17   81%  81% Peek item [non-empty] mbox
-    0.76    0.54    2.72    0.19   53%  43% Tryget [non-empty] mbox
-    0.58    0.54    0.82    0.06   87%  87% Peek item [empty] mbox
-    0.61    0.54    0.82    0.10   75%  75% Tryget [empty] mbox
-    0.10    0.00    0.54    0.13   65%  65% Waiting to get mbox
-    0.10    0.00    0.54    0.13   65%  65% Waiting to put mbox
-    0.77    0.54    3.26    0.20   53%  43% Delete mbox
-    2.10    1.90    6.25    0.30   93%  93% Put/Get mbox
-
-    0.34    0.27    1.09    0.11   81%  81% Init semaphore
-    0.60    0.27    1.09    0.12   68%   6% Post [0] semaphore
-    0.59    0.54    0.82    0.08   81%  81% Wait [1] semaphore
-    0.59    0.54    2.17    0.10   96%  96% Trywait [0] semaphore
-    0.48    0.27    0.82    0.11   71%  25% Trywait [1] semaphore
-    0.24    0.00    0.82    0.09   78%  18% Peek semaphore
-    0.19    0.00    0.54    0.13   62%  34% Destroy semaphore
-    2.28    2.17    4.08    0.18   93%  90% Post/Wait semaphore
-
-    0.43    0.00    2.72    0.23   90%   6% Create counter
-    0.40    0.00    1.63    0.25   68%  28% Get counter value
-    0.13    0.00    0.82    0.15   96%  59% Set counter value
-    0.71    0.54    1.63    0.16   50%  46% Tick counter
-    0.16    0.00    0.54    0.14   53%  43% Delete counter
-
-    0.47    0.27    1.36    0.15   59%  37% Create alarm
-    1.58    1.09    7.07    0.44   71%  68% Initialize alarm
-    0.12    0.00    1.09    0.16   96%  65% Disable alarm
-    1.01    0.82    2.45    0.17   53%  43% Enable alarm
-    0.21    0.00    0.27    0.09   78%  21% Delete alarm
-    0.78    0.54    1.90    0.12   71%  25% Tick counter [1 alarm]
-    3.90    3.80    4.35    0.13   68%  68% Tick counter [many alarms]
-    1.25    1.09    1.63    0.14   53%  43% Tick &#38; fire counter [1 alarm]
-   19.88   19.84   20.11    0.07   84%  84% Tick &#38; fire counters [&#62;1 together]
-    4.37    4.35    4.62    0.05   90%  90% Tick &#38; fire counters [&#62;1 separately]
-    3.83    3.80    7.61    0.06   99%  99% Alarm latency [0 threads]
-    4.46    3.80    7.88    0.27   71%  24% Alarm latency [2 threads]
-   16.06   13.59   26.36    1.05   54%  10% Alarm latency [many threads]
-    6.67    6.52   22.83    0.29   98%  98% Alarm -&#62; thread resume latency
-
-    1.89    0.82    9.78    0.00            Clock/interrupt latency
-
-    2.17    1.09    7.34    0.00            Clock DSR latency
-
-   11       0     316  (main stack:   744)  Thread stack used (1120 total)
-All done, main stack            : stack used   744 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   268 size  2048
-
-Timing complete - 30210 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-at91-eb40.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-arm-ep7211.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Atmel AT91/EB40</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Cirrus Logic EDB7111-2 Development Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-arm-ep7211.html b/doc/html/user-guide/rt-arm-ep7211.html
deleted file mode 100644 (file)
index 1d995f0..0000000
+++ /dev/null
@@ -1,443 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Cirrus Logic EDB7111-2 Development Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Intel StrongARM EBSA-285 Evaluation Board"
-HREF="rt-arm-ebsa285.html"><LINK
-REL="NEXT"
-TITLE="Board: ARM PID Evaluation Board"
-HREF="rt-arm-pid.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-arm-ebsa285.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-arm-pid.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-EP7211">Board: Cirrus Logic EDB7111-2 Development Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4500">CPU  : Cirrus Logic EP7211 73MHz</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Cirrus Logic EDB7111-2 Development Board
-
-CPU  : Cirrus Logic EP7211 73MHz
-
-
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    88 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  356.69 microseconds (182 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   22.71   17.58   37.11    3.07   46%  34% Create thread
-    4.36    3.91    5.86    0.70   76%  76% Yield thread [all suspended]
-    4.24    3.91    7.81    0.56   84%  84% Suspend [suspended] thread
-    4.09    1.95    7.81    0.45   85%   3% Resume thread
-    5.31    3.91   11.72    0.92   65%  32% Set priority
-    2.11    1.95    3.91    0.28   92%  92% Get priority
-   11.54    9.77   25.39    0.99   62%  28% Kill [suspended] thread
-    4.46    3.91    9.77    0.82   75%  75% Yield [no other] thread
-    7.57    5.86   13.67    0.69   75%  20% Resume [suspended low prio] thread
-    3.94    1.95    5.86    0.18   92%   3% Resume [runnable low prio] thread
-    7.02    5.86   13.67    1.05   53%  45% Suspend [runnable] thread
-    4.42    3.91    9.77    0.79   76%  76% Yield [only low prio] thread
-    4.24    1.95    5.86    0.61   79%   1% Suspend [runnable-&#62;not runnable]
-   11.29    9.77   27.34    1.14   57%  37% Kill [runnable] thread
-    6.29    3.91   11.72    0.84   71%   4% Destroy [dead] thread
-   13.52   11.72   31.25    0.90   70%  25% Destroy [runnable] thread
-   24.50   21.48   42.97    1.69   79%  12% Resume [high priority] thread
-    8.79    7.81   19.53    1.05   99%  53% Thread switch
-
-    1.66    0.00    3.91    0.52   83%  15% Scheduler lock
-    2.59    1.95    3.91    0.86   67%  67% Scheduler unlock [0 threads]
-    2.62    1.95    3.91    0.88   65%  65% Scheduler unlock [1 suspended]
-    2.61    1.95    3.91    0.87   66%  66% Scheduler unlock [many suspended]
-    2.58    1.95    3.91    0.85   67%  67% Scheduler unlock [many low prio]
-
-    2.69    1.95    5.86    0.96   65%  65% Init mutex
-    4.88    3.91    9.77    1.10   96%  56% Lock [unlocked] mutex
-    4.64    3.91   11.72    1.05   71%  71% Unlock [locked] mutex
-    3.97    1.95    7.81    0.47   81%   9% Trylock [unlocked] mutex
-    3.48    1.95    3.91    0.67   78%  21% Trylock [locked] mutex
-    1.77    0.00    3.91    0.44   84%  12% Destroy mutex
-   31.92   29.30   42.97    1.65   71%  18% Unlock/Lock mutex
-
-    4.09    3.91    9.77    0.35   96%  96% Create mbox
-    1.83    0.00    3.91    0.34   87%   9% Peek [empty] mbox
-    5.31    3.91    9.77    0.96   62%  34% Put [first] mbox
-    1.59    0.00    1.95    0.60   81%  18% Peek [1 msg] mbox
-    5.19    3.91    9.77    1.04   56%  40% Put [second] mbox
-    1.65    0.00    3.91    0.62   78%  18% Peek [2 msgs] mbox
-    5.43    3.91    9.77    0.86   68%  28% Get [first] mbox
-    5.31    3.91    7.81    0.96   59%  34% Get [second] mbox
-    4.76    3.91    9.77    1.07   62%  62% Tryput [first] mbox
-    4.82    1.95    9.77    1.15   93%   3% Peek item [non-empty] mbox
-    5.55    3.91   11.72    0.82   71%  25% Tryget [non-empty] mbox
-    3.97    1.95    7.81    0.59   75%  12% Peek item [empty] mbox
-    4.33    3.91    7.81    0.69   81%  81% Tryget [empty] mbox
-    1.59    0.00    3.91    0.79   68%  25% Waiting to get mbox
-    1.71    0.00    3.91    0.53   81%  15% Waiting to put mbox
-    5.25    3.91    9.77    1.01   59%  37% Delete mbox
-   17.82   15.63   29.30    1.14   65%  18% Put/Get mbox
-
-    2.69    1.95    5.86    0.96   65%  65% Init semaphore
-    3.78    1.95    7.81    0.46   84%  12% Post [0] semaphore
-    4.27    3.91    7.81    0.62   84%  84% Wait [1] semaphore
-    3.72    1.95    7.81    0.66   75%  18% Trywait [0] semaphore
-    3.29    1.95    5.86    0.92   62%  34% Trywait [1] semaphore
-    2.32    1.95    3.91    0.59   81%  81% Peek semaphore
-    1.89    0.00    3.91    0.24   90%   6% Destroy semaphore
-   15.75   13.67   29.30    1.07   68%  21% Post/Wait semaphore
-
-    2.69    1.95    5.86    0.96   65%  65% Create counter
-    1.83    0.00    1.95    0.23   93%   6% Get counter value
-    1.53    0.00    3.91    0.76   71%  25% Set counter value
-    4.82    3.91    5.86    0.97   53%  53% Tick counter
-    1.89    0.00    1.95    0.12   96%   3% Delete counter
-
-    3.78    1.95    7.81    0.46   84%  12% Create alarm
-    7.99    5.86   15.63    0.70   81%   9% Initialize alarm
-    1.71    0.00    1.95    0.43   87%  12% Disable alarm
-    7.14    5.86   11.72    1.04   56%  40% Enable alarm
-    2.50    1.95    3.91    0.79   71%  71% Delete alarm
-    4.94    3.91    7.81    1.04   96%  50% Tick counter [1 alarm]
-   19.47   17.58   23.44    0.36   87%   9% Tick counter [many alarms]
-    7.63    5.86   11.72    0.55   81%  15% Tick &#38; fire counter [1 alarm]
-   99.06   97.66  105.47    1.05   59%  37% Tick &#38; fire counters [&#62;1 together]
-   22.15   21.48   27.34    0.96   71%  71% Tick &#38; fire counters [&#62;1 separately]
-  359.16  357.42  378.91    0.87   71%  25% Alarm latency [0 threads]
-  364.03  357.42  402.34    3.03   58%  15% Alarm latency [2 threads]
-  408.25  402.34  416.02    2.89   53%  24% Alarm latency [many threads]
-  381.16  376.95  492.19    2.48   95%  46% Alarm -&#62; thread resume latency
-
-    9.79    5.86   19.53    0.00            Clock/interrupt latency
-
-   12.13    5.86   31.25    0.00            Clock DSR latency
-
-   12       0     316  (main stack:   752)  Thread stack used (1120 total)
-All done, main stack            : stack used   752 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   276 size  2048
-
-Timing complete - 30450 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-         </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4503">CPU  : Cirrus Logic EP7212 73MHz</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Cirrus Logic EDB7111-2 Development Board
-
-CPU  : Cirrus Logic EP7212 73MHz
-
-
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    88 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  356.32 microseconds (182 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   22.43   15.63   33.20    3.02   68%  18% Create thread
-    4.48    3.91    5.86    0.81   70%  70% Yield thread [all suspended]
-    4.42    3.91    7.81    0.78   75%  75% Suspend [suspended] thread
-    4.12    1.95    5.86    0.49   82%   3% Resume thread
-    5.62    3.91   11.72    0.64   78%  18% Set priority
-    2.17    1.95    3.91    0.38   89%  89% Get priority
-   11.54    9.77   27.34    0.88   70%  25% Kill [suspended] thread
-    4.64    3.91    9.77    0.96   65%  65% Yield [no other] thread
-    7.51    5.86   15.63    0.72   76%  21% Resume [suspended low prio] thread
-    3.88    1.95    9.77    0.42   82%  10% Resume [runnable low prio] thread
-    7.14    5.86   13.67    1.00   59%  39% Suspend [runnable] thread
-    4.52    3.91    7.81    0.86   70%  70% Yield [only low prio] thread
-    4.15    1.95    7.81    0.49   85%   1% Suspend [runnable-&#62;not runnable]
-   11.26    9.77   27.34    1.17   56%  39% Kill [runnable] thread
-    6.22    3.91   13.67    0.88   70%   7% Destroy [dead] thread
-   13.64   11.72   33.20    1.02   64%  26% Destroy [runnable] thread
-   24.17   21.48   41.02    1.49   82%  12% Resume [high priority] thread
-    8.80    7.81   21.48    1.08   98%  54% Thread switch
-
-    1.60    0.00    1.95    0.58   82%  17% Scheduler lock
-    2.61    1.95    3.91    0.87   66%  66% Scheduler unlock [0 threads]
-    2.59    1.95    3.91    0.86   67%  67% Scheduler unlock [1 suspended]
-    2.61    1.95    3.91    0.87   66%  66% Scheduler unlock [many suspended]
-    2.59    1.95    3.91    0.86   67%  67% Scheduler unlock [many low prio]
-
-    2.62    1.95    3.91    0.88   65%  65% Init mutex
-    4.82    3.91    9.77    1.09   96%  59% Lock [unlocked] mutex
-    4.39    3.91    9.77    0.79   81%  81% Unlock [locked] mutex
-    3.84    1.95    7.81    0.36   87%   9% Trylock [unlocked] mutex
-    3.54    1.95    5.86    0.69   75%  21% Trylock [locked] mutex
-    1.83    0.00    3.91    0.34   87%   9% Destroy mutex
-   34.61   31.25   46.88    1.68   78%   9% Unlock/Lock mutex
-
-    3.97    1.95    7.81    0.24   93%   3% Create mbox
-    1.83    0.00    3.91    0.34   87%   9% Peek [empty] mbox
-    4.76    3.91    9.77    1.07   62%  62% Put [first] mbox
-    1.71    0.00    3.91    0.64   75%  18% Peek [1 msg] mbox
-    5.00    3.91    9.77    1.10   96%  50% Put [second] mbox
-    1.65    0.00    1.95    0.52   84%  15% Peek [2 msgs] mbox
-    5.31    3.91   11.72    1.05   59%  37% Get [first] mbox
-    5.13    3.91    7.81    0.99   56%  40% Get [second] mbox
-    4.76    3.91   11.72    1.12   96%  65% Tryput [first] mbox
-    4.46    3.91    7.81    0.82   75%  75% Peek item [non-empty] mbox
-    5.55    3.91    9.77    0.82   68%  25% Tryget [non-empty] mbox
-    4.03    1.95    7.81    0.58   78%   9% Peek item [empty] mbox
-    4.27    3.91    5.86    0.59   81%  81% Tryget [empty] mbox
-    1.77    0.00    3.91    0.44   84%  12% Waiting to get mbox
-    1.59    0.00    1.95    0.60   81%  18% Waiting to put mbox
-    5.37    3.91    9.77    0.91   65%  31% Delete mbox
-   16.66   13.67   27.34    1.42   90%   3% Put/Get mbox
-
-    2.62    1.95    5.86    0.92   68%  68% Init semaphore
-    3.84    1.95    7.81    0.47   81%  12% Post [0] semaphore
-    4.21    3.91    7.81    0.53   87%  87% Wait [1] semaphore
-    3.48    1.95    5.86    0.76   71%  25% Trywait [0] semaphore
-    3.60    1.95    5.86    0.62   78%  18% Trywait [1] semaphore
-    2.26    1.95    5.86    0.53   87%  87% Peek semaphore
-    1.89    0.00    1.95    0.12   96%   3% Destroy semaphore
-   16.05   13.67   29.30    1.40   59%  18% Post/Wait semaphore
-
-    2.38    1.95    3.91    0.67   78%  78% Create counter
-    2.01    0.00    3.91    0.35   84%   6% Get counter value
-    1.89    0.00    3.91    0.24   90%   6% Set counter value
-    4.58    3.91    5.86    0.88   65%  65% Tick counter
-    1.71    0.00    1.95    0.43   87%  12% Delete counter
-
-    3.84    1.95    7.81    0.36   87%   9% Create alarm
-    7.99    5.86   15.63    0.47   93%   3% Initialize alarm
-    2.01    0.00    3.91    0.35   84%   6% Disable alarm
-    6.53    5.86   13.67    1.01   75%  75% Enable alarm
-    2.32    1.95    3.91    0.59   81%  81% Delete alarm
-    4.76    3.91    7.81    1.01   59%  59% Tick counter [1 alarm]
-   19.53   17.58   23.44    0.24   90%   6% Tick counter [many alarms]
-    7.57    5.86   13.67    0.75   75%  21% Tick &#38; fire counter [1 alarm]
-   98.57   97.66  105.47    1.14   96%  62% Tick &#38; fire counters [&#62;1 together]
-   22.15   21.48   27.34    0.96   71%  71% Tick &#38; fire counters [&#62;1 separately]
-  359.18  357.42  384.77    1.10   65%  31% Alarm latency [0 threads]
-  362.63  357.42  396.48    2.55   43%  27% Alarm latency [2 threads]
-  408.22  402.34  416.02    2.73   55%  21% Alarm latency [many threads]
-  378.63  375.00  494.14    2.56   93%  71% Alarm -&#62; thread resume latency
-
-    9.78    5.86   19.53    0.00            Clock/interrupt latency
-
-   12.21    5.86   31.25    0.00            Clock DSR latency
-
-   12       0     316  (main stack:   752)  Thread stack used (1120 total)
-All done, main stack            : stack used   752 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   276 size  2048
-
-Timing complete - 30550 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-         </PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-arm-ebsa285.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-arm-pid.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Intel StrongARM EBSA-285 Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: ARM PID Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-arm-iq80310.html b/doc/html/user-guide/rt-arm-iq80310.html
deleted file mode 100644 (file)
index 316783c..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Intel IQ80310 XScale Development Kit</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: ARM PID Evaluation Board"
-HREF="rt-arm-pid.html"><LINK
-REL="NEXT"
-TITLE="Board: Toshiba JMR3904 Evaluation Board"
-HREF="rt-tx39-jmr3904.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-arm-pid.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-tx39-jmr3904.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-IQ80310">Board: Intel IQ80310 XScale Development Kit</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Intel IQ80310 XScale Development Kit
-
-CPU: Intel XScale 600MHz
-
-
-Startup, main stack             : stack used   388 size  2400
-Startup              :  Interrupt stack used   148 size  4096
-Startup              : Idlethread stack used    76 size  1120
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 73 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   12.11 microseconds (399 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-    6.53    5.48    8.55    0.50   53%  23% Create thread
-    0.37    0.03    3.24    0.18   87%   1% Yield thread [all suspended]
-    0.24    0.00    2.06    0.12   87%   1% Suspend [suspended] thread
-    0.25    0.00    0.73    0.06   71%   1% Resume thread
-    0.36    0.09    0.82    0.10   89%   1% Set priority
-    0.03    0.00    0.42    0.05   90%  90% Get priority
-    1.07    0.52    6.39    0.18   92%   1% Kill [suspended] thread
-    0.33    0.06    0.91    0.08   78%   3% Yield [no other] thread
-    0.55    0.03    1.06    0.09   85%   1% Resume [suspended low prio] thread
-    0.28    0.00    1.79    0.11   84%   4% Resume [runnable low prio] thread
-    0.43    0.00    1.00    0.12   76%   1% Suspend [runnable] thread
-    0.31    0.00    1.24    0.09   82%   4% Yield [only low prio] thread
-    0.21    0.00    0.42    0.04   73%   1% Suspend [runnable-&#62;not runnable]
-    1.00    0.88    1.45    0.04   78%   4% Kill [runnable] thread
-    0.59    0.42    3.97    0.13   81%  87% Destroy [dead] thread
-    1.43    1.27    1.94    0.07   78%   7% Destroy [runnable] thread
-    3.12    2.58    5.09    0.33   56%  34% Resume [high priority] thread
-    0.87    0.36    1.39    0.07   86%   0% Thread switch
-
-    0.15    0.00    1.39    0.21   81%  81% Scheduler lock
-    0.16    0.00    0.64    0.08   85%   7% Scheduler unlock [0 threads]
-    0.16    0.00    0.64    0.08   75%   8% Scheduler unlock [1 suspended]
-    0.16    0.00    0.70    0.08   78%   6% Scheduler unlock [many suspended]
-    0.16    0.00    0.64    0.07   81%   4% Scheduler unlock [many low prio]
-
-    0.45    0.00    1.39    0.34   56%  46% Init mutex
-    0.43    0.18    3.27    0.23   87%  87% Lock [unlocked] mutex
-    0.48    0.09    3.88    0.26   84%  71% Unlock [locked] mutex
-    0.35    0.21    2.24    0.21   87%  84% Trylock [unlocked] mutex
-    0.26    0.00    0.67    0.13   78%   9% Trylock [locked] mutex
-    0.21    0.00    1.27    0.24   78%  75% Destroy mutex
-    2.58    2.09    3.09    0.13   75%   9% Unlock/Lock mutex
-
-    0.99    0.21    2.48    0.41   65%  28% Create mbox
-    0.04    0.00    0.39    0.07   90%  87% Peek [empty] mbox
-    0.47    0.27    3.48    0.29   90%  78% Put [first] mbox
-    0.02    0.00    0.39    0.03   90%  90% Peek [1 msg] mbox
-    0.29    0.15    0.58    0.04   68%   3% Put [second] mbox
-    0.02    0.00    0.45    0.04   93%  93% Peek [2 msgs] mbox
-    0.48    0.21    3.67    0.26   84%  87% Get [first] mbox
-    0.35    0.09    0.82    0.11   75%   3% Get [second] mbox
-    0.50    0.21    3.18    0.33   90%  68% Tryput [first] mbox
-    0.39    0.15    1.39    0.19   78%  68% Peek item [non-empty] mbox
-    0.43    0.18    3.33    0.23   87%  90% Tryget [non-empty] mbox
-    0.28    0.03    0.79    0.06   68%   3% Peek item [empty] mbox
-    0.28    0.21    0.58    0.05   71%  65% Tryget [empty] mbox
-    0.01    0.00    0.36    0.02   96%  90% Waiting to get mbox
-    0.05    0.00    0.45    0.09   87%  84% Waiting to put mbox
-    0.42    0.09    2.88    0.20   84%  12% Delete mbox
-    1.39    1.27    2.39    0.14   87%  87% Put/Get mbox
-
-    0.35    0.00    1.36    0.45   75%  68% Init semaphore
-    0.19    0.00    0.45    0.04   81%   3% Post [0] semaphore
-    0.25    0.21    0.88    0.06   84%  81% Wait [1] semaphore
-    0.32    0.06    1.79    0.21   78%  68% Trywait [0] semaphore
-    0.20    0.00    0.52    0.06   62%   3% Trywait [1] semaphore
-    0.07    0.00    0.45    0.10   84%  81% Peek semaphore
-    0.06    0.00    0.52    0.06   71%  78% Destroy semaphore
-    1.45    1.42    1.79    0.04   87%  87% Post/Wait semaphore
-
-    0.70    0.00    2.88    0.47   43%  34% Create counter
-    0.05    0.00    0.42    0.09   87%  84% Get counter value
-    0.02    0.00    0.45    0.04   93%  93% Set counter value
-    0.38    0.12    0.58    0.06   59%   3% Tick counter
-    0.03    0.00    0.48    0.05   93%  78% Delete counter
-
-    1.10    0.39    4.30    0.47   62%  53% Create alarm
-    0.58    0.03    3.12    0.18   87%   3% Initialize alarm
-    0.04    0.00    0.42    0.07   90%  90% Disable alarm
-    0.54    0.36    1.36    0.12   84%  43% Enable alarm
-    0.03    0.00    0.70    0.06   84%  84% Delete alarm
-    0.50    0.24    0.97    0.08   84%   6% Tick counter [1 alarm]
-    5.30    5.12    5.97    0.14   84%  75% Tick counter [many alarms]
-    0.82    0.64    1.36    0.11   78%  43% Tick &#38; fire counter [1 alarm]
-   14.13   13.85   14.55    0.09   78%   3% Tick &#38; fire counters [&#62;1 together]
-    5.56    5.45    6.00    0.09   78%  71% Tick &#38; fire counters [&#62;1 separately]
-    9.69    9.45   12.52    0.22   64%  71% Alarm latency [0 threads]
-    9.98    9.48   12.76    0.23   69%  14% Alarm latency [2 threads]
-   10.38    9.48   24.67    0.59   74%  45% Alarm latency [many threads]
-   11.72   11.30   21.33    0.32   81%  58% Alarm -&#62; thread resume latency
-
-    1.87    1.82   10.42    0.00            Clock/interrupt latency
-
-    3.02    2.58    7.67    0.00            Clock DSR latency
-
-    9       0     260  (main stack:   776)  Thread stack used (1120 total)
-All done, main stack            : stack used   776 size  2400
-All done             :  Interrupt stack used   268 size  4096
-All done             : Idlethread stack used   244 size  1120
-
-Timing complete - 30300 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-arm-pid.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-tx39-jmr3904.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: ARM PID Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Toshiba JMR3904 Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-arm-pid.html b/doc/html/user-guide/rt-arm-pid.html
deleted file mode 100644 (file)
index 7506427..0000000
+++ /dev/null
@@ -1,441 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: ARM PID Evaluation Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Cirrus Logic EDB7111-2 Development Board"
-HREF="rt-arm-ep7211.html"><LINK
-REL="NEXT"
-TITLE="Board: Intel IQ80310 XScale Development Kit"
-HREF="rt-arm-iq80310.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-arm-ep7211.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-arm-iq80310.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-ARM-PID">Board: ARM PID Evaluation Board</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4508">CPU :  ARM 7TDMI 20 MHz</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: ARM PID Evaluation Board
-
-CPU :  ARM 7TDMI 20 MHz
-
-
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    84 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 6 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  120.74 microseconds (150 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  50
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   99.01   68.00  129.60   15.62   50%  26% Create thread
-   21.60   21.60   21.60    0.00  100% 100% Yield thread [all suspended]
-   15.65   15.20   16.00    0.39   56%  44% Suspend [suspended] thread
-   15.79   15.20   16.00    0.31   74%  26% Resume thread
-   23.65   23.20   24.00    0.39   56%  44% Set priority
-    2.26    1.60    2.40    0.24   82%  18% Get priority
-   51.39   51.20   52.00    0.29   76%  76% Kill [suspended] thread
-   21.60   21.60   21.60    0.00  100% 100% Yield [no other] thread
-   29.47   28.00   29.60    0.22   86%   2% Resume [suspended low prio] thread
-   15.60   15.20   16.00    0.40  100%  50% Resume [runnable low prio] thread
-   27.73   24.00   28.00    0.40   74%   2% Suspend [runnable] thread
-   21.60   21.60   21.60    0.00  100% 100% Yield [only low prio] thread
-   15.65   15.20   16.00    0.39   56%  44% Suspend [runnable-&#62;not runnable]
-   51.39   51.20   52.00    0.29   76%  76% Kill [runnable] thread
-   27.66   27.20   28.80    0.41   54%  44% Destroy [dead] thread
-   68.93   64.80   69.60    0.35   72%   2% Destroy [runnable] thread
-   91.26   90.40  107.20    0.64   66%  32% Resume [high priority] thread
-   49.14   48.80   49.60    0.39   57%  57% Thread switch
-
-    2.20    1.60    2.40    0.30   75%  25% Scheduler lock
-   10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [0 threads]
-   10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [1 suspended]
-   10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [many suspended]
-   10.20    9.60   10.40    0.30   75%  25% Scheduler unlock [many low prio]
-
-    6.85    6.40    7.20    0.39   56%  43% Init mutex
-   18.40   18.40   18.40    0.00  100% 100% Lock [unlocked] mutex
-   19.57   19.20   20.00    0.40   53%  53% Unlock [locked] mutex
-   16.55   16.00   16.80    0.34   68%  31% Trylock [unlocked] mutex
-   14.55   14.40   15.20    0.24   81%  81% Trylock [locked] mutex
-    3.55    3.20    4.00    0.39   56%  56% Destroy mutex
-  119.85  119.20  120.00    0.24   81%  18% Unlock/Lock mutex
-
-   12.85   12.80   13.60    0.09   93%  93% Create mbox
-    1.65    1.60    2.40    0.09   93%  93% Peek [empty] mbox
-   20.70   20.00   20.80    0.17   87%  12% Put [first] mbox
-    1.65    1.60    2.40    0.09   93%  93% Peek [1 msg] mbox
-   20.70   20.00   20.80    0.17   87%  12% Put [second] mbox
-    1.65    1.60    2.40    0.09   93%  93% Peek [2 msgs] mbox
-   20.85   20.80   21.60    0.09   93%  93% Get [first] mbox
-   20.85   20.80   21.60    0.09   93%  93% Get [second] mbox
-   19.90   19.20   20.00    0.17   87%  12% Tryput [first] mbox
-   17.60   17.60   17.60    0.00  100% 100% Peek item [non-empty] mbox
-   20.90   20.80   21.60    0.17   87%  87% Tryget [non-empty] mbox
-   16.80   16.80   16.80    0.00  100% 100% Peek item [empty] mbox
-   17.65   17.60   18.40    0.09   93%  93% Tryget [empty] mbox
-    1.85    1.60    2.40    0.34   68%  68% Waiting to get mbox
-    1.85    1.60    2.40    0.34   68%  68% Waiting to put mbox
-   19.40   19.20   20.00    0.30   75%  75% Delete mbox
-   65.05   64.80   65.60    0.34   68%  68% Put/Get mbox
-
-    7.05    6.40    7.20    0.24   81%  18% Init semaphore
-   15.55   15.20   16.00    0.39   56%  56% Post [0] semaphore
-   17.35   16.80   17.60    0.34   68%  31% Wait [1] semaphore
-   14.60   14.40   15.20    0.30   75%  75% Trywait [0] semaphore
-   14.20   13.60   14.40    0.30   75%  25% Trywait [1] semaphore
-    4.55    4.00    4.80    0.34   68%  31% Peek semaphore
-    3.75    3.20    4.00    0.34   68%  31% Destroy semaphore
-   70.85   70.40   71.20    0.39   56%  43% Post/Wait semaphore
-
-    6.05    5.60    6.40    0.39   56%  43% Create counter
-    2.25    1.60    2.40    0.24   81%  18% Get counter value
-    2.25    1.60    2.40    0.24   81%  18% Set counter value
-   19.70   19.20   20.00    0.37   62%  37% Tick counter
-    3.45    3.20    4.00    0.34   68%  68% Delete counter
-
-    9.05    8.80    9.60    0.34   68%  68% Create alarm
-   29.60   29.60   29.60    0.00  100% 100% Initialize alarm
-    2.15    1.60    2.40    0.34   68%  31% Disable alarm
-   29.35   28.80   29.60    0.34   68%  31% Enable alarm
-    5.10    4.80    5.60    0.37   62%  62% Delete alarm
-   23.20   23.20   23.20    0.00  100% 100% Tick counter [1 alarm]
-  138.00  137.60  138.40    0.40  100%  50% Tick counter [many alarms]
-   40.40   40.00   40.80    0.40  100%  50% Tick &#38; fire counter [1 alarm]
-  704.25  697.60  804.00   12.47   93%  93% Tick &#38; fire counters [&#62;1 together]
-  155.20  155.20  155.20    0.00  100% 100% Tick &#38; fire counters [&#62;1 separately]
-  105.20  104.80  151.20    0.76   99%  94% Alarm latency [0 threads]
-  117.57  104.80  149.60    7.13   57%  25% Alarm latency [2 threads]
-  117.49  104.80  148.80    7.10   58%  26% Alarm latency [many threads]
-  192.59  177.60  316.00    1.93   98%   0% Alarm -&#62; thread resume latency
-
-   22.10   21.60   24.00    0.00            Clock/interrupt latency
-
-   38.69   32.80   61.60    0.00            Clock DSR latency
-
-  297     276     316  (main stack:   752)  Thread stack used (1120 total)
-All done, main stack            : stack used   752 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   272 size  2048
-
-Timing complete - 30350 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-         </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4511">CPU :  ARM 920T 20 MHz</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: ARM PID Evaluation Board
-
-CPU :  ARM 920T 20 MHz
-
-
-Startup, main stack             : stack used   404 size  2400
-Startup              :  Interrupt stack used   136 size  4096
-Startup              : Idlethread stack used    84 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 15 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  291.41 microseconds (364 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  50
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-  257.78  168.00  568.00   48.70   56%  28% Create thread
-   50.21   49.60   50.40    0.29   76%  24% Yield thread [all suspended]
-   36.26   36.00   36.80    0.35   68%  68% Suspend [suspended] thread
-   37.20   36.80   37.60    0.40  100%  50% Resume thread
-   56.24   56.00   56.80    0.34   70%  70% Set priority
-    5.20    4.80    5.60    0.40  100%  50% Get priority
-  122.75  122.40  123.20    0.39   56%  56% Kill [suspended] thread
-   50.19   49.60   50.40    0.31   74%  26% Yield [no other] thread
-   69.49   66.40   69.60    0.21   92%   2% Resume [suspended low prio] thread
-   37.01   36.80   37.60    0.31   74%  74% Resume [runnable low prio] thread
-   64.75   55.20   65.60    0.38   80%   2% Suspend [runnable] thread
-   50.19   49.60   50.40    0.31   74%  26% Yield [only low prio] thread
-   36.24   36.00   36.80    0.34   70%  70% Suspend [runnable-&#62;not runnable]
-  122.75  122.40  123.20    0.39   56%  56% Kill [runnable] thread
-   67.76   67.20   68.00    0.34   70%  30% Destroy [dead] thread
-  167.07  158.40  168.00    0.35   92%   2% Destroy [runnable] thread
-  213.49  212.00  249.60    1.46   84%  90% Resume [high priority] thread
-  122.81  120.00  389.60    4.17   99%  99% Thread switch
-
-    4.70    4.00    4.80    0.17   87%  12% Scheduler lock
-   23.70   23.20   24.00    0.37   62%  37% Scheduler unlock [0 threads]
-   23.60   23.20   24.00    0.40  100%  50% Scheduler unlock [1 suspended]
-   23.70   23.20   24.00    0.37   62%  37% Scheduler unlock [many suspended]
-   23.60   23.20   24.00    0.40  100%  50% Scheduler unlock [many low prio]
-
-   15.65   15.20   16.00    0.39   56%  43% Init mutex
-   42.40   42.40   42.40    0.00  100% 100% Lock [unlocked] mutex
-   45.37   44.80   46.40    0.36   65%  31% Unlock [locked] mutex
-   39.20   39.20   39.20    0.00  100% 100% Trylock [unlocked] mutex
-   34.45   34.40   35.20    0.09   93%  93% Trylock [locked] mutex
-    8.00    8.00    8.00    0.00  100% 100% Destroy mutex
-  284.42  284.00  284.80    0.40   53%  46% Unlock/Lock mutex
-
-   29.40   28.80   29.60    0.30   75%  25% Create mbox
-    3.35    3.20    4.00    0.24   81%  81% Peek [empty] mbox
-   49.35   48.80   49.60    0.34   68%  31% Put [first] mbox
-    3.35    3.20    4.00    0.24   81%  81% Peek [1 msg] mbox
-   49.35   48.80   49.60    0.34   68%  31% Put [second] mbox
-    3.35    3.20    4.00    0.24   81%  81% Peek [2 msgs] mbox
-   49.15   48.80   49.60    0.39   56%  56% Get [first] mbox
-   49.15   48.80   49.60    0.39   56%  56% Get [second] mbox
-   47.80   47.20   48.00    0.30   75%  25% Tryput [first] mbox
-   41.40   40.80   41.60    0.30   75%  25% Peek item [non-empty] mbox
-   49.40   48.80   49.60    0.30   75%  25% Tryget [non-empty] mbox
-   40.15   40.00   40.80    0.24   81%  81% Peek item [empty] mbox
-   40.95   40.80   41.60    0.24   81%  81% Tryget [empty] mbox
-    4.05    4.00    4.80    0.09   93%  93% Waiting to get mbox
-    4.05    4.00    4.80    0.09   93%  93% Waiting to put mbox
-   45.60   45.60   45.60    0.00  100% 100% Delete mbox
-  153.27  152.80  153.60    0.39   59%  40% Put/Get mbox
-
-   16.80   16.80   16.80    0.00  100% 100% Init semaphore
-   36.60   36.00   36.80    0.30   75%  25% Post [0] semaphore
-   39.60   39.20   40.00    0.40  100%  50% Wait [1] semaphore
-   34.80   34.40   35.20    0.40  100%  50% Trywait [0] semaphore
-   33.35   32.80   33.60    0.34   68%  31% Trywait [1] semaphore
-   10.30    9.60   10.40    0.17   87%  12% Peek semaphore
-    8.80    8.80    8.80    0.00  100% 100% Destroy semaphore
-  166.92  166.40  167.20    0.36   65%  34% Post/Wait semaphore
-
-   13.60   13.60   13.60    0.00  100% 100% Create counter
-    4.85    4.80    5.60    0.09   93%  93% Get counter value
-    4.80    4.80    4.80    0.00  100% 100% Set counter value
-   45.25   44.80   45.60    0.39   56%  43% Tick counter
-    7.75    7.20    8.00    0.34   68%  31% Delete counter
-
-   20.80   20.80   20.80    0.00  100% 100% Create alarm
-   69.30   68.80   69.60    0.37   62%  37% Initialize alarm
-    4.80    4.80    4.80    0.00  100% 100% Disable alarm
-   67.35   67.20   68.00    0.24   81%  81% Enable alarm
-   11.80   11.20   12.00    0.30   75%  25% Delete alarm
-   54.80   54.40   55.20    0.40  100%  50% Tick counter [1 alarm]
-  372.35  363.20  652.80   17.53   96%  96% Tick counter [many alarms]
-   95.50   95.20   96.00    0.37   62%  62% Tick &#38; fire counter [1 alarm]
- 1757.92 1707.20 1996.80   81.43   81%  81% Tick &#38; fire counters [&#62;1 together]
-  404.37  404.00  404.80    0.40   53%  53% Tick &#38; fire counters [&#62;1 separately]
-  256.57  254.40  395.20    2.17   98%  97% Alarm latency [0 threads]
-  296.60  255.20  359.20   23.53   53%  31% Alarm latency [2 threads]
-  307.49  265.60  357.60   27.52   53%  53% Alarm latency [many threads]
-  467.04  432.00  788.80    5.03   97%   1% Alarm -&#62; thread resume latency
-
-   55.63   54.40   60.80    0.00            Clock/interrupt latency
-
-  101.23   80.80 1433.60    0.00            Clock DSR latency
-
-  316     316     316  (main stack:   752)  Thread stack used (1120 total)
-All done, main stack            : stack used   752 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   272 size  2048
-
-Timing complete - 30780 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-         </PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-arm-ep7211.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-arm-iq80310.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Cirrus Logic EDB7111-2 Development Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Intel IQ80310 XScale Development Kit</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-at91-eb40.html b/doc/html/user-guide/rt-at91-eb40.html
deleted file mode 100644 (file)
index eddf7ee..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Atmel AT91/EB40</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="NEXT"
-TITLE="Board: Intel StrongARM EBSA-285 Evaluation Board"
-HREF="rt-arm-ebsa285.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-arm-ebsa285.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-AT91-EB40">Board: Atmel AT91/EB40</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Atmel AT91/EB40
-CPU : AT91R40807 (ARM7TDMI core), 32MHz
-512KB RAM, 64K Flash
-
-Startup, main stack             : stack used   420 size  2400
-Startup              :  Interrupt stack used   144 size  4096
-Startup              : Idlethread stack used    84 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 3 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  127.53 microseconds (130 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  25
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   86.48   71.29  101.56    7.99   48%  28% Create thread
-   20.70   20.51   21.48    0.31   80%  80% Yield thread [all suspended]
-   17.15   16.60   17.58    0.48   56%  44% Suspend [suspended] thread
-   17.07   16.60   17.58    0.49   52%  52% Resume thread
-   25.51   25.39   26.37    0.21   88%  88% Set priority
-    3.16    2.93    3.91    0.36   76%  76% Get priority
-   52.34   51.76   52.73    0.47   60%  40% Kill [suspended] thread
-   20.70   20.51   21.48    0.31   80%  80% Yield [no other] thread
-   28.98   28.32   30.27    0.48   60%  36% Resume [suspended low prio] thread
-   17.11   16.60   17.58    0.49   52%  48% Resume [runnable low prio] thread
-   27.85   26.37   28.32    0.52   96%   4% Suspend [runnable] thread
-   20.70   20.51   21.48    0.31   80%  80% Yield [only low prio] thread
-   17.23   16.60   17.58    0.45   64%  36% Suspend [runnable-&#62;not runnable]
-   52.34   51.76   52.73    0.47   60%  40% Kill [runnable] thread
-   33.01   32.23   33.20    0.31   80%  20% Destroy [dead] thread
-   72.03   70.31   72.27    0.38   80%   4% Destroy [runnable] thread
-   96.99   95.70  112.30    1.22   64%  96% Resume [high priority] thread
-   51.48   49.80  164.06    1.76   99%  99% Thread switch
-
-    2.78    1.95    2.93    0.26   84%  15% Scheduler lock
-   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [0 threads]
-   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [1 suspended]
-   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [many suspended]
-   11.81   11.72   12.70    0.17   90%  90% Scheduler unlock [many low prio]
-
-    5.49    4.88    5.86    0.46   62%  37% Init mutex
-   20.20   19.53   20.51    0.42   68%  31% Lock [unlocked] mutex
-   24.44   24.41   25.39    0.06   96%  96% Unlock [locked] mutex
-   18.25   17.58   18.55    0.42   68%  31% Trylock [unlocked] mutex
-   16.11   15.63   16.60    0.49  100%  50% Trylock [locked] mutex
-    6.10    5.86    6.84    0.37   75%  75% Destroy mutex
-  124.21  124.02  125.00    0.30   81%  81% Unlock/Lock mutex
-
-    9.28    8.79    9.77    0.49  100%  50% Create mbox
-    2.93    2.93    2.93    0.00  100% 100% Peek [empty] mbox
-   22.58   22.46   23.44    0.21   87%  87% Put [first] mbox
-    2.44    1.95    2.93    0.49  100%  50% Peek [1 msg] mbox
-   22.58   22.46   23.44    0.21   87%  87% Put [second] mbox
-    2.44    1.95    2.93    0.49  100%  50% Peek [2 msgs] mbox
-   22.71   22.46   23.44    0.37   75%  75% Get [first] mbox
-   22.71   22.46   23.44    0.37   75%  75% Get [second] mbox
-   21.18   20.51   21.48    0.42   68%  31% Tryput [first] mbox
-   18.98   18.55   19.53    0.48   56%  56% Peek item [non-empty] mbox
-   22.46   22.46   22.46    0.00  100% 100% Tryget [non-empty] mbox
-   18.31   17.58   18.55    0.37   75%  25% Peek item [empty] mbox
-   19.53   19.53   19.53    0.00  100% 100% Tryget [empty] mbox
-    2.69    1.95    2.93    0.37   75%  25% Waiting to get mbox
-    2.93    2.93    2.93    0.00  100% 100% Waiting to put mbox
-   23.86   23.44   24.41    0.48   56%  56% Delete mbox
-   67.60   67.38   68.36    0.33   78%  78% Put/Get mbox
-
-    5.37    4.88    5.86    0.49  100%  50% Init semaphore
-   16.97   16.60   17.58    0.46   62%  62% Post [0] semaphore
-   18.98   18.55   19.53    0.48   56%  56% Wait [1] semaphore
-   15.81   15.63   16.60    0.30   81%  81% Trywait [0] semaphore
-   15.29   14.65   15.63    0.44   65%  34% Trywait [1] semaphore
-    5.62    4.88    5.86    0.37   75%  25% Peek semaphore
-    6.35    5.86    6.84    0.49  100%  50% Destroy semaphore
-   72.36   72.27   73.24    0.17   90%  90% Post/Wait semaphore
-
-    7.08    6.84    7.81    0.37   75%  75% Create counter
-    3.17    2.93    3.91    0.37   75%  75% Get counter value
-    3.05    2.93    3.91    0.21   87%  87% Set counter value
-   24.11   23.44   24.41    0.42   68%  31% Tick counter
-    5.49    4.88    5.86    0.46   62%  37% Delete counter
-
-   10.92   10.74   11.72    0.30   81%  81% Create alarm
-   31.46   31.25   32.23    0.33   78%  78% Initialize alarm
-    3.05    2.93    3.91    0.21   87%  87% Disable alarm
-   31.49   31.25   32.23    0.37   75%  75% Enable alarm
-    7.02    6.84    7.81    0.30   81%  81% Delete alarm
-   31.16   30.27   31.25    0.17   90%   9% Tick counter [1 alarm]
-  309.26  304.69  425.78    7.28   96%  96% Tick counter [many alarms]
-   44.83   43.95   44.92    0.17   90%   9% Tick &#38; fire counter [1 alarm]
-  781.68  774.41  893.55   13.62   93%  93% Tick &#38; fire counters [&#62;1 together]
-  324.16  320.31  433.59    6.84   96%  96% Tick &#38; fire counters [&#62;1 separately]
-  114.26  113.28  167.97    0.84   57%  42% Alarm latency [0 threads]
-  126.91  113.28  159.18    8.20   50%  31% Alarm latency [2 threads]
-  127.11  113.28  158.20    8.09   51%  28% Alarm latency [many threads]
-  196.49  189.45  331.05    2.10   98%   0% Alarm -&#62; thread resume latency
-
-   23.50   23.44   25.39    0.00            Clock/interrupt latency
-
-   40.31   33.20  514.65    0.00            Clock DSR latency
-
-  300     271     312  (main stack:   832)  Thread stack used (1120 total)
-All done, main stack            : stack used   832 size  2400
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   272 size  2048
-
-Timing complete - 30350 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-arm-ebsa285.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Real-time characterization</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Intel StrongARM EBSA-285 Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-i386-pc.html b/doc/html/user-guide/rt-i386-pc.html
deleted file mode 100644 (file)
index c27f2a6..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: PC</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Hitachi Solution Engine 7751 SH4 (se7751)"
-HREF="rt-sh-se7751.html"><LINK
-REL="NEXT"
-TITLE="Board: NEC V850 Cosmo Evaluation Board"
-HREF="rt-v850-cebsa1.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-sh-se7751.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-v850-cebsa1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-I386-PC">Board: PC</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: PC
-
-CPU: 433MHz Celeron
-
-Startup, main stack             : stack used   124 size  2912
-Startup              :  Interrupt stack used   280 size  4108
-Startup              : Idlethread stack used    62 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 8 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    6.75 microseconds (8 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-    3.93    1.68    8.38    0.93   68%   3% Create thread
-    0.71    0.00    3.35    0.84   59%  59% Yield thread [all suspended]
-    0.65    0.00    5.03    0.84   64%  64% Suspend [suspended] thread
-    0.63    0.00    1.68    0.79   62%  62% Resume thread
-    0.76    0.00    1.68    0.83   54%  54% Set priority
-    0.39    0.00    1.68    0.60   76%  76% Get priority
-    1.34    0.00    6.70    0.67   73%  25% Kill [suspended] thread
-    0.68    0.00    1.68    0.81   59%  59% Yield [no other] thread
-    0.92    0.00    1.68    0.83   54%  45% Resume [suspended low prio] thread
-    0.63    0.00    1.68    0.79   62%  62% Resume [runnable low prio] thread
-    0.84    0.00    1.68    0.84  100%  50% Suspend [runnable] thread
-    0.73    0.00    1.68    0.82   56%  56% Yield [only low prio] thread
-    0.58    0.00    1.68    0.76   65%  65% Suspend [runnable-&#62;not runnable]
-    1.26    0.00    3.35    0.67   71%  26% Kill [runnable] thread
-    0.86    0.00    3.35    0.86   98%  50% Destroy [dead] thread
-    1.44    0.00    1.68    0.40   85%  14% Destroy [runnable] thread
-    4.45    3.35    6.70    0.89   53%  40% Resume [high priority] thread
-    1.62    0.00    1.68    0.10   96%   3% Thread switch
-
-    0.41    0.00    1.68    0.61   75%  75% Scheduler lock
-    0.48    0.00    1.68    0.69   71%  71% Scheduler unlock [0 threads]
-    0.59    0.00    1.68    0.76   64%  64% Scheduler unlock [1 suspended]
-    0.45    0.00    1.68    0.65   73%  73% Scheduler unlock [many suspended]
-    0.45    0.00    1.68    0.65   73%  73% Scheduler unlock [many low prio]
-
-    0.52    0.00    1.68    0.72   68%  68% Init mutex
-    0.79    0.00    5.03    0.93   96%  59% Lock [unlocked] mutex
-    0.84    0.00    5.03    0.94   96%  56% Unlock [locked] mutex
-    0.63    0.00    1.68    0.79   62%  62% Trylock [unlocked] mutex
-    0.52    0.00    1.68    0.72   68%  68% Trylock [locked] mutex
-    0.58    0.00    1.68    0.76   65%  65% Destroy mutex
-    3.40    3.35    5.03    0.10   96%  96% Unlock/Lock mutex
-
-    0.99    0.00    1.68    0.81   59%  40% Create mbox
-    0.47    0.00    1.68    0.68   71%  71% Peek [empty] mbox
-    0.79    0.00    5.03    0.93   96%  59% Put [first] mbox
-    0.42    0.00    1.68    0.63   75%  75% Peek [1 msg] mbox
-    0.79    0.00    1.68    0.83   53%  53% Put [second] mbox
-    0.37    0.00    1.68    0.57   78%  78% Peek [2 msgs] mbox
-    0.73    0.00    3.35    0.87   59%  59% Get [first] mbox
-    0.73    0.00    1.68    0.82   56%  56% Get [second] mbox
-    0.79    0.00    3.35    0.88   56%  56% Tryput [first] mbox
-    0.68    0.00    3.35    0.85   62%  62% Peek item [non-empty] mbox
-    0.73    0.00    3.35    0.87   59%  59% Tryget [non-empty] mbox
-    0.63    0.00    1.68    0.79   62%  62% Peek item [empty] mbox
-    0.68    0.00    1.68    0.81   59%  59% Tryget [empty] mbox
-    0.26    0.00    1.68    0.44   84%  84% Waiting to get mbox
-    0.63    0.00    1.68    0.79   62%  62% Waiting to put mbox
-    0.73    0.00    3.35    0.87   59%  59% Delete mbox
-    3.25    1.68    3.35    0.20   93%   6% Put/Get mbox
-
-    0.63    0.00    1.68    0.79   62%  62% Init semaphore
-    0.63    0.00    1.68    0.79   62%  62% Post [0] semaphore
-    0.63    0.00    1.68    0.79   62%  62% Wait [1] semaphore
-    0.52    0.00    1.68    0.72   68%  68% Trywait [0] semaphore
-    0.52    0.00    1.68    0.72   68%  68% Trywait [1] semaphore
-    0.52    0.00    1.68    0.72   68%  68% Peek semaphore
-    0.21    0.00    1.68    0.37   87%  87% Destroy semaphore
-    3.30    1.68    3.35    0.10   96%   3% Post/Wait semaphore
-
-    0.79    0.00    3.35    0.88   56%  56% Create counter
-    0.42    0.00    1.68    0.63   75%  75% Get counter value
-    0.37    0.00    1.68    0.57   78%  78% Set counter value
-    0.73    0.00    1.68    0.82   56%  56% Tick counter
-    0.63    0.00    1.68    0.79   62%  62% Delete counter
-
-    0.89    0.00    3.35    0.89   96%  50% Create alarm
-    0.84    0.00    1.68    0.84  100%  50% Initialize alarm
-    0.52    0.00    1.68    0.72   68%  68% Disable alarm
-    0.89    0.00    3.35    0.89   96%  50% Enable alarm
-    0.58    0.00    1.68    0.76   65%  65% Delete alarm
-    0.63    0.00    1.68    0.79   62%  62% Tick counter [1 alarm]
-    5.03    3.35    6.70    0.10   93%   3% Tick counter [many alarms]
-    0.94    0.00    1.68    0.82   56%  43% Tick &#38; fire counter [1 alarm]
-   11.16   10.06   11.73    0.76   65%  34% Tick &#38; fire counters [&#62;1 together]
-    5.19    5.03    6.70    0.28   90%  90% Tick &#38; fire counters [&#62;1 separately]
-    0.01    0.00    1.68    0.03   99%  99% Alarm latency [0 threads]
-    0.13    0.00    1.68    0.24   92%  92% Alarm latency [2 threads]
-    0.94    0.00    3.35    0.85   53%  45% Alarm latency [many threads]
-    1.75    1.68    6.70    0.15   96%  96% Alarm -&#62; thread resume latency
-
-   41       0     368  (main stack:  1036)  Thread stack used (1712 total)
-All done, main stack            : stack used  1036 size  2912
-All done             :  Interrupt stack used   368 size  4108
-All done             : Idlethread stack used   288 size  2048
-
-Timing complete - 28520 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-sh-se7751.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-v850-cebsa1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Hitachi Solution Engine 7751 SH4 (se7751)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: NEC V850 Cosmo Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-mn10300-stdeval1.html b/doc/html/user-guide/rt-mn10300-stdeval1.html
deleted file mode 100644 (file)
index 357d031..0000000
+++ /dev/null
@@ -1,274 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Matsushita STDEVAL1 Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Toshiba REF 4955"
-HREF="rt-tx49-ref4955.html"><LINK
-REL="NEXT"
-TITLE="Board: Fujitsu SPARClite Evaluation Board"
-HREF="rt-sparclite-sleb.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-tx49-ref4955.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-sparclite-sleb.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-MN10300-STDEVAL1">Board: Matsushita STDEVAL1 Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: Matsushita STDEVAL1 Board
-
-CPU  : MN103002A  60MHz
-
-eCOS Kernel Timings
-Note: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 18 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   13.73 microseconds (205 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                24
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   14.36   11.53   23.53    1.81   54%  33% Create thread
-    2.64    2.53    5.07    0.20   95%  95% Yield thread [all suspended]
-    2.25    1.93    4.80    0.31   45%  83% Suspend [suspended] thread
-    2.19    2.00    4.93    0.28   91%  91% Resume thread
-    3.42    3.00    8.40    0.47   95%  87% Set priority
-    0.31    0.13    1.20    0.19   79%  58% Get priority
-    8.26    7.40   18.80    0.93   95%  87% Kill [suspended] thread
-    2.58    2.47    5.13    0.21   95%  95% Yield [no other] thread
-    5.07    4.53    8.67    0.44   62%  50% Resume [suspended low prio] thread
-    2.27    2.07    4.53    0.23   87%  87% Resume [runnable low prio] thread
-    4.76    4.07    9.40    0.65   66%  75% Suspend [runnable] thread
-    2.63    2.53    4.73    0.18   95%  95% Yield [only low prio] thread
-    2.09    1.87    4.27    0.27   91%  79% Suspend [runnable-&#62;not runnable]
-   10.79   10.00   18.20    0.81   95%  79% Kill [runnable] thread
-   20.30   18.40   28.80    1.42   79%  54% Resume [high priority] thread
-    5.53    5.47   12.13    0.11   98%  97% Thread switch
-
-    0.28    0.27    2.20    0.03   97%  97% Scheduler lock
-    1.14    1.13    2.00    0.01   99%  99% Scheduler unlock [0 threads]
-    1.14    1.13    2.40    0.02   99%  99% Scheduler unlock [1 suspended]
-    1.16    1.13    3.33    0.06   95%  95% Scheduler unlock [many suspended]
-    1.23    1.20    3.13    0.05   95%  95% Scheduler unlock [many low prio]
-
-    1.29    1.00    4.20    0.25   65%  50% Init mutex
-    2.65    2.47    5.27    0.23   93%  87% Lock [unlocked] mutex
-    3.26    3.07    6.80    0.28   93%  87% Unlock [locked] mutex
-    2.48    2.33    5.07    0.21   90%  87% Trylock [unlocked] mutex
-    2.20    2.07    4.67    0.21   93%  87% Trylock [locked] mutex
-    0.23    0.20    1.00    0.05   96%  93% Destroy mutex
-   25.11   24.73   27.53    0.21   65%  31% Unlock/Lock mutex
-
-    2.49    2.00    5.73    0.32   81%  37% Create mbox
-    0.11    0.00    1.60    0.15   84%  81% Peek [empty] mbox
-    3.01    2.60    9.47    0.52   96%  78% Put [first] mbox
-    0.10    0.00    1.67    0.15   87%  81% Peek [1 msg] mbox
-    3.09    2.60    8.33    0.50   93%  75% Put [second] mbox
-    0.06    0.00    1.13    0.08   96%  87% Peek [2 msgs] mbox
-    3.10    2.80    7.93    0.40   93%  84% Get [first] mbox
-    3.13    2.80    7.53    0.43   90%  78% Get [second] mbox
-    2.99    2.60    8.53    0.52   93%  75% Tryput [first] mbox
-    2.65    2.33    6.80    0.42   90%  78% Peek item [non-empty] mbox
-    3.05    2.73    7.60    0.42   93%  78% Tryget [non-empty] mbox
-    3.16    2.93    6.27    0.31   84%  84% Peek item [empty] mbox
-    2.48    2.27    5.73    0.30   84%  84% Tryget [empty] mbox
-    0.23    0.13    2.07    0.14   96%  87% Waiting to get mbox
-    0.22    0.13    1.93    0.13   96%  75% Waiting to put mbox
-    3.08    2.80    7.93    0.42   84%  84% Delete mbox
-   16.01   15.53   19.00    0.52   78%  59% Put/Get mbox
-
-    0.85    0.67    3.27    0.19   96%  50% Init semaphore
-    2.00    1.93    3.87    0.12   96%  90% Post [0] semaphore
-    2.05    2.00    3.47    0.09   96%  96% Wait [1] semaphore
-    1.85    1.80    3.47    0.10   96%  96% Trywait [0] semaphore
-    1.82    1.80    2.53    0.04   96%  96% Trywait [1] semaphore
-    0.36    0.33    1.33    0.06   96%  96% Peek semaphore
-    0.38    0.33    1.87    0.09   96%  96% Destroy semaphore
-   12.38   12.20   16.27    0.30   93%  87% Post/Wait semaphore
-
-    1.18    0.73    4.07    0.24   78%  18% Create counter
-    0.20    0.13    1.40    0.11   87%  87% Get counter value
-    0.24    0.20    1.40    0.08   93%  93% Set counter value
-    3.17    3.13    4.20    0.07   93%  93% Tick counter
-    0.44    0.40    1.73    0.08   96%  96% Delete counter
-
-    2.24    1.67    5.13    0.47   68%  65% Create alarm
-    3.86    3.40    9.67    0.51   90%  78% Initialize alarm
-    0.15    0.07    1.60    0.12   96%  68% Disable alarm
-    3.76    3.47    7.67    0.35   93%  75% Enable alarm
-    0.57    0.47    2.73    0.16   96%  84% Delete alarm
-    3.64    3.60    4.73    0.07   96%  96% Tick counter [1 alarm]
-   21.72   21.67   23.27    0.10   96%  96% Tick counter [many alarms]
-    6.13    6.07    8.07    0.12   96%  96% Tick &#38; fire counter [1 alarm]
-  101.40   99.53  132.73    2.75   93%  93% Tick &#38; fire counters [&#62;1 together]
-   24.21   24.13   26.40    0.14   96%  96% Tick &#38; fire counters [&#62;1 separately]
-   11.74   11.60   22.67    0.26   98%  98% Alarm latency [0 threads]
-   14.58   11.73   24.93    1.59   54%  28% Alarm latency [2 threads]
-   18.18   15.20   41.07    1.96   60%  43% Alarm latency [many threads]
-
-    3.06    2.13   10.33    0.00            Clock/interrupt latency
-
-Timing complete - 23480 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-tx49-ref4955.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-sparclite-sleb.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Toshiba REF 4955</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Fujitsu SPARClite Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-ppc-cogent.html b/doc/html/user-guide/rt-ppc-cogent.html
deleted file mode 100644 (file)
index b19a968..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Cogent CMA MPC860 (PowerPC) Evaluation </TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Fujitsu SPARClite Evaluation Board"
-HREF="rt-sparclite-sleb.html"><LINK
-REL="NEXT"
-TITLE="Board: NEC VR4373"
-HREF="rt-vr4300-vrc4373.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-sparclite-sleb.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-vr4300-vrc4373.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-PPC-COGENT">Board: Cogent CMA MPC860 (PowerPC) Evaluation</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Cogent CMA MPC860 (PowerPC) Evaluation 
-CPU  : MPC860, revision A3 33MHz
-
-
-eCOS Kernel Timings
-Note: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   14.46 microseconds (30 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                24
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   26.78   23.52   41.76    1.97   66%  37% Create thread
-    4.00    3.84    4.80    0.23   70%  70% Yield thread [all suspended]
-    3.78    3.36    7.68    0.38   50%  45% Suspend [suspended] thread
-    3.56    3.36    7.68    0.37   95%  91% Resume thread
-    5.28    4.32   12.96    0.76   83%  66% Set priority
-    0.84    0.48    3.84    0.39   91%  54% Get priority
-   11.76   10.08   32.16    1.70   95%  95% Kill [suspended] thread
-    4.14    3.84    8.64    0.45   95%  75% Yield [no other] thread
-    7.14    5.76   17.76    1.07   79%  70% Resume [suspended low prio] thread
-    3.60    3.36    8.16    0.42   95%  87% Resume [runnable low prio] thread
-    6.10    5.28   14.88    0.80   62%  70% Suspend [runnable] thread
-    4.00    3.84    5.76    0.25   79%  79% Yield [only low prio] thread
-    3.66    3.36    8.64    0.47   95%  79% Suspend [runnable-&#62;not runnable]
-   11.66   10.08   30.24    1.58   79%  91% Kill [runnable] thread
-   31.12   27.84   53.28    2.35   87%  50% Resume [high priority] thread
-    7.52    7.20   15.84    0.30   50%  48% Thread switch
-
-    1.00    0.48    2.88    0.21   63%  14% Scheduler lock
-    2.57    2.40    3.84    0.23   65%  65% Scheduler unlock [0 threads]
-    2.58    2.40    4.32    0.23   64%  64% Scheduler unlock [1 suspended]
-    2.59    2.40    4.32    0.24   62%  62% Scheduler unlock [many suspended]
-    2.59    2.40    4.32    0.24   61%  61% Scheduler unlock [many low prio]
-
-    1.69    1.44    5.76    0.37   96%  71% Init mutex
-    4.15    3.84   10.56    0.47   96%  75% Lock [unlocked] mutex
-    5.82    5.28   10.56    0.38   62%  28% Unlock [locked] mutex
-    3.70    3.36    8.64    0.41   96%  59% Trylock [unlocked] mutex
-    3.42    2.88    6.72    0.26   75%  15% Trylock [locked] mutex
-    0.36    0.00    1.92    0.25   62%  34% Destroy mutex
-   43.41   42.72   45.12    0.34   81%   3% Unlock/Lock mutex
-
-    3.27    2.88    8.16    0.39   96%  50% Create mbox
-    0.57    0.00    2.40    0.34   50%  21% Peek [empty] mbox
-    6.16    5.76   11.04    0.48   87%  87% Put [first] mbox
-    0.48    0.00    1.92    0.27   50%  28% Peek [1 msg] mbox
-    5.92    5.28   10.56    0.35   90%   6% Put [second] mbox
-    0.60    0.00    2.40    0.30   62%  12% Peek [2 msgs] mbox
-    4.69    4.32   12.00    0.54   93%  93% Get [first] mbox
-    4.68    4.32   11.52    0.52   93%  93% Get [second] mbox
-    5.86    5.28   11.04    0.47   62%  31% Tryput [first] mbox
-    4.00    3.36    9.12    0.38   87%   9% Peek item [non-empty] mbox
-    4.59    3.84   12.48    0.61   71%  75% Tryget [non-empty] mbox
-    3.75    3.36    7.68    0.34   53%  43% Peek item [empty] mbox
-    3.93    3.36    9.60    0.45   65%  31% Tryget [empty] mbox
-    0.63    0.00    2.40    0.28   68%   6% Waiting to get mbox
-    0.54    0.00    1.92    0.19   75%   9% Waiting to put mbox
-    4.84    4.32   12.00    0.47   56%  40% Delete mbox
-   24.18   23.52   29.76    0.66   81%  75% Put/Get mbox
-
-    1.72    0.96    3.84    0.33   90%   6% Init semaphore
-    3.15    2.88    6.24    0.34   96%  62% Post [0] semaphore
-    3.85    3.36    8.64    0.30   68%  28% Wait [1] semaphore
-    3.24    2.88    6.24    0.34   46%  46% Trywait [0] semaphore
-    3.22    2.88    6.24    0.32   50%  46% Trywait [1] semaphore
-    0.96    0.48    2.88    0.12   84%  12% Peek semaphore
-    0.99    0.96    1.92    0.06   96%  96% Destroy semaphore
-   24.71   24.00   28.80    0.40   87%   6% Post/Wait semaphore
-
-    2.31    1.44    6.24    0.77   46%  56% Create counter
-    0.45    0.00    0.96    0.08   87%   9% Get counter value
-    0.42    0.00    0.96    0.16   75%  18% Set counter value
-    4.14    3.84    4.80    0.26   50%  43% Tick counter
-    0.91    0.48    2.40    0.19   71%  21% Delete counter
-
-    5.23    4.32    7.68    0.61   65%  53% Create alarm
-    5.58    4.80   12.96    0.72   68%  84% Initialize alarm
-    0.75    0.48    1.92    0.30   90%  56% Disable alarm
-    8.02    7.20   14.40    0.53   84%  68% Enable alarm
-    1.32    0.96    3.84    0.29   56%  40% Delete alarm
-    4.63    4.32    6.24    0.28   53%  43% Tick counter [1 alarm]
-   23.67   23.52   25.44    0.23   78%  78% Tick counter [many alarms]
-    7.24    6.72   10.56    0.21   84%  12% Tick &#38; fire counter [1 alarm]
-  106.83  106.56  110.40    0.35   96%  65% Tick &#38; fire counters [&#62;1 together]
-   26.18   25.44   29.76    0.46   81%   9% Tick &#38; fire counters [&#62;1 separately]
-   10.79   10.08   29.28    0.66   53%  55% Alarm latency [0 threads]
-   17.20   13.92   35.52    1.48   67%  21% Alarm latency [2 threads]
-   29.69   22.56   47.04    3.58   57%  17% Alarm latency [many threads]
-
-    7.66    3.84   19.20    0.00            Clock/interrupt latency
-
-Timing complete - 23530 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-sparclite-sleb.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-vr4300-vrc4373.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Fujitsu SPARClite Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: NEC VR4373</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-ppc-mbx860.html b/doc/html/user-guide/rt-ppc-mbx860.html
deleted file mode 100644 (file)
index 80fe528..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Motorola MBX</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Intel SA1100 (Brutus)"
-HREF="rt-arm-brutus.html"><LINK
-REL="NEXT"
-TITLE="Board: Hitachi EDK7708"
-HREF="rt-sh-edk7708.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-arm-brutus.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-sh-edk7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-PPC-MBX860">Board: Motorola MBX</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: Motorola MBX
-
-CPU  : Motorola MPC860 66MHZ
-
-
-Startup, main stack             : stack used   643 size  5664
-Startup              :  Interrupt stack used   427 size  4096
-Startup              : Idlethread stack used   236 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   25.36 microseconds (79 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                16
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   27.58   25.60   44.16    2.07   93%  93% Create thread
-    5.94    5.76    7.04    0.22   93%  62% Yield thread [all suspended]
-    6.06    5.44   10.56    0.57   75%  75% Suspend [suspended] thread
-    5.42    4.80    9.60    0.53   87%  81% Resume thread
-    7.10    6.40   14.08    0.90   93%  87% Set priority
-    0.86    0.64    1.92    0.22   93%  50% Get priority
-   16.74   15.04   36.48    2.47   93%  93% Kill [suspended] thread
-    6.14    5.76   10.56    0.55   93%  93% Yield [no other] thread
-    9.74    8.96   18.56    1.10   93%  93% Resume [suspended low prio] thread
-    5.28    4.80    9.28    0.54   93%  81% Resume [runnable low prio] thread
-    9.40    8.32   18.56    1.14   93%  93% Suspend [runnable] thread
-    6.04    5.76    8.96    0.38   93%  93% Yield [only low prio] thread
-    5.68    5.12    9.60    0.52   68%  75% Suspend [runnable-&#62;not runnable]
-   16.10   14.40   35.20    2.39   93%  93% Kill [runnable] thread
-    8.54    7.68   16.00    0.94   93%  87% Destroy [dead] thread
-   20.20   18.56   40.64    2.55   93%  93% Destroy [runnable] thread
-   39.02   36.48   57.28    3.28   87%  87% Resume [high priority] thread
-   13.13   12.80   22.08    0.15   78%  20% Thread switch
-
-    0.59    0.32    1.60    0.09   82%  16% Scheduler lock
-    3.67    3.52    5.12    0.17   99%  54% Scheduler unlock [0 threads]
-    3.67    3.52    4.80    0.17   99%  53% Scheduler unlock [1 suspended]
-    3.67    3.52    4.80    0.17   54%  54% Scheduler unlock [many suspended]
-    3.69    3.52    5.12    0.17   99%  50% Scheduler unlock [many low prio]
-
-    2.41    2.24    5.44    0.25   96%  75% Init mutex
-    6.83    6.40   11.84    0.34   75%  90% Lock [unlocked] mutex
-    6.74    6.40   13.12    0.40   96%  96% Unlock [locked] mutex
-    5.53    5.12    9.60    0.25   84%  12% Trylock [unlocked] mutex
-    4.84    4.48    7.36    0.17   78%  15% Trylock [locked] mutex
-    0.34    0.00    0.96    0.06   90%   3% Destroy mutex
-   56.10   55.68   59.52    0.21   93%   3% Unlock/Lock mutex
-
-    4.72    4.48   10.24    0.37   96%  96% Create mbox
-    0.75    0.64    1.92    0.16   75%  75% Peek [empty] mbox
-    6.79    6.40   12.80    0.41   96%  90% Put [first] mbox
-    0.46    0.32    1.60    0.19   93%  68% Peek [1 msg] mbox
-    6.68    6.40   12.16    0.37   96%  96% Put [second] mbox
-    0.50    0.32    1.60    0.20   93%  56% Peek [2 msgs] mbox
-    7.13    6.40   14.08    0.49   90%  46% Get [first] mbox
-    6.97    6.40   13.44    0.47   84%  78% Get [second] mbox
-    6.24    5.76   11.52    0.38   78%  81% Tryput [first] mbox
-    5.98    5.44   11.20    0.39   78%  62% Peek item [non-empty] mbox
-    6.52    6.08   13.12    0.49   93%  81% Tryget [non-empty] mbox
-    5.50    5.12   10.24    0.30   68%  28% Peek item [empty] mbox
-    5.76    5.44   10.88    0.32   96%  96% Tryget [empty] mbox
-    0.50    0.32    1.60    0.19   96%  53% Waiting to get mbox
-    0.50    0.32    1.60    0.19   96%  53% Waiting to put mbox
-    7.45    7.04   15.04    0.49   96%  93% Delete mbox
-   37.47   36.80   48.64    0.70   96%  96% Put/Get mbox
-
-    2.49    2.24    6.08    0.28   96%  56% Init semaphore
-    5.09    4.80    8.64    0.27   46%  46% Post [0] semaphore
-    6.25    5.76   10.88    0.32   93%   3% Wait [1] semaphore
-    4.84    4.48    8.32    0.23   68%  25% Trywait [0] semaphore
-    4.98    4.80    8.00    0.26   96%  71% Trywait [1] semaphore
-    1.66    1.28    3.84    0.20   68%  15% Peek semaphore
-    1.24    0.96    3.20    0.17   65%  31% Destroy semaphore
-   40.74   40.32   49.28    0.53   96%  96% Post/Wait semaphore
-
-    2.65    2.24    6.08    0.23   84%   9% Create counter
-    0.85    0.64    2.24    0.22   90%  53% Get counter value
-    0.68    0.64    1.92    0.08   96%  96% Set counter value
-    7.13    6.72    8.64    0.24   78%  18% Tick counter
-    1.30    0.96    3.20    0.12   84%  12% Delete counter
-
-    3.69    3.52    7.68    0.29   96%  84% Create alarm
-    8.98    8.32   17.60    0.61   68%  62% Initialize alarm
-    0.96    0.64    2.88    0.14   71%  21% Disable alarm
-    8.76    8.32   17.60    0.59   96%  87% Enable alarm
-    1.99    1.60    5.12    0.21   81%  12% Delete alarm
-    7.44    7.36    9.92    0.15   96%  96% Tick counter [1 alarm]
-   21.68   21.44   24.64    0.25   96%  53% Tick counter [many alarms]
-   10.95   10.56   15.04    0.26   78%  18% Tick &#38; fire counter [1 alarm]
-  132.79  132.48  136.32    0.23   59%  37% Tick &#38; fire counters [&#62;1 together]
-   25.18   24.96   28.80    0.29   96%  65% Tick &#38; fire counters [&#62;1 separately]
-   23.06   22.72   47.36    0.40   98%  98% Alarm latency [0 threads]
-   31.53   27.20   56.00    0.63   96%   0% Alarm latency [2 threads]
-   36.86   30.40   58.88    4.15   50%  28% Alarm latency [many threads]
-
-   11.41    8.96   16.32    0.00            Clock/interrupt latency
-
-  609     603     651  (main stack:  1059)  Thread stack used (1704 total)
-All done, main stack            : stack used  1059 size  5664
-All done             :  Interrupt stack used   251 size  4096
-All done             : Idlethread stack used   587 size  2048
-
-Timing complete - 23690 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-arm-brutus.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-sh-edk7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Intel SA1100 (Brutus)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Hitachi EDK7708</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-sh-cq7708.html b/doc/html/user-guide/rt-sh-cq7708.html
deleted file mode 100644 (file)
index c6cc9f3..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: CQ CqREEK SH3 Evaluation Board (cq7708)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Hitachi EDK7708"
-HREF="rt-sh-edk7708.html"><LINK
-REL="NEXT"
-TITLE="Board: Hitachi HS7729PCI HS7729 SH3"
-HREF="rt-sh-hs7729pci.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-sh-edk7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-sh-hs7729pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-SH-CQ7708">Board: CQ CqREEK SH3 Evaluation Board (cq7708)</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: CQ CqREEK SH3 Evaluation Board (cq7708)
-
-CPU: Hitachi SH3/7708 60MHz
-
-Startup, main stack             : stack used   448 size  4112
-Startup              :  Interrupt stack used    80 size  4096
-Startup              : Idlethread stack used    96 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 2 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   19.17 microseconds (71 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   20.62   14.40   26.93    3.23   48%  26% Create thread
-    3.16    2.93    4.27    0.09   78%  20% Yield thread [all suspended]
-    2.91    2.40    5.87    0.17   57%   1% Suspend [suspended] thread
-    2.73    2.40    6.40    0.19   64%  15% Resume thread
-    4.05    3.73   11.47    0.27   62%  90% Set priority
-    0.82    0.27    2.67    0.17   56%   3% Get priority
-    9.07    8.53   24.27    0.51   78%  71% Kill [suspended] thread
-    3.19    2.93    7.20    0.14   70%  28% Yield [no other] thread
-    5.45    4.53   17.87    0.49   78%  17% Resume [suspended low prio] thread
-    2.67    2.40    5.07    0.15   56%  28% Resume [runnable low prio] thread
-    4.95    4.27   11.47    0.28   82%  14% Suspend [runnable] thread
-    3.15    2.93    4.53    0.11   73%  25% Yield [only low prio] thread
-    2.82    2.40    5.60    0.21   84%  10% Suspend [runnable-&#62;not runnable]
-    8.92    8.00   24.27    0.51   84%  14% Kill [runnable] thread
-    5.10    4.53   12.00    0.27   59%  39% Destroy [dead] thread
-   11.81   10.93   37.33    0.81   87%  95% Destroy [runnable] thread
-   22.15   20.80   54.67    1.27   92%  92% Resume [high priority] thread
-    6.85    6.67   13.60    0.19   99%  50% Thread switch
-
-    0.27    0.27    1.07    0.01   99%  99% Scheduler lock
-    1.74    1.60    2.67    0.14   99%  50% Scheduler unlock [0 threads]
-    1.74    1.60    2.93    0.14   99%  50% Scheduler unlock [1 suspended]
-    1.81    1.60    4.27    0.11   72%  26% Scheduler unlock [many suspended]
-    1.75    1.60    4.00    0.15   50%  49% Scheduler unlock [many low prio]
-
-    1.22    1.07    4.27    0.23   96%  78% Init mutex
-    3.18    2.93    7.20    0.27   96%  53% Lock [unlocked] mutex
-    3.40    3.20    8.00    0.31   96%  96% Unlock [locked] mutex
-    2.77    2.40    5.87    0.22   87%   9% Trylock [unlocked] mutex
-    2.35    2.13    3.47    0.14   65%  31% Trylock [locked] mutex
-    0.78    0.53    2.67    0.14   68%  28% Destroy mutex
-   22.80   22.40   28.80    0.51   96%  71% Unlock/Lock mutex
-
-    2.61    2.40    6.13    0.26   96%  62% Create mbox
-    0.52    0.27    1.60    0.19   40%  37% Peek [empty] mbox
-    3.54    3.20    7.73    0.35   93%  78% Put [first] mbox
-    0.50    0.27    1.60    0.17   46%  37% Peek [1 msg] mbox
-    3.62    3.20    6.93    0.34   59%  65% Put [second] mbox
-    0.52    0.27    2.13    0.23   31%  43% Peek [2 msgs] mbox
-    3.93    3.47   10.13    0.43   65%  65% Get [first] mbox
-    3.92    3.47    7.47    0.40   56%  56% Get [second] mbox
-    3.37    2.93    6.93    0.36   59%  68% Tryput [first] mbox
-    3.30    2.67    6.93    0.38   84%  40% Peek item [non-empty] mbox
-    3.93    3.47    9.33    0.44   65%  71% Tryget [non-empty] mbox
-    2.94    2.67    6.13    0.25   43%  43% Peek item [empty] mbox
-    3.23    2.93    6.67    0.27   56%  84% Tryget [empty] mbox
-    0.58    0.27    2.67    0.20   62%  21% Waiting to get mbox
-    0.55    0.27    1.87    0.14   62%  21% Waiting to put mbox
-    3.82    3.47    9.87    0.39   96%  93% Delete mbox
-   13.35   12.80   21.33    0.50   87%  78% Put/Get mbox
-
-    1.22    1.07    2.93    0.19   96%  59% Init semaphore
-    2.42    2.13    4.27    0.12   81%  15% Post [0] semaphore
-    2.96    2.67    5.07    0.16   68%  21% Wait [1] semaphore
-    2.37    2.13    4.53    0.17   62%  34% Trywait [0] semaphore
-    2.29    2.13    3.47    0.17   96%  53% Trywait [1] semaphore
-    0.66    0.53    2.13    0.17   96%  68% Peek semaphore
-    0.81    0.53    2.93    0.13   75%  21% Destroy semaphore
-   14.47   14.13   21.33    0.43   96%  96% Post/Wait semaphore
-
-    1.44    1.07    3.47    0.29   56%  71% Create counter
-    0.62    0.27    1.07    0.14   62%   3% Get counter value
-    0.56    0.27    1.60    0.17   50%  25% Set counter value
-    3.39    3.20    4.27    0.16   53%  40% Tick counter
-    0.83    0.53    1.87    0.14   68%  15% Delete counter
-
-    2.02    1.87    4.00    0.21   93%  68% Create alarm
-    5.06    4.27   11.73    0.46   78%  18% Initialize alarm
-    0.73    0.27    2.40    0.22   84%   3% Disable alarm
-    4.82    4.27   11.47    0.48   81%  65% Enable alarm
-    1.19    0.80    3.47    0.22   87%   9% Delete alarm
-    3.63    3.47    5.60    0.20   96%  59% Tick counter [1 alarm]
-   15.01   14.93   16.53    0.13   87%  87% Tick counter [many alarms]
-    5.50    5.33    8.00    0.22   96%  65% Tick &#38; fire counter [1 alarm]
-   74.27   74.13   76.80    0.21   96%  78% Tick &#38; fire counters [&#62;1 together]
-   16.90   16.53   19.47    0.23   81%  15% Tick &#38; fire counters [&#62;1 separately]
-   16.70   16.53   36.27    0.33   98%  98% Alarm latency [0 threads]
-   17.85   16.53   34.40    0.47   73%   0% Alarm latency [2 threads]
-   63.26   58.40   80.00    2.64   52%  32% Alarm latency [many threads]
-   30.37   29.33  124.80    1.68   98%  97% Alarm -&#62; thread resume latency
-
-    7.37    5.07   17.87    0.00            Clock/interrupt latency
-
-    9.00    4.53   26.93    0.00            Clock DSR latency
-
-  106       0     376  (main stack:   764)  Thread stack used (992 total)
-All done, main stack            : stack used   764 size  4112
-All done             :  Interrupt stack used   176 size  4096
-All done             : Idlethread stack used   352 size  2048
-
-Timing complete - 30310 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-sh-edk7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-sh-hs7729pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Hitachi EDK7708</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Hitachi HS7729PCI HS7729 SH3</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-sh-edk7708.html b/doc/html/user-guide/rt-sh-edk7708.html
deleted file mode 100644 (file)
index da2f152..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Hitachi EDK7708</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Motorola MBX"
-HREF="rt-ppc-mbx860.html"><LINK
-REL="NEXT"
-TITLE="Board: CQ CqREEK SH3 Evaluation Board (cq7708)"
-HREF="rt-sh-cq7708.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-ppc-mbx860.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-sh-cq7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-SH-EDK7708">Board: Hitachi EDK7708</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;
-Board: Hitachi EDK7708
-
-CPU: Hitachi SH3/7708 60MHz
-
-
-
-Startup, main stack             : stack used   444 size  4112
-Startup              :  Interrupt stack used    76 size  4096
-Startup              : Idlethread stack used    96 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 2 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   14.75 microseconds (55 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                16
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   15.43   13.60   24.00    1.29   62%  50% Create thread
-    3.33    3.20    4.27    0.18   93%  68% Yield thread [all suspended]
-    2.90    2.40    5.33    0.36   81%  62% Suspend [suspended] thread
-    2.93    2.67    4.80    0.27   93%  87% Resume thread
-    4.30    3.73   10.13    0.73   93%  93% Set priority
-    0.65    0.27    2.13    0.28   68%  62% Get priority
-    9.72    8.53   21.33    1.45   93%  93% Kill [suspended] thread
-    3.33    3.20    4.53    0.20   93%  75% Yield [no other] thread
-    5.30    4.80   10.13    0.65   93%  87% Resume [suspended low prio] thread
-    2.80    2.40    4.53    0.27   81%  75% Resume [runnable low prio] thread
-    4.82    4.00    8.27    0.49   68%  25% Suspend [runnable] thread
-    3.32    3.20    4.00    0.16   93%  68% Yield [only low prio] thread
-    2.82    2.40    4.27    0.25   81%  12% Suspend [runnable-&#62;not runnable]
-    9.45    8.53   19.47    1.25   93%  93% Kill [runnable] thread
-    5.30    4.53   11.20    0.74   87%  93% Destroy [dead] thread
-   11.83   10.67   25.07    1.65   93%  93% Destroy [runnable] thread
-   19.53   17.33   31.20    1.88   75%  75% Resume [high priority] thread
-    6.70    6.67   11.47    0.07   99%  99% Thread switch
-
-    0.33    0.27    0.80    0.10   75%  75% Scheduler lock
-    1.74    1.60    2.67    0.14   99%  50% Scheduler unlock [0 threads]
-    1.72    1.60    3.20    0.14   99%  57% Scheduler unlock [1 suspended]
-    1.81    1.60    3.20    0.10   75%  23% Scheduler unlock [many suspended]
-    1.86    1.60    3.20    0.02   94%   4% Scheduler unlock [many low prio]
-
-    1.22    1.07    3.20    0.20   96%  65% Init mutex
-    3.21    2.93    5.87    0.17   68%  28% Lock [unlocked] mutex
-    3.36    2.93    7.47    0.30   84%  75% Unlock [locked] mutex
-    2.83    2.67    5.33    0.22   96%  65% Trylock [unlocked] mutex
-    2.53    2.40    2.93    0.14   96%  53% Trylock [locked] mutex
-    0.28    0.27    0.80    0.03   96%  96% Destroy mutex
-   20.09   19.73   23.20    0.23   84%  12% Unlock/Lock mutex
-
-    2.38    2.13    4.53    0.17   59%  34% Create mbox
-    0.45    0.27    1.33    0.15   56%  40% Peek [empty] mbox
-    3.70    3.20    7.20    0.29   84%  59% Put [first] mbox
-    0.45    0.27    0.80    0.13   62%  34% Peek [1 msg] mbox
-    3.67    3.20    5.60    0.23   81%   6% Put [second] mbox
-    0.42    0.27    0.53    0.13   59%  40% Peek [2 msgs] mbox
-    3.98    3.47    7.47    0.24   59%   9% Get [first] mbox
-    3.97    3.47    4.80    0.24   59%  12% Get [second] mbox
-    3.51    3.20    6.67    0.28   56%  78% Tryput [first] mbox
-    3.29    2.93    5.60    0.29   59%  65% Peek item [non-empty] mbox
-    4.06    3.47    7.20    0.26   68%   3% Tryget [non-empty] mbox
-    3.03    2.67    5.33    0.19   93%   3% Peek item [empty] mbox
-    3.36    3.20    4.80    0.18   96%  56% Tryget [empty] mbox
-    0.57    0.27    1.33    0.09   84%   3% Waiting to get mbox
-    0.52    0.27    1.07    0.11   62%  21% Waiting to put mbox
-    3.88    3.47    7.47    0.30   78%  65% Delete mbox
-   12.04   11.73   17.33    0.33   96%  96% Put/Get mbox
-
-    1.17    1.07    2.40    0.16   71%  71% Init semaphore
-    2.67    2.40    4.27    0.15   62%  25% Post [0] semaphore
-    3.00    2.67    4.53    0.17   65%  12% Wait [1] semaphore
-    2.54    2.40    4.80    0.20   96%  71% Trywait [0] semaphore
-    2.42    2.40    2.93    0.03   96%  96% Trywait [1] semaphore
-    0.79    0.53    2.13    0.15   59%  28% Peek semaphore
-    0.77    0.53    1.87    0.12   71%  25% Destroy semaphore
-   12.64   12.27   17.07    0.28   84%  96% Post/Wait semaphore
-
-    1.27    1.07    2.93    0.17   53%  43% Create counter
-    0.54    0.27    1.33    0.13   59%  21% Get counter value
-    0.47    0.27    1.60    0.17   46%  43% Set counter value
-    3.47    3.20    4.80    0.16   53%  28% Tick counter
-    0.80    0.53    2.13    0.13   62%  25% Delete counter
-
-    1.86    1.60    4.00    0.21   43%  40% Create alarm
-    5.12    4.80    9.07    0.36   93%  75% Initialize alarm
-    0.44    0.27    1.33    0.19   87%  53% Disable alarm
-    4.77    4.27    9.60    0.35   87%  62% Enable alarm
-    1.02    0.80    2.67    0.18   53%  40% Delete alarm
-    3.56    3.47    5.33    0.15   84%  84% Tick counter [1 alarm]
-   15.04   14.93   16.27    0.16   71%  71% Tick counter [many alarms]
-    5.75    5.60    8.00    0.21   96%  68% Tick &#38; fire counter [1 alarm]
-   79.60   79.47   81.07    0.17   96%  65% Tick &#38; fire counters [&#62;1 together]
-   17.04   16.80   18.93    0.15   65%  31% Tick &#38; fire counters [&#62;1 separately]
-   12.44   12.27   29.60    0.31   96%  96% Alarm latency [0 threads]
-   14.06   12.27   27.20    0.53   82%   4% Alarm latency [2 threads]
-   19.62   17.07   38.40    1.44   57%  34% Alarm latency [many threads]
-
-    2.79    2.40    6.13    0.00            Clock/interrupt latency
-
-  376     376     376  (main stack:   764)  Thread stack used (992 total)
-All done, main stack            : stack used   764 size  4112
-All done             :  Interrupt stack used   176 size  4096
-All done             : Idlethread stack used   352 size  2048
-
-Timing complete - 23860 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-ppc-mbx860.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-sh-cq7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Motorola MBX</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: CQ CqREEK SH3 Evaluation Board (cq7708)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-sh-hs7729pci.html b/doc/html/user-guide/rt-sh-hs7729pci.html
deleted file mode 100644 (file)
index f36dd03..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Hitachi HS7729PCI HS7729 SH3</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: CQ CqREEK SH3 Evaluation Board (cq7708)"
-HREF="rt-sh-cq7708.html"><LINK
-REL="NEXT"
-TITLE="Board: Hitachi Solution Engine 7751 SH4 (se7751)"
-HREF="rt-sh-se7751.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-sh-cq7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-sh-se7751.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-SH-HS7729PCI">Board: Hitachi HS7729PCI HS7729 SH3</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: Hitachi HS7729PCI HS7729 SH3
-
-CPU: Hitachi SH3/7729 132MHz
-
-
-Startup, main stack             : stack used   464 size  4112
-Startup              :  Interrupt stack used    92 size  4096
-Startup              : Idlethread stack used    94 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 3 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   18.10 microseconds (149 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   18.33   15.52   28.24    1.47   53%  28% Create thread
-    3.08    2.91    6.79    0.13   78%  89% Yield thread [all suspended]
-    3.23    3.03    6.18    0.16   59%  70% Suspend [suspended] thread
-    2.70    2.55    6.18    0.15   54%  82% Resume thread
-    4.12    4.00    7.52    0.16   96%  81% Set priority
-    0.61    0.48    1.33    0.07   57%  28% Get priority
-    9.14    8.61   18.91    0.42   85%  57% Kill [suspended] thread
-    3.04    2.91    4.48    0.07   68%  20% Yield [no other] thread
-    5.12    4.73    7.88    0.29   60%  53% Resume [suspended low prio] thread
-    2.54    2.42    3.03    0.09   39%  40% Resume [runnable low prio] thread
-    5.00    4.36    9.45    0.21   75%   1% Suspend [runnable] thread
-    3.04    2.91    4.61    0.07   65%  21% Yield [only low prio] thread
-    2.91    2.79    3.27    0.08   43%  31% Suspend [runnable-&#62;not runnable]
-    8.82    8.12   15.39    0.36   68%  29% Kill [runnable] thread
-    5.07    4.48   12.73    0.37   76%  50% Destroy [dead] thread
-   11.17   10.55   22.91    0.52   78%  67% Destroy [runnable] thread
-   22.43   21.45   32.73    0.61   81%  50% Resume [high priority] thread
-    7.99    7.88   13.58    0.14   98%  86% Thread switch
-
-    0.37    0.36    1.33    0.02   97%  97% Scheduler lock
-    1.74    1.70    2.06    0.06   70%  70% Scheduler unlock [0 threads]
-   1.75    1.70    2.06    0.07   92%  64% Scheduler unlock [1 suspended]
-    1.71    1.70    2.42    0.03   89%  89% Scheduler unlock [many suspended]
-    1.76    1.70    3.64    0.08   96%  64% Scheduler unlock [many low prio]
-
-    4.23    3.88   10.67    0.41   96%  93% Unlock [locked] mutex
-    3.12    2.91    6.91    0.29   96%  87% Trylock [unlocked] mutex
-    2.54    2.42    2.91    0.11   18%  46% Trylock [locked] mutex
-    0.88    0.73    3.15    0.14   65%  96% Destroy mutex
-   22.33   22.06   25.94    0.23   81%  62% Unlock/Lock mutex
-
-    1.92    1.82    4.73    0.19   96%  93% Create mbox
-    0.61    0.48    1.70    0.15   84%  75% Peek [empty] mbox
-    4.00    3.64    9.45    0.36   96%  87% Put [first] mbox
-    0.30    0.24    0.73    0.09   84%  75% Peek [1 msg] mbox
-    3.82    3.64    6.67    0.22   90%  84% Put [second] mbox
-    0.32    0.24    1.33    0.12   81%  81% Peek [2 msgs] mbox
-    4.19    3.76    9.21    0.34   84%  50% Get [first] mbox
-    3.91    3.76    5.21    0.16   84%  75% Get [second] mbox
-    3.51    3.27    8.12    0.34   93%  87% Tryput [first] mbox
-    3.25    2.91    7.15    0.30   62%  56% Peek item [non-empty] mbox
-    3.86    3.52    8.73    0.37   93%  84% Tryget [non-empty] mbox
-    2.87    2.79    3.76    0.12   84%  71% Peek item [empty] mbox
-    3.15    3.03    4.24    0.10   46%  40% Tryget [empty] mbox
-    0.34    0.24    1.33    0.10   43%  46% Waiting to get mbox
-    0.36    0.24    1.45    0.09   53%  37% Waiting to put mbox
-    4.49    4.24   10.91    0.41   96%  96% Delete mbox
-   12.67   12.36   19.52    0.43   96%  96% Put/Get mbox
-
-    0.87    0.85    1.45    0.05   93%  93% Init semaphore
-    2.74    2.55    4.48    0.18   50%  50% Post [0] semaphore
-    3.39    3.15    4.24    0.14   78%  50% Wait [1] semaphore
-    2.62    2.42    5.33    0.21   96%  65% Trywait [0] semaphore
-    2.76    2.67    3.27    0.08   46%  43% Trywait [1] semaphore
-    1.09    0.85    2.91    0.19   68%  56% Peek semaphore
-    0.97    0.73    3.39    0.17   90%  65% Destroy semaphore
-   13.09   12.85   16.12    0.19   84%  65% Post/Wait semaphore
-
-    1.57    1.45    3.88    0.15   96%  93% Create counter
-    0.91    0.73    2.18    0.16   46%  68% Get counter value
-    0.55    0.48    0.97    0.09   90%  62% Set counter value
-    4.19    4.00    5.82    0.13   84%  75% Tick counter
-    0.87    0.73    3.15    0.16   93%  93% Delete counter
-
-    2.50    2.30    5.21    0.18   81%  90% Create alarm
-    6.16    5.70   12.97    0.47   96%  71% Initialize alarm
-    0.50    0.36    1.70    0.11   62%  34% Disable alarm
-    5.16    4.85    8.73    0.29   78%  78% Enable alarm
-    1.18    1.09    2.30    0.12   84%  65% Delete alarm
-    5.22    5.09    7.39    0.14   96%  93% Tick counter [1 alarm]
-   52.37   52.12   52.73    0.20   37%  56% Tick counter [many alarms]
-    6.73    6.55    8.24    0.13   78%  68% Tick &#38; fire counter [1 alarm]
-  108.65  108.61  109.21    0.07   87%  87% Tick &#38; fire counters [&#62;1 together]
-   54.25   54.06   54.79    0.11   65%  18% Tick &#38; fire counters [&#62;1 separately]
-   17.36   17.09   29.82    0.23   82%  57% Alarm latency [0 threads]
-   19.75   17.09   28.00    1.65   46%  40% Alarm latency [2 threads]
-   39.02   34.06   50.67    2.00   53%  15% Alarm latency [many threads]
-   29.31   28.36  105.09    1.27   98%  97% Alarm -&#62; thread resume latency
-
-    5.08    3.88   11.15    0.00            Clock/interrupt latency
-
-    7.32    5.09   16.73    0.00            Clock DSR latency
-
-    6       0     380  (main stack:   820)  Thread stack used (992 total)
-All done, main stack            : stack used   820 size  4112
-All done             :  Interrupt stack used   196 size  4096
-All done             : Idlethread stack used   360 size  2048
-
-Timing complete - 29960 ms total
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62; </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-sh-cq7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-sh-se7751.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: CQ CqREEK SH3 Evaluation Board (cq7708)</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Hitachi Solution Engine 7751 SH4 (se7751)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-sh-se7751.html b/doc/html/user-guide/rt-sh-se7751.html
deleted file mode 100644 (file)
index ca96356..0000000
+++ /dev/null
@@ -1,289 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Hitachi Solution Engine 7751 SH4 (se7751)</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Hitachi HS7729PCI HS7729 SH3"
-HREF="rt-sh-hs7729pci.html"><LINK
-REL="NEXT"
-TITLE="Board: PC"
-HREF="rt-i386-pc.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-sh-hs7729pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-i386-pc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-SH-SE7751">Board: Hitachi Solution Engine 7751 SH4 (se7751)</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: Hitachi Solution Engine 7751 SH4 (se7751)
-
-CPU: Hitachi SH4/7751 162MHz
-
-
-Startup, main stack             : stack used   464 size  4112
-Startup              :  Interrupt stack used    92 size  4096
-Startup              : Idlethread stack used    94 size  2048
-
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-
-Reading the hardware clock takes 1 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    14.27 microseconds (96 raw clock ticks)
-
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-                               Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-    8.06    5.63   12.15    1.37   46%  29% Create thread
-    1.15    1.04    5.19    0.15   98%  98% Yield thread [all suspended]
-    1.13    0.89    5.04    0.27   89%  62% Suspend [suspended] thread
-    1.11    0.89    5.19    0.26   89%  71% Resume thread
-    1.45    1.19    3.56    0.23   53%  53% Set priority
-    0.21    0.15    1.19    0.10   90%  79% Get priority
-    4.15    3.56   13.04    0.53   68%  64% Kill [suspended] thread
-    1.12    1.04    3.70    0.12   98%  70% Yield [no other] thread
-    1.75    1.33    8.00    0.38   59%  65% Resume [suspended low prio] thread
-    1.10    0.89    4.59    0.25   87%  73% Resume [runnable low prio] thread
-    1.59    1.33    5.93    0.33   81%  79% Suspend [runnable] thread
-    1.13    1.04    4.30    0.13   98%  71% Yield [only low prio] thread
-    1.09    0.89    3.56    0.21   89%  70% Suspend [runnable-&#62;not runnable]
-    4.96    4.30   11.70    0.44   68%  39% Kill [runnable] thread
-    1.95    1.48    8.00    0.34   75%  57% Destroy [dead] thread
-    4.41    3.85   10.37    0.47   53%  57% Destroy [runnable] thread
-   13.15   11.41   23.85    1.11   73%  39% Resume [high priority] thread
-    3.10    2.96    6.22    0.11   41%  39% Thread switch
-
-    0.13    0.00    1.33    0.06   74%  21% Scheduler lock
-    0.76    0.74    1.78    0.03   96%  96% Scheduler unlock [0 threads]
-    0.76    0.74    1.78    0.03   96%  96% Scheduler unlock [1 suspended]
-    0.77    0.74    2.67    0.05   95%  95% Scheduler unlock [many suspended]
-    0.76    0.74    2.37    0.04   95%  95% Scheduler unlock [many low prio]
-
-    0.52    0.15    2.67    0.26   65%  34% Init mutex
-    1.23    1.04    5.63    0.32   93%  93% Lock [unlocked] mutex
-    1.45    1.19    5.33    0.31   90%  87% Unlock [locked] mutex
-    1.13    0.89    4.15    0.28   90%  84% Trylock [unlocked] mutex
-    1.00    0.89    2.96    0.17   87%  87% Trylock [locked] mutex
-    0.37    0.30    1.78    0.13   90%  84% Destroy mutex
-    9.09    8.59   12.59    0.43   71%  71% Unlock/Lock mutex
-    0.93    0.59    4.30    0.40   84%  71% Create mbox
-    0.26    0.00    1.19    0.17   71%  59% Peek [empty] mbox
-    3.03    2.52    6.37    0.47   50%  59% Put [first] mbox
-    0.23    0.00    0.74    0.14   68%  15% Peek [1 msg] mbox
-    2.93    2.52    4.74    0.46   71%  59% Put [second] mbox
-    0.22    0.00    0.59    0.13   68%  15% Peek [2 msgs] mbox
-    2.07    1.63    5.93    0.37   84%  59% Get [first] mbox
-    2.06    1.63    4.74    0.34   78%  59% Get [second] mbox
-    1.48    1.04    5.48    0.37   62%  53% Tryput [first] mbox
-    1.31    1.04    4.89    0.32   96%  75% Peek item [non-empty] mbox
-    1.47    1.04    5.78    0.38   84%  65% Tryget [non-empty] mbox
-    1.15    0.89    3.11    0.18   71%  56% Peek item [empty] mbox
-    1.20    1.04    3.85    0.21   93%  84% Tryget [empty] mbox
-    0.21    0.00    0.74    0.14   68%  18% Waiting to get mbox
-    0.19    0.00    0.44    0.10   43%  15% Waiting to put mbox
-    2.19    1.93    5.78    0.27   93%  71% Delete mbox
-   10.23    9.93   11.56    0.15   53%  37% Put/Get mbox
-
-    0.37    0.15    1.33    0.26   71%  71% Init semaphore
-    0.98    0.89    2.52    0.13   96%  68% Post [0] semaphore
-    1.08    0.89    3.26    0.15   68%  93% Wait [1] semaphore
-    0.98    0.89    3.41    0.16   93%  93% Trywait [0] semaphore
-    0.73    0.59    1.63    0.07   71%  25% Trywait [1] semaphore
-    0.33    0.30    1.33    0.07   93%  93% Peek semaphore
-    0.34    0.30    1.78    0.09   96%  96% Destroy semaphore
-    9.36    8.74   10.37    0.33   56%  31% Post/Wait semaphore
-
-    0.54    0.15    3.26    0.23   59%  37% Create counter
-    0.13    0.00    0.59    0.07   68%  25% Get counter value
-    0.14    0.00    0.59    0.07   68%  25% Set counter value
-    3.74    3.56    5.33    0.17   53%  75% Tick counter
-    0.32    0.15    2.07    0.12   71%  21% Delete counter
-
-    1.59    1.19    3.11    0.29   71%  43% Create alarm
-    1.89    1.48    6.37    0.44   87%  78% Initialize alarm
-    0.20    0.15    0.74    0.09   87%  84% Disable alarm
-    1.62    1.33    5.63    0.41   87%  84% Enable alarm
-    0.40    0.30    1.33    0.13   87%  62% Delete alarm
-
-   4.03    3.70    5.78    0.27   68%  56% Tick counter [1 alarm]
-   14.18   13.93   15.70    0.27   81%  75% Tick counter [many alarms]
-    4.81    4.59    5.93    0.13   81%  15% Tick &#38; fire counter [1 alarm]
-   30.77   30.52   33.63    0.20   75%  65% Tick &#38; fire counters [&#62;1 together]
-   15.10   14.52   17.04    0.23   71%   3% Tick &#38; fire counters [&#62;1 separately]
-    8.78    8.59   18.22    0.20   97%  89% Alarm latency [0 threads]
-   11.29    9.33   17.48    1.02   56%  22% Alarm latency [2 threads]
-   18.70   15.70   26.37    1.45   54%  22% Alarm latency [many threads]
-   19.40   18.81   57.48    0.65   97%  97% Alarm -&#62; thread resume latency
-
-    4.18    2.81    8.89    0.00            Clock/interrupt latency
-
-    3.98    2.52   11.56    0.00            Clock DSR latency
-
-    6       0     380  (main stack:   728)  Thread stack used (992 total)
-All done, main stack            : stack used   728 size  4112
-All done             :  Interrupt stack used   196 size  4096
-All done             : Idlethread stack used   360 size  2048
-
-Timing complete - 29790 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62; </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-sh-hs7729pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-i386-pc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Hitachi HS7729PCI HS7729 SH3</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: PC</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-sparclite-sleb.html b/doc/html/user-guide/rt-sparclite-sleb.html
deleted file mode 100644 (file)
index 1e647f4..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Fujitsu SPARClite Evaluation Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Matsushita STDEVAL1 Board"
-HREF="rt-mn10300-stdeval1.html"><LINK
-REL="NEXT"
-TITLE="Board: Cogent CMA MPC860 (PowerPC) Evaluation "
-HREF="rt-ppc-cogent.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-mn10300-stdeval1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-ppc-cogent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-SPARCLITE-SLEB">Board: Fujitsu SPARClite Evaluation Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: Fujitsu SPARClite Evaluation Board
-
-CPU  : Fujitsu SPARClite MB8683X 100MHz
-
-
-eCOS Kernel Timings
-Note: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   17.19 microseconds (17 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                24
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   48.59   47.00   63.01    1.41   66%  70% Create thread
-    2.13    2.00    5.00    0.24   95%  95% Yield thread [all suspended]
-    2.92    2.00   10.00    0.69   58%  37% Suspend [suspended] thread
-    2.13    1.00   10.00    0.66   75%  20% Resume thread
-    2.79    2.00   11.00    0.86   95%  54% Set priority
-    1.00    0.00    5.00    0.33   79%  16% Get priority
-    7.17    5.00   34.00    2.24   95%  95% Kill [suspended] thread
-    2.42    2.00   12.00    0.80   95%  95% Yield [no other] thread
-    3.46    2.00   14.00    1.10   75%  83% Resume [suspended low prio] thread
-    2.00    1.00    9.00    0.58   66%  29% Resume [runnable low prio] thread
-    4.21    3.00   20.00    1.38   95%  91% Suspend [runnable] thread
-    2.33    2.00   10.00    0.64   95%  95% Yield [only low prio] thread
-    2.00    1.00    9.00    0.67   58%  33% Suspend [runnable-&#62;not runnable]
-    5.79    4.00   30.00    2.07   95%  95% Kill [runnable] thread
-   39.34   37.00   75.01    3.36   91%  91% Resume [high priority] thread
-   15.20   15.00   31.00    0.40   97%  97% Thread switch
-
-    1.04    1.00    4.00    0.08   97%  97% Scheduler lock
-    1.42    1.00    5.00    0.51   60%  60% Scheduler unlock [0 threads]
-    1.41    1.00    5.00    0.50   61%  61% Scheduler unlock [1 suspended]
-    1.41    1.00    5.00    0.50   60%  60% Scheduler unlock [many suspended]
-    1.40    1.00    5.00    0.50   62%  62% Scheduler unlock [many low prio]
-
-    1.19    1.00    6.00    0.35   93%  93% Init mutex
-    2.34    2.00   12.00    0.64   93%  93% Lock [unlocked] mutex
-    3.41    3.00   13.00    0.71   96%  87% Unlock [locked] mutex
-    2.16    1.00   10.00    0.49   87%   9% Trylock [unlocked] mutex
-    1.78    1.00    7.00    0.59   59%  37% Trylock [locked] mutex
-    0.72    0.00    2.00    0.45   65%  31% Destroy mutex
-   25.25   24.00   41.00    0.98   71%  25% Unlock/Lock mutex
-
-    1.44    1.00    9.00    0.68   96%  78% Create mbox
-    0.94    0.00    3.00    0.23   84%  12% Peek [empty] mbox
-    3.06    2.00   13.00    0.62   71%  25% Put [first] mbox
-    0.69    0.00    3.00    0.52   59%  37% Peek [1 msg] mbox
-    2.44    2.00   10.00    0.68   96%  78% Put [second] mbox
-    0.78    0.00    3.00    0.44   68%  28% Peek [2 msgs] mbox
-    3.78    3.00   14.00    0.83   96%  53% Get [first] mbox
-    2.97    2.00    9.00    0.61   56%  31% Get [second] mbox
-    2.53    2.00   12.00    0.80   96%  75% Tryput [first] mbox
-    2.72    2.00   12.00    0.81   96%  56% Peek item [non-empty] mbox
-    2.63    2.00   13.00    0.94   90%  75% Tryget [non-empty] mbox
-    1.97    1.00    6.00    0.42   68%  21% Peek item [empty] mbox
-    2.09    1.00    9.00    0.49   78%  15% Tryget [empty] mbox
-    0.84    0.00    4.00    0.42   71%  25% Waiting to get mbox
-    0.81    0.00    4.00    0.46   68%  28% Waiting to put mbox
-    2.38    2.00   11.00    0.66   96%  87% Delete mbox
-   23.41   22.00   47.00    1.47   96%  96% Put/Get mbox
-
-    1.03    0.00    6.00    0.31   84%  12% Init semaphore
-    2.66    2.00    8.00    0.66   96%  50% Post [0] semaphore
-    1.97    1.00   10.00    0.55   68%  28% Wait [1] semaphore
-    1.78    1.00    8.00    0.63   56%  40% Trywait [0] semaphore
-    1.84    1.00    8.00    0.58   62%  34% Trywait [1] semaphore
-    1.00    0.00    5.00    0.25   84%  12% Peek semaphore
-    0.81    0.00    4.00    0.46   68%  28% Destroy semaphore
-   19.03   18.00   41.00    1.37   96%  96% Post/Wait semaphore
-
-    1.38    1.00    6.00    0.56   75%  75% Create counter
-    1.09    1.00    3.00    0.18   93%  93% Get counter value
-    1.00    0.00    5.00    0.31   78%  15% Set counter value
-    3.09    2.00    6.00    0.35   78%   9% Tick counter
-    0.91    0.00    5.00    0.40   75%  21% Delete counter
-
-    2.53    2.00    9.00    0.70   96%  65% Create alarm
-    6.03    5.00   22.00    1.00   50%  46% Initialize alarm
-    0.78    0.00    4.00    0.49   65%  31% Disable alarm
-    2.91    2.00   13.00    0.91   87%  50% Enable alarm
-    0.97    0.00    5.00    0.30   81%  15% Delete alarm
-    2.69    2.00    9.00    0.69   96%  50% Tick counter [1 alarm]
-   12.00   11.00   23.00    0.69   62%  34% Tick counter [many alarms]
-    4.16    3.00   13.00    0.55   84%  12% Tick &#38; fire counter [1 alarm]
-   72.69   72.01   87.01    1.03   96%  96% Tick &#38; fire counters [&#62;1 together]
-   13.66   13.00   23.00    0.82   96%  62% Tick &#38; fire counters [&#62;1 separately]
-   13.26   13.00   42.00    0.51   98%  98% Alarm latency [0 threads]
-   16.75   11.00   53.01    2.78   64%  16% Alarm latency [2 threads]
-   24.06   18.00   58.01    3.55   67%  25% Alarm latency [many threads]
-
-    3.61    2.00   13.00    0.00            Clock/interrupt latency
-
-Timing complete - 23590 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-mn10300-stdeval1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-ppc-cogent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Matsushita STDEVAL1 Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Cogent CMA MPC860 (PowerPC) Evaluation</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-tx39-jmr3904.html b/doc/html/user-guide/rt-tx39-jmr3904.html
deleted file mode 100644 (file)
index 62db901..0000000
+++ /dev/null
@@ -1,275 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Toshiba JMR3904 Evaluation Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Intel IQ80310 XScale Development Kit"
-HREF="rt-arm-iq80310.html"><LINK
-REL="NEXT"
-TITLE="Board: Toshiba REF 4955"
-HREF="rt-tx49-ref4955.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-arm-iq80310.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-tx49-ref4955.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-TX39-JMR3904">Board: Toshiba JMR3904 Evaluation Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: Toshiba JMR3904 Evaluation Board
-
-CPU  : TMPR3904F 50MHz
-
-
-eCOS Kernel Timings
-Note: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 0 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took   29.68 microseconds (45 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                24
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   13.62   11.72   27.99    1.51   79%  54% Create thread
-    2.77    2.60    3.91    0.26   79%  79% Yield thread [all suspended]
-    3.31    2.60    6.51    0.27   83%  12% Suspend [suspended] thread
-    2.58    1.95    7.81    0.47   58%  37% Resume thread
-    4.94    4.56   11.07    0.60   95%  79% Set priority
-    0.71    0.65    1.95    0.10   95%  95% Get priority
-   14.97   14.32   25.39    0.87   95%  95% Kill [suspended] thread
-    2.25    1.95    9.11    0.57   95%  95% Yield [no other] thread
-    7.27    6.51   12.37    0.42   79%  16% Resume [suspended low prio] thread
-    2.28    1.95    7.16    0.51   95%  79% Resume [runnable low prio] thread
-    4.31    3.26   12.37    0.75   87%  79% Suspend [runnable] thread
-    2.17    1.95    7.16    0.42   95%  95% Yield [only low prio] thread
-    2.39    1.95    6.51    0.51   95%  58% Suspend [runnable-&#62;not runnable]
-   13.43   12.37   22.79    0.80   91%  91% Kill [runnable] thread
-   22.30   20.83   37.76    1.76   91%  91% Resume [high priority] thread
-    4.62    4.56   11.07    0.13   98%  98% Thread switch
-
-    1.51    1.30    2.60    0.29   68%  68% Scheduler lock
-    2.36    1.95    3.26    0.31   61%  37% Scheduler unlock [0 threads]
-    2.39    1.95    5.21    0.32   62%  36% Scheduler unlock [1 suspended]
-    2.38    1.95    4.56    0.32   61%  37% Scheduler unlock [many suspended]
-    2.38    1.95    5.21    0.32   61%  37% Scheduler unlock [many low prio]
-
-    0.90    0.65    3.26    0.35   71%  71% Init mutex
-    2.48    1.95    8.46    0.50   50%  46% Lock [unlocked] mutex
-    2.83    2.60    9.11    0.42   93%  93% Unlock [locked] mutex
-    2.30    1.95    6.51    0.45   96%  65% Trylock [unlocked] mutex
-    1.99    1.30    5.86    0.24   84%  12% Trylock [locked] mutex
-    0.04    0.00    1.30    0.08   96%  96% Destroy mutex
-   42.40   42.32   44.92    0.16   96%  96% Unlock/Lock mutex
-
-    1.44    1.30    5.86    0.28   96%  96% Create mbox
-    0.51    0.00    1.30    0.25   71%  25% Peek [empty] mbox
-    2.93    2.60    9.11    0.51   96%  78% Put [first] mbox
-    0.51    0.00    1.30    0.25   71%  25% Peek [1 msg] mbox
-    4.19    3.91    5.21    0.34   59%  59% Put [second] mbox
-    0.45    0.00    0.65    0.28   68%  31% Peek [2 msgs] mbox
-    3.28    2.60   10.42    0.45   65%  31% Get [first] mbox
-    3.34    2.60    9.77    0.40   78%  18% Get [second] mbox
-    2.69    1.95    9.11    0.40   78%  18% Tryput [first] mbox
-    2.75    1.95    7.81    0.32   93%   3% Peek item [non-empty] mbox
-    3.15    2.60    9.11    0.48   53%  43% Tryget [non-empty] mbox
-    2.22    1.95    6.51    0.41   96%  78% Peek item [empty] mbox
-    2.40    1.95    5.86    0.42   50%  46% Tryget [empty] mbox
-    0.47    0.00    0.65    0.26   71%  28% Waiting to get mbox
-    0.59    0.00    1.30    0.15   84%  12% Waiting to put mbox
-    4.01    3.26   10.42    0.40   81%  15% Delete mbox
-   26.18   26.04   30.60    0.28   96%  96% Put/Get mbox
-
-    0.92    0.65    3.91    0.38   71%  71% Init semaphore
-    2.24    1.95    6.51    0.43   96%  75% Post [0] semaphore
-    2.32    1.95    7.16    0.48   96%  65% Wait [1] semaphore
-    2.03    1.30    5.86    0.24   90%   6% Trywait [0] semaphore
-    1.91    1.30    4.56    0.23   78%  18% Trywait [1] semaphore
-    0.77    0.00    1.95    0.30   65%   9% Peek semaphore
-    0.61    0.00    1.95    0.15   84%  12% Destroy semaphore
-   22.62   22.14   30.60    0.61   96%  62% Post/Wait semaphore
-
-    0.92    0.65    3.91    0.38   71%  71% Create counter
-    0.69    0.65    1.95    0.08   96%  96% Get counter value
-    0.41    0.00    1.30    0.33   56%  40% Set counter value
-    3.21    2.60    5.86    0.27   71%  21% Tick counter
-    0.65    0.00    3.26    0.16   84%  12% Delete counter
-
-    1.57    1.30    4.56    0.38   71%  71% Create alarm
-    4.52    3.91   13.02    0.57   50%  46% Initialize alarm
-    0.61    0.00    1.95    0.15   84%  12% Disable alarm
-    4.43    3.91    9.11    0.43   56%  40% Enable alarm
-    0.87    0.65    2.60    0.32   71%  71% Delete alarm
-    2.93    2.60    6.51    0.43   96%  65% Tick counter [1 alarm]
-   14.83   14.32   22.79    0.60   96%  59% Tick counter [many alarms]
-    4.88    4.56   11.07    0.51   96%  78% Tick &#38; fire counter [1 alarm]
-   83.25   82.03  102.86    1.23   96%  93% Tick &#38; fire counters [&#62;1 together]
-   17.58   16.93   27.34    0.61   50%  46% Tick &#38; fire counters [&#62;1 separately]
-   26.18   24.74   40.36    0.30   97%   0% Alarm latency [0 threads]
-   33.88   29.30   56.64    1.70   85%   6% Alarm latency [2 threads]
-   36.37   29.30   61.20    3.25   53%  24% Alarm latency [many threads]
-
-    7.85    6.51   14.97    0.00            Clock/interrupt latency
-
-Timing complete - 23540 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-arm-iq80310.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-tx49-ref4955.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Intel IQ80310 XScale Development Kit</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Toshiba REF 4955</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-tx49-ref4955.html b/doc/html/user-guide/rt-tx49-ref4955.html
deleted file mode 100644 (file)
index 06a460f..0000000
+++ /dev/null
@@ -1,288 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: Toshiba REF 4955</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Toshiba JMR3904 Evaluation Board"
-HREF="rt-tx39-jmr3904.html"><LINK
-REL="NEXT"
-TITLE="Board: Matsushita STDEVAL1 Board"
-HREF="rt-mn10300-stdeval1.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-tx39-jmr3904.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-mn10300-stdeval1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-TX49-REF4955">Board: Toshiba REF 4955</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: Toshiba REF 4955
-
-CPU  : Toshiba TX4955 66MHz
-
-Startup, main stack             : stack used   960 size  2936
-Startup              :  Interrupt stack used   168 size  4096
-Startup              : Idlethread stack used   372 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 3 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    4.00 microseconds (264 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                  64
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   11.21    9.58   14.11    0.95   48%  34% Create thread
-    0.66    0.65    1.29    0.02   98%  98% Yield thread [all suspended]
-    0.63    0.53    3.06    0.17   82%  82% Suspend [suspended] thread
-    0.54    0.53    1.06    0.02   98%  98% Resume thread
-    0.78    0.74    1.39    0.05   93%  93% Set priority
-    0.05    0.05    0.36    0.01   98%  98% Get priority
-    2.06    1.89    6.65    0.25   95%  79% Kill [suspended] thread
-    0.65    0.65    0.68    0.00   98%  98% Yield [no other] thread
-    1.15    1.02    3.03    0.20   81%  81% Resume [suspended low prio] thread
-    0.54    0.52    1.18    0.03   96%  96% Resume [runnable low prio] thread
-    0.94    0.88    1.27    0.01   95%   1% Suspend [runnable] thread
-    0.65    0.65    0.68    0.00   98%  98% Yield [only low prio] thread
-    0.54    0.53    0.86    0.01   98%  96% Suspend [runnable-&#62;not runnable]
-    1.97    1.89    2.98    0.12   84%  84% Kill [runnable] thread
-    1.03    0.92    4.94    0.17   89%  89% Destroy [dead] thread
-    2.55    2.33    4.38    0.24   89%  70% Destroy [runnable] thread
-    5.62    4.11   13.23    0.99   65%  40% Resume [high priority] thread
-    1.84    1.83    2.79    0.02   98%  98% Thread switch
-
-    0.12    0.02    0.65    0.15   74%  74% Scheduler lock
-    0.35    0.35    0.35    0.00  100% 100% Scheduler unlock [0 threads]
-    0.35    0.35    0.35    0.00  100% 100% Scheduler unlock [1 suspended]
-    0.43    0.35    1.17    0.13   78%  78% Scheduler unlock [many suspended]
-    0.45    0.35    1.17    0.15   75%  75% Scheduler unlock [many low prio]
-
-    0.46    0.15    3.38    0.30   62%  50% Init mutex
-    0.73    0.64    3.27    0.16   96%  96% Lock [unlocked] mutex
-    0.77    0.65    4.50    0.23   96%  96% Unlock [locked] mutex
-    0.58    0.55    1.42    0.05   96%  96% Trylock [unlocked] mutex
-    0.51    0.50    0.83    0.02   96%  96% Trylock [locked] mutex
-    0.12    0.11    0.41    0.02   96%  96% Destroy mutex
-    4.72    4.70    5.58    0.05   96%  96% Unlock/Lock mutex
-
-    1.01    0.67    3.48    0.40   71%  71% Create mbox
-    0.02    0.00    0.53    0.03   96%  96% Peek [empty] mbox
-    0.89    0.68    4.20    0.29   96%  71% Put [first] mbox
-    0.02    0.00    0.33    0.02   96%  96% Peek [1 msg] mbox
-    0.69    0.68    0.76    0.01   50%  46% Put [second] mbox
-    0.02    0.00    0.30    0.02   96%  96% Peek [2 msgs] mbox
-    0.81    0.71    3.83    0.19   96%  96% Get [first] mbox
-    0.72    0.71    1.02    0.02   96%  96% Get [second] mbox
-    0.81    0.65    2.74    0.22   96%  71% Tryput [first] mbox
-    0.67    0.62    2.27    0.10   96%  96% Peek item [non-empty] mbox
-    0.77    0.71    2.41    0.10   96%  96% Tryget [non-empty] mbox
-    0.59    0.58    0.88    0.02   96%  96% Peek item [empty] mbox
-    0.62    0.62    0.67    0.00   96%  96% Tryget [empty] mbox
-    0.03    0.02    0.32    0.02   96%  96% Waiting to get mbox
-    0.02    0.02    0.06    0.01   50%  46% Waiting to put mbox
-    0.75    0.65    3.59    0.18   96%  96% Delete mbox
-    2.80    2.77    3.59    0.05   96%  96% Put/Get mbox
-
-    0.37    0.18    0.88    0.28   71%  71% Init semaphore
-    0.48    0.47    0.80    0.02   96%  96% Post [0] semaphore
-    0.60    0.59    0.67    0.01   50%  46% Wait [1] semaphore
-    0.53    0.50    1.41    0.06   96%  96% Trywait [0] semaphore
-    0.51    0.50    0.71    0.01   96%  50% Trywait [1] semaphore
-    0.09    0.09    0.15    0.00   96%  96% Peek semaphore
-    0.12    0.11    0.41    0.02   96%  96% Destroy semaphore
-    3.05    3.05    3.05    0.00  100% 100% Post/Wait semaphore
-
-    0.57    0.17    2.76    0.24   59%  25% Create counter
-    0.06    0.05    0.58    0.03   96%  96% Get counter value
-    0.06    0.03    0.64    0.04   96%  96% Set counter value
-    0.73    0.71    1.02    0.02   96%  96% Tick counter
-    0.12    0.11    0.15    0.01   50%  46% Delete counter
-
-    0.89    0.64    3.15    0.34   84%  71% Create alarm
-    1.00    0.95    2.41    0.09   96%  96% Initialize alarm
-    0.09    0.06    0.68    0.04   96%  96% Disable alarm
-    1.05    1.00    2.48    0.09   96%  96% Enable alarm
-    0.18    0.17    0.50    0.02   96%  96% Delete alarm
-    0.90    0.89    1.11    0.01   96%  96% Tick counter [1 alarm]
-    5.60    5.59    5.88    0.02   96%  96% Tick counter [many alarms]
-    1.53    1.52    2.11    0.04   96%  96% Tick &#38; fire counter [1 alarm]
-   25.48   25.47   25.76    0.02   96%  96% Tick &#38; fire counters [&#62;1 together]
-    6.22    6.21    6.44    0.01   96%  96% Tick &#38; fire counters [&#62;1 separately]
-    2.59    2.56    6.17    0.07   98%  98% Alarm latency [0 threads]
-    4.06    3.95    6.24    0.08   78%  57% Alarm latency [2 threads]
-    5.03    2.56    9.03    0.89   59%  10% Alarm latency [many threads]
-    5.68    5.59   15.45    0.15   99%  99% Alarm -&#62; thread resume latency
-
-    2.52    1.41    8.12    0.00            Clock/interrupt latency
-
-    2.05    1.17    6.00    0.00            Clock DSR latency
-
-   34       0    1072  (main stack:  1320)  Thread stack used (1912 total)
-All done, main stack            : stack used  1320 size  2936
-All done             :  Interrupt stack used   136 size  4096
-All done             : Idlethread stack used   996 size  2048
-
-Timing complete - 30360 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-tx39-jmr3904.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-mn10300-stdeval1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Toshiba JMR3904 Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Matsushita STDEVAL1 Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-v850-cebsa1.html b/doc/html/user-guide/rt-v850-cebsa1.html
deleted file mode 100644 (file)
index b5e87c9..0000000
+++ /dev/null
@@ -1,284 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: NEC V850 Cosmo Evaluation Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: PC"
-HREF="rt-i386-pc.html"><LINK
-REL="NEXT"
-TITLE="Board: NEC V850 Cosmo Evaluation Board"
-HREF="rt-v850-cebsb1.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-i386-pc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-v850-cebsb1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-V850-CEBSA1">Board: NEC V850 Cosmo Evaluation Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: NEC V850 Cosmo Evaluation Board
-
-CPU: NEC CEB-V850/SA1 17MHz
-
-Startup, main stack  : stack used   552 size  2936
-Startup              : Interrupt stack used   120 size  4096
-Startup              : Idlethread stack used   206 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 27 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  280.04 microseconds (1190 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                   7
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-  288.71  280.24  297.18    4.84   42%  28% Create thread
-   70.76   70.59   70.82    0.10   71%  28% Yield thread [all suspended]
-   59.06   59.06   59.06    0.00  100% 100% Suspend [suspended] thread
-   60.00   60.00   60.00    0.00  100% 100% Resume thread
-   77.38   77.18   77.41    0.06   85%  14% Set priority
-    3.13    3.06    3.29    0.10   71%  71% Get priority
-  187.46  187.29  187.53    0.10   71%  28% Kill [suspended] thread
-   70.76   70.59   70.82    0.10   71%  28% Yield [no other] thread
-  104.40  103.29  104.71    0.32   85%  14% Resume [suspended low prio] thread
-   59.06   59.06   59.06    0.00  100% 100% Resume [runnable low prio] thread
-   97.11   91.06   98.12    1.73   85%  14% Suspend [runnable] thread
-   70.76   70.59   70.82    0.10   71%  28% Yield [only low prio] thread
-   59.06   59.06   59.06    0.00  100% 100% Suspend [runnable-&#62;not runnable]
-  187.46  187.29  187.53    0.10   71%  28% Kill [runnable] thread
-   95.63   95.29   97.18    0.44   85%  85% Destroy [dead] thread
-  241.28  236.94  242.12    1.24   85%  14% Destroy [runnable] thread
-  378.55  370.35  427.06   13.86   85%  85% Resume [high priority] thread
-  198.77  183.76  452.94   18.77   96%  96% Thread switch
-
-    2.59    2.59    2.59    0.00  100% 100% Scheduler lock
-   41.29   41.18   41.41    0.12  100%  50% Scheduler unlock [0 threads]
-   40.82   40.71   40.94    0.12  100%  50% Scheduler unlock [1 suspended]
-   41.29   41.18   41.41    0.12  100%  50% Scheduler unlock [many suspended]
-   41.29   41.18   41.41    0.12  100%  50% Scheduler unlock [many low prio]
-
-   17.94   17.88   18.12    0.09   75%  75% Init mutex
-   68.71   68.71   68.71    0.00  100% 100% Lock [unlocked] mutex
-   72.10   72.00   73.41    0.15   96%  71% Unlock [locked] mutex
-   57.88   57.88   57.88    0.00  100% 100% Trylock [unlocked] mutex
-   52.24   52.24   52.24    0.00  100% 100% Trylock [locked] mutex
-   12.41   12.24   12.47    0.09   75%  25% Destroy mutex
-  427.06  427.06  427.06    0.00  100% 100% Unlock/Lock mutex
-
-
-   34.94   34.82   35.06    0.12  100%  50% Create mbox
-    0.76    0.71    0.94    0.09   75%  75% Peek [empty] mbox
-   75.29   75.29   75.29    0.00  100% 100% Put [first] mbox
-    1.24    1.18    1.41    0.09   75%  75% Peek [1 msg] mbox
-   75.76   75.76   75.76    0.00  100% 100% Put [second] mbox
-    0.76    0.71    0.94    0.09   75%  75% Peek [2 msgs] mbox
-   80.12   80.00   80.24    0.12  100%  50% Get [first] mbox
-   79.65   79.53   79.76    0.12  100%  50% Get [second] mbox
-   70.12   70.12   70.12    0.00  100% 100% Tryput [first] mbox
-   65.76   65.65   65.88    0.12  100%  50% Peek item [non-empty] mbox
-   78.00   77.88   78.12    0.12  100%  50% Tryget [non-empty] mbox
-   63.12   63.06   63.29    0.09   75%  75% Peek item [empty] mbox
-   67.82   67.76   68.00    0.09   75%  75% Tryget [empty] mbox
-    1.94    1.88    2.12    0.09   75%  75% Waiting to get mbox
-    1.47    1.41    1.65    0.09   75%  75% Waiting to put mbox
-   75.59   75.53   75.76    0.09   75%  75% Delete mbox
-  252.76  252.71  252.94    0.09   75%  75% Put/Get mbox
-
-   20.24   20.24   20.24    0.00  100% 100% Init semaphore
-   54.35   54.35   54.35    0.00  100% 100% Post [0] semaphore
-   66.59   66.59   66.59    0.00  100% 100% Wait [1] semaphore
-   52.24   52.24   52.24    0.00  100% 100% Trywait [0] semaphore
-   53.41   53.41   53.41    0.00  100% 100% Trywait [1] semaphore
-   10.65   10.59   10.82    0.09   75%  75% Peek semaphore
-   12.65   12.47   12.71    0.09   75%  25% Destroy semaphore
-  276.94  276.94  276.94    0.00  100% 100% Post/Wait semaphore
-
-   14.94   14.82   15.06    0.12  100%  50% Create counter
-    2.18    2.12    2.35    0.09   75%  75% Get counter value
-    3.06    3.06    3.06    0.00  100% 100% Set counter value
-   78.12   78.12   78.12    0.00  100% 100% Tick counter
-   13.82   13.65   13.88    0.09   75%  25% Delete counter
-
-   26.94   26.82   27.06    0.12  100%  50% Create alarm
-  104.18  104.00  104.24    0.09   75%  25% Initialize alarm
-    7.65    7.53    7.76    0.12  100%  50% Disable alarm
-  104.94  104.94  104.94    0.00  100% 100% Enable alarm
-   19.47   19.29   19.53    0.09   75%  25% Delete alarm
-   88.53   88.47   88.71    0.09   75%  75% Tick counter [1 alarm]
-  418.61  411.29  645.41   14.17   96%  96% Tick counter [many alarms]
-  139.59  139.53  139.76    0.09   75%  75% Tick &#38; fire counter [1 alarm]
- 2150.21 2096.71 2367.53   83.59   78%  78% Tick &#38; fire counters [&#62;1 together]
-  478.15  462.35  733.41   29.61   93%  93% Tick &#38; fire counters [&#62;1 separately]
-  219.89  218.59  369.88    2.34   99%  99% Alarm latency [0 threads]
-  292.11  218.59  371.53   37.85   50%  25% Alarm latency [2 threads]
-  292.96  218.59  370.59   38.12   49%  25% Alarm latency [many threads]
-  540.90  495.76 1677.41   17.76   98%   0% Alarm -&#62; thread resume latency
-
-   79.01   78.59  104.71    0.00            Clock/interrupt latency
-
-  123.41   85.88 1982.82    0.00            Clock DSR latency
-
-  522     516     536  (main stack:  1124)  Thread stack used (1912 total)
-All done, main stack : stack used  1124 size  2936
-All done             :  Interrupt stack used   288 size  4096
-All done             : Idlethread stack used   488 size  2048
-
-Timing complete - 32540 ms total&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-i386-pc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-v850-cebsb1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: PC</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: NEC V850 Cosmo Evaluation Board</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-v850-cebsb1.html b/doc/html/user-guide/rt-v850-cebsb1.html
deleted file mode 100644 (file)
index 1b5d0ec..0000000
+++ /dev/null
@@ -1,287 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: NEC V850 Cosmo Evaluation Board</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: NEC V850 Cosmo Evaluation Board"
-HREF="rt-v850-cebsa1.html"><LINK
-REL="NEXT"
-TITLE="GNU General Public License"
-HREF="gnu-general-public-license.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-v850-cebsa1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="gnu-general-public-license.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-V850-CEBSB1">Board: NEC V850 Cosmo Evaluation Board</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->Board: NEC V850 Cosmo Evaluation Board
-
-CPU: NEC CEB-V850/SB1 16MHz (in internal Flash)
-
-
-Startup, main stack             : stack used   572 size  2936
-Startup              :  Interrupt stack used   132 size  4096
-Startup              : Idlethread stack used   210 size  2048
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 8 'ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took  118.15 microseconds (472 raw clock ticks)
-
-Testing parameters:
-   Clock samples:            32
-   Threads:                   7
-   Thread switches:         128
-   Mutexes:                  32
-   Mailboxes:                32
-   Semaphores:               32
-   Scheduler operations:    128
-   Counters:                 32
-   Alarms:                   32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-  113.68  111.00  116.50    1.63   42%  28% Create thread
-   30.00   30.00   30.00    0.00  100% 100% Yield thread [all suspended]
-   29.57   29.50   29.75    0.10   71%  71% Suspend [suspended] thread
-   27.43   27.25   27.50    0.10   71%  28% Resume thread
-   34.11   34.00   34.25    0.12   57%  57% Set priority
-    1.57    1.50    1.75    0.10   71%  71% Get priority
-   72.96   72.75   73.00    0.06   85%  14% Kill [suspended] thread
-   30.00   30.00   30.00    0.00  100% 100% Yield [no other] thread
-   42.75   42.75   42.75    0.00  100% 100% Resume [suspended low prio] thread
-   27.00   27.00   27.00    0.00  100% 100% Resume [runnable low prio] thread
-   43.64   41.25   44.25    0.68   85%  14% Suspend [runnable] thread
-   30.00   30.00   30.00    0.00  100% 100% Yield [only low prio] thread
-   29.57   29.50   29.75    0.10   71%  71% Suspend [runnable-&#62;not runnable]
-   72.93   72.75   73.00    0.10   71%  28% Kill [runnable] thread
-   44.89   44.75   45.75    0.24   85%  85% Destroy [dead] thread
-  103.00  101.50  103.25    0.43   85%  14% Destroy [runnable] thread
-  175.21  171.50  197.50    6.37   85%  85% Resume [high priority] thread
-   84.11   79.50  197.25    1.77   98%   0% Thread switch
-
-    1.00    1.00    1.00    0.00  100% 100% Scheduler lock
-   20.06   20.00   20.25    0.09   75%  75% Scheduler unlock [0 threads]
-   20.00   20.00   20.00    0.00  100% 100% Scheduler unlock [1 suspended]
-   20.06   20.00   20.25    0.09   75%  75% Scheduler unlock [many suspended]
-   20.06   20.00   20.25    0.09   75%  75% Scheduler unlock [many low prio]
-
-    4.00    4.00    4.00    0.00  100% 100% Init mutex
-   33.00   33.00   33.00    0.00  100% 100% Lock [unlocked] mutex
-   36.77   36.75   37.25    0.03   96%  96% Unlock [locked] mutex
-   28.13   28.00   28.25    0.13  100%  50% Trylock [unlocked] mutex
-   25.13   25.00   25.25    0.13  100%  50% Trylock [locked] mutex
-    4.88    4.75    5.00    0.13  100%  50% Destroy mutex
-  187.00  187.00  187.00    0.00  100% 100% Unlock/Lock mutex
-
-   10.00   10.00   10.00    0.00  100% 100% Create mbox
-    0.69    0.50    0.75    0.09   75%  25% Peek [empty] mbox
-   34.75   34.75   34.75    0.00  100% 100% Put [first] mbox
-    0.69    0.50    0.75    0.09   75%  25% Peek [1 msg] mbox
-   35.00   35.00   35.00    0.00  100% 100% Put [second] mbox
-    0.69    0.50    0.75    0.09   75%  25% Peek [2 msgs] mbox
-   36.00   36.00   36.00    0.00  100% 100% Get [first] mbox
-   36.00   36.00   36.00    0.00  100% 100% Get [second] mbox
-   31.00   31.00   31.00    0.00  100% 100% Tryput [first] mbox
-   29.50   29.50   29.50    0.00  100% 100% Peek item [non-empty] mbox
-   35.25   35.25   35.25    0.00  100% 100% Tryget [non-empty] mbox
-   27.69   27.50   27.75    0.09   75%  25% Peek item [empty] mbox
-   31.06   31.00   31.25    0.09   75%  75% Tryget [empty] mbox
-    0.94    0.75    1.00    0.09   75%  25% Waiting to get mbox
-    0.94    0.75    1.00    0.09   75%  25% Waiting to put mbox
-   37.81   37.75   38.00    0.09   75%  75% Delete mbox
-  112.00  112.00  112.00    0.00  100% 100% Put/Get mbox
-
-    3.19    3.00    3.25    0.09   75%  25% Init semaphore
-   25.38   25.25   25.50    0.13  100%  50% Post [0] semaphore
-   32.63   32.50   32.75    0.13  100%  50% Wait [1] semaphore
-   24.25   24.25   24.25    0.00  100% 100% Trywait [0] semaphore
-   25.00   25.00   25.00    0.00  100% 100% Trywait [1] semaphore
-    4.00    4.00    4.00    0.00  100% 100% Peek semaphore
-    4.88    4.75    5.00    0.13  100%  50% Destroy semaphore
-  124.50  124.50  124.50    0.00  100% 100% Post/Wait semaphore
-
-    6.50    6.50    6.50    0.00  100% 100% Create counter
-    1.25    1.25    1.25    0.00  100% 100% Get counter value
-    1.44    1.25    1.50    0.09   75%  25% Set counter value
-   36.25   36.25   36.25    0.00  100% 100% Tick counter
-    5.25    5.25    5.25    0.00  100% 100% Delete counter
-
-   12.25   12.25   12.25    0.00  100% 100% Create alarm
-   49.13   49.00   49.25    0.13  100%  50% Initialize alarm
-    2.81    2.75    3.00    0.09   75%  75% Disable alarm
-   48.50   48.50   48.50    0.00  100% 100% Enable alarm
-    8.25    8.25    8.25    0.00  100% 100% Delete alarm
-   46.50   46.50   46.50    0.00  100% 100% Tick counter [1 alarm]
-  485.42  482.25  580.00    5.91   96%  96% Tick counter [many alarms]
-   64.00   64.00   64.00    0.00  100% 100% Tick &#38; fire counter [1 alarm]
- 1109.76 1100.50 1198.00   16.53   90%  90% Tick &#38; fire counters [&#62;1 together]
-  505.85  502.00  621.00    7.20   96%  96% Tick &#38; fire counters [&#62;1 separately]
-   96.26   95.75  161.25    1.02   99%  99% Alarm latency [0 threads]
-  159.20   95.75  160.75    2.52   97%   0% Alarm latency [2 threads]
-  159.73  110.50  161.75    1.53   97%   0% Alarm latency [many threads]
-  218.45  211.25  445.75    3.55   97%   1% Alarm -&#62; thread resume latency
-
-   28.24   25.25   43.25    0.00            Clock/interrupt latency
-
-   60.15   40.50  221.50    0.00            Clock DSR latency
-
-  472     424     572  (main stack:  1052)  Thread stack used (1912 total)
-All done, main stack            : stack used  1052 size  2936
-All done             :  Interrupt stack used   280 size  4096
-All done             : Idlethread stack used   516 size  2048
-
-Timing complete - 30590 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;&#13;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-v850-cebsa1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="gnu-general-public-license.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: NEC V850 Cosmo Evaluation Board</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->GNU General Public License</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/rt-vr4300-vrc4373.html b/doc/html/user-guide/rt-vr4300-vrc4373.html
deleted file mode 100644 (file)
index f4b3079..0000000
+++ /dev/null
@@ -1,285 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Board: NEC VR4373</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"><LINK
-REL="PREVIOUS"
-TITLE="Board: Cogent CMA MPC860 (PowerPC) Evaluation "
-HREF="rt-ppc-cogent.html"><LINK
-REL="NEXT"
-TITLE="Board: Intel SA1110 (Assabet)"
-HREF="rt-arm-assabet.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="rt-ppc-cogent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix B. Real-time characterization</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="rt-arm-assabet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="RT-VR4300-VRC4373">Board: NEC VR4373</H1
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="LITERALLAYOUT"
->&#13;Board: NEC VR4373
-
-CPU  : NEC VR4300 133MHz
-
-
-Startup, main stack             : stack used  1304 size  3576
-Startup              :  Interrupt stack used   980 size  4096
-Startup              : Idlethread stack used   494 size  2552
-
-eCos Kernel Timings
-Notes: all times are in microseconds (.000001) unless otherwise stated
-
-Reading the hardware clock takes 3 `ticks' overhead
-... this value will be factored out of all other measurements
-Clock interrupt took    6.49 microseconds (431 raw clock ticks)
-
-Testing parameters:
-   Clock samples:          32
-   Threads:                16
-   Thread switches:       128
-   Mutexes:                32
-   Mailboxes:              32
-   Semaphores:             32
-   Scheduler operations:  128
-   Counters:               32
-   Alarms:                 32
-
-
-                                 Confidence
-     Ave     Min     Max     Var  Ave  Min  Function
-  ======  ======  ======  ====== ========== ========
-   17.21   16.18   22.14    0.88   75%  68% Create thread
-    0.84    0.78    1.29    0.10   81%  81% Yield thread [all suspended]
-    0.90    0.62    3.20    0.35   87%  87% Suspend [suspended] thread
-    0.74    0.65    1.16    0.12   81%  68% Resume thread
-    1.11    0.90    1.70    0.25   75%  68% Set priority
-    0.11    0.05    0.35    0.09   75%  75% Get priority
-    2.93    2.24    8.27    0.78   93%  75% Kill [suspended] thread
-    0.88    0.78    1.92    0.16   93%  81% Yield [no other] thread
-    1.82    1.20    4.71    0.62   87%  62% Resume [suspended low prio] thread
-    0.70    0.63    0.86    0.09   68%  68% Resume [runnable low prio] thread
-    1.21    1.07    1.61    0.13   81%  68% Suspend [runnable] thread
-    0.86    0.78    1.58    0.13   81%  81% Yield [only low prio] thread
-    0.69    0.62    0.84    0.09   68%  68% Suspend [runnable-&#62;not runnable]
-    2.64    2.24    4.35    0.43   81%  62% Kill [runnable] thread
-    1.50    1.07    5.82    0.56   93%  87% Destroy [dead] thread
-    3.66    2.75    7.74    0.82   50%  56% Destroy [runnable] thread
-   13.65    8.33   27.88    3.70   50%  43% Resume [high priority] thread
-    2.04    1.89    3.32    0.15   46%  49% Thread switch
-
-    0.19    0.05    0.83    0.13   48%  44% Scheduler lock
-    0.50    0.41    1.59    0.13   89%  73% Scheduler unlock [0 threads]
-    0.52    0.41    1.29    0.14   89%  64% Scheduler unlock [1 suspended]
-    0.56    0.41    1.49    0.15   42%  47% Scheduler unlock [many suspended]
-    0.56    0.41    1.41    0.15   43%  47% Scheduler unlock [many low prio]
-
-    0.57    0.20    2.33    0.27   65%  50% Init mutex
-    0.89    0.75    3.35    0.20   96%  75% Lock [unlocked] mutex
-    0.90    0.74    4.38    0.25   96%  93% Unlock [locked] mutex
-    0.77    0.65    2.63    0.17   96%  75% Trylock [unlocked] mutex
-    0.66    0.59    1.16    0.10   75%  75% Trylock [locked] mutex
-    0.07    0.00    0.45    0.09   75%  75% Destroy mutex
-    7.95    7.71    9.49    0.19   50%  46% Unlock/Lock mutex
-
-    1.04    0.81    3.44    0.27   93%  68% Create mbox
-    0.10    0.02    0.57    0.11   71%  68% Peek [empty] mbox
-    1.15    0.83    4.71    0.31   53%  71% Put [first] mbox
-    0.10    0.02    0.57    0.12   68%  68% Peek [1 msg] mbox
-    1.01    0.83    3.83    0.22   93%  75% Put [second] mbox
-    0.09    0.02    0.57    0.10   71%  71% Peek [2 msgs] mbox
-    1.03    0.81    5.02    0.27   96%  87% Get [first] mbox
-    0.93    0.81    1.61    0.14   84%  62% Get [second] mbox
-    1.07    0.77    4.18    0.23   68%  50% Tryput [first] mbox
-    0.89    0.72    3.49    0.21   93%  71% Peek item [non-empty] mbox
-    1.04    0.83    4.09    0.26   90%  81% Tryget [non-empty] mbox
-    0.79    0.68    1.97    0.15   87%  68% Peek item [empty] mbox
-    0.84    0.72    2.36    0.17   93%  68% Tryget [empty] mbox
-    0.13    0.02    0.59    0.13   87%  62% Waiting to get mbox
-    0.13    0.02    0.90    0.13   90%  62% Waiting to put mbox
-    0.93    0.77    3.23    0.21   90%  71% Delete mbox
-    4.74    4.51    8.80    0.32   93%  78% Put/Get mbox
-
-    0.50    0.21    1.95    0.29   90%  50% Init semaphore
-    0.86    0.57    2.87    0.29   93%  56% Post [0] semaphore
-    1.01    0.74    3.62    0.28   93%  56% Wait [1] semaphore
-    0.87    0.60    3.17    0.28   90%  59% Trywait [0] semaphore
-    0.74    0.62    1.70    0.14   93%  56% Trywait [1] semaphore
-    0.36    0.11    1.11    0.26   65%  56% Peek semaphore
-    0.25    0.12    1.19    0.14   93%  56% Destroy semaphore
-    7.85    7.52    8.93    0.21   62%  43% Post/Wait semaphore
-
-    0.90    0.44    3.08    0.29   65%  28% Create counter
-    0.07    0.05    0.89    0.05   96%  96% Get counter value
-    0.06    0.05    0.33    0.02   96%  96% Set counter value
-    0.88    0.86    1.62    0.05   96%  96% Tick counter
-    0.13    0.12    0.41    0.02   96%  96% Delete counter
-
-    1.37    0.81    2.95    0.27   62%  25% Create alarm
-    1.35    1.17    6.03    0.31   96%  93% Initialize alarm
-    0.11    0.08    0.65    0.05   90%  90% Disable alarm
-    1.23    1.14    3.05    0.15   93%  87% Enable alarm
-    0.21    0.18    0.47    0.04   90%  90% Delete alarm
-    1.03    0.99    2.11    0.07   96%  96% Tick counter [1 alarm]
-    4.96    4.96    4.96    0.00  100% 100% Tick counter [many alarms]
-    1.70    1.67    2.51    0.05   96%  96% Tick &#38; fire counter [1 alarm]
-   26.39   26.38   26.71    0.02   96%  96% Tick &#38; fire counters [&#62;1 together]
-    5.65    5.64    5.91    0.02   96%  96% Tick &#38; fire counters [&#62;1 separately]
-    2.55    2.38    9.86    0.19   96%  54% Alarm latency [0 threads]
-    5.37    3.80    9.73    0.95   50%  34% Alarm latency [2 threads]
-    8.79    5.83   16.12    1.29   57%  14% Alarm latency [many threads]
-
-    5.85    2.26   16.24    0.00            Clock/interrupt latency
-
- 1540    1536    1544  (main stack:  1664)  Thread stack used (2552 total)
-All done, main stack            : stack used  1664 size  3576
-All done             :  Interrupt stack used   312 size  4096
-All done             : Idlethread stack used  1440 size  2552
-
-Timing complete - 23810 ms total
-
-PASS:&lt;Basic timing OK&#62;
-EXIT:&lt;done&#62;
-       </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="rt-ppc-cogent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="rt-arm-assabet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Board: Cogent CMA MPC860 (PowerPC) Evaluation</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Board: Intel SA1110 (Assabet)</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/running-an-ecos-test-case.html b/doc/html/user-guide/running-an-ecos-test-case.html
deleted file mode 100644 (file)
index 7f248e3..0000000
+++ /dev/null
@@ -1,345 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Running an eCos Test Case</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Programming With eCos"
-HREF="user-guide-programming.html"><LINK
-REL="PREVIOUS"
-TITLE="Ecosconfig on Windows and Linux Quick Start"
-HREF="using-ecosconfig-on-linux.html"><LINK
-REL="NEXT"
-TITLE="Using the command line"
-HREF="using-commandline-testcase.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="using-ecosconfig-on-linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="using-commandline-testcase.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="RUNNING-AN-ECOS-TEST-CASE">Chapter 12. Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="running-an-ecos-test-case.html#USING-CONFIGTOOL-TESTCASE"
->Using the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></A
-></DT
-><DT
-><A
-HREF="using-commandline-testcase.html"
->Using the command line</A
-></DT
-><DT
-><A
-HREF="testing-filters.html"
->Testing Filters</A
-></DT
-></DL
-></DIV
-><P
->In <A
-HREF="using-configtool-windows-linux.html"
->the Section called <I
->Configuration Tool on Windows and Linux Quick Start</I
-> in Chapter 11</A
-> or <A
-HREF="using-ecosconfig-on-linux.html"
->the Section called <I
->Ecosconfig on Windows and Linux Quick Start</I
-> in Chapter 11</A
-> you created the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> test cases
-as part of the build process. Now it is time to try and run one.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="USING-CONFIGTOOL-TESTCASE">Using the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-></H1
-><P
->Test executables that have been linked using the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&gt;Tests</I
-></SPAN
-> operation against the current
-configuration can be executed by selecting <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tools-&#62;Run
-Tests</I
-></SPAN
->.</P
-><P
->When a test run is invoked, a property sheet is displayed, see
-<A
-HREF="running-an-ecos-test-case.html#PROGRAMMING-RUN-TESTS"
->Figure 12-1</A
->. Press the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Uncheck
-All</I
-></SPAN
-> button and then find and check just one test,
-<TT
-CLASS="FILENAME"
->bin_sem0</TT
-> for example.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="PROGRAMMING-RUN-TESTS"><P
-><B
->Figure 12-1. Run tests</B
-></P
-><P
-><IMG
-SRC="pix/run-tests.png"></P
-></DIV
-><P
->Now press the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Properties</I
-></SPAN
-> button to set up
-communications with the target. This will bring up a properties dialog
-shown in <A
-HREF="running-an-ecos-test-case.html#PROGRAMMING-RUN-PROPERTIES"
->Figure 12-2</A
->. If you have
-connected the target board via a serial cable, check the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Serial</I
-></SPAN
-> radio button, and select the serial port
-and baud rate for the board. If the target is connected via the
-network select the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->TCP/IP</I
-></SPAN
-> button and enter the IP
-address that the board has been given, and the port number (usually
-9000).</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="PROGRAMMING-RUN-PROPERTIES"><P
-><B
->Figure 12-2. Properties dialog box</B
-></P
-><P
-><IMG
-SRC="pix/ch-properties-dialog.png"></P
-></DIV
-><P
->Click OK on this dialog and go back to the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run
-Tests</I
-></SPAN
-> dialog. Press the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run</I
-></SPAN
-> button and
-the selected test will be downloaded and run. The
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Output</I
-></SPAN
-> tab will show you how this is
-progressing. If it seems to stop for a long time, check that the
-target board is correctly connected, and that <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> has been correctly
-configured -- especially the start-up type.</P
-><P
->When the program runs you should see a couple of line similar to this appear:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->PASS:&lt;Binary Semaphore 0 OK&gt;
-EXIT:&lt;done&gt;</PRE
-></TD
-></TR
-></TABLE
-><P
->This indicates that the test has run successfully.</P
-><P
->See <A
-HREF="config-tool-test-execution.html"
->Chapter 22</A
-> for
-further details.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="using-ecosconfig-on-linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="using-commandline-testcase.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Ecosconfig on Windows and Linux Quick Start</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-programming.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Using the command line</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/sample-twothreads.html b/doc/html/user-guide/sample-twothreads.html
deleted file mode 100644 (file)
index e85223d..0000000
+++ /dev/null
@@ -1,365 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->A Sample Program with Two Threads</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Building and Running Sample Applications"
-HREF="building-and-running-sample-appliations.html"><LINK
-REL="PREVIOUS"
-TITLE="Building and Running Sample Applications"
-HREF="building-and-running-sample-appliations.html"><LINK
-REL="NEXT"
-TITLE="More Features &#8212; Clocks and Alarm
-Handlers"
-HREF="clocks-and-alarm-handlers.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="building-and-running-sample-appliations.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 13. Building and Running Sample Applications</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="clocks-and-alarm-handlers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SAMPLE-TWOTHREADS">A Sample Program with Two Threads</H1
-><P
->Below is a program that uses some of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->' system calls. It
-creates two threads, each of which goes into an infinite loop in which
-it sleeps for a while (using cyg_thread_delay()).  This code is found
-in the file <TT
-CLASS="FILENAME"
->twothreads.c</TT
->
-in the examples directory.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN871"><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> two-threaded program listing</H2
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#include &lt;cyg/kernel/kapi.h&#62;
-#include &lt;stdio.h&#62;
-#include &lt;math.h&#62;
-#include &lt;stdlib.h&#62;
-
-/* now declare (and allocate space for) some kernel objects,
-  like the two threads we will use */
-cyg_thread thread_s[2];        /* space for two thread objects */
-
-char stack[2][4096];   /* space for two 4K stacks */
-
-/* now the handles for the threads */
-cyg_handle_t simple_threadA, simple_threadB;
-
-/* and now variables for the procedure which is the thread */
-cyg_thread_entry_t simple_program;
-
-/* and now a mutex to protect calls to the C library */
-cyg_mutex_t cliblock;
-
-/* we install our own startup routine which sets up threads */
-void cyg_user_start(void)
-{
- printf("Entering twothreads' cyg_user_start() function\n");
-
- cyg_mutex_init(&amp;cliblock);
-
- cyg_thread_create(4, simple_program, (cyg_addrword_t) 0,
-       "Thread A", (void *) stack[0], 4096,
-       &amp;simple_threadA, &amp;thread_s[0]);
- cyg_thread_create(4, simple_program, (cyg_addrword_t) 1,
-       "Thread B", (void *) stack[1], 4096,
-       &amp;simple_threadB, &amp;thread_s[1]);
-
- cyg_thread_resume(simple_threadA);
- cyg_thread_resume(simple_threadB);
-}
-
-/* this is a simple program which runs in a thread */
-void simple_program(cyg_addrword_t data)
-{
- int message = (int) data;
- int delay;
-
- printf("Beginning execution; thread data is %d\n", message);
-
- cyg_thread_delay(200);
-
- for (;;) {
- delay = 200 + (rand() % 50);
-
- /* note: printf() must be protected by a
- call to cyg_mutex_lock() */
- cyg_mutex_lock(&amp;cliblock); {
- printf("Thread %d: and now a delay of %d clock ticks\n",
-       message, delay);
- }
- cyg_mutex_unlock(&amp;cliblock);
- cyg_thread_delay(delay);
- }
-}</PRE
-></TD
-></TR
-></TABLE
-><P
->When you run the program (by typing <B
-CLASS="COMMAND"
->continue</B
-> at
-the (<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->gdb</I
-></SPAN
->) prompt) the output should look like
-this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Starting program: <TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/examples/twothreads.exe
-Entering twothreads' cyg_user_start()
-function
-Beginning execution; thread data is 0
-Beginning execution; thread data is 1
-Thread 0: and now a delay of 240 clock ticks
-Thread 1: and now a delay of 225 clock ticks
-Thread 1: and now a delay of 234 clock ticks
-Thread 0: and now a delay of 231 clock ticks
-Thread 1: and now a delay of 224 clock ticks
-Thread 0: and now a delay of 249 clock ticks
-Thread 1: and now a delay of 202 clock ticks
-Thread 0: and now a delay of 235 clock ticks</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When running in a simulator the 
-delays might be quite long. On a hardware board (where the clock
-speed is 100 ticks/second) the delays should average to
-about 2.25 seconds. In simulation, the delay will depend on the
-speed of the host processor and will almost always be much slower than
-the actual board. You might want to reduce the delay parameter when running
-in simulation.</P
-></BLOCKQUOTE
-></DIV
-><P
-><A
-HREF="sample-twothreads.html#FIGURE-TWOTHREADS-WITH-SIMPLE-PRINTS"
->Figure 13-1</A
-> shows how this
-multitasking program executes.  Note that apart from the thread
-creation system calls, this program also creates and uses a
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mutex</I
-></SPAN
-> for synchronization
-between the <TT
-CLASS="FUNCTION"
->printf()</TT
-> calls in the two
-threads. This is because the C library standard I/O (by default) is
-configured not to be thread-safe, which means that if more than one
-thread is using standard I/O they might corrupt each other. This is
-fixed by a mutual exclusion (or <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->mutex</I
-></SPAN
->) lockout
-mechanism: the threads do not call <TT
-CLASS="FUNCTION"
->printf()</TT
-> until
-<TT
-CLASS="FUNCTION"
->cyg_mutex_lock()</TT
-> has returned, which only happens
-when the other thread calls
-<TT
-CLASS="FUNCTION"
->cyg_mutex_unlock()</TT
->.</P
-><P
->You could avoid using the mutex by configuring the C library to
-be thread-safe (by selecting the component
-<TT
-CLASS="LITERAL"
->CYGSEM_LIBC_STDIO_THREAD_SAFE_STREAMS</TT
->).</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-TWOTHREADS-WITH-SIMPLE-PRINTS"><P
-><B
->Figure 13-1. Two
-threads with simple print statements after random delays</B
-></P
-><P
-><IMG
-SRC="pix/twothreads2.png"></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="building-and-running-sample-appliations.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="clocks-and-alarm-handlers.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Building and Running Sample Applications</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="building-and-running-sample-appliations.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->More Features &#8212; Clocks and Alarm
-Handlers</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-am33-stb.html b/doc/html/user-guide/setup-am33-stb.html
deleted file mode 100644 (file)
index ca1b56e..0000000
+++ /dev/null
@@ -1,409 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->AM33 STB Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="MN10300 Architectural Simulator Setup"
-HREF="setup-mn10300-sim.html"><LINK
-REL="NEXT"
-TITLE="TX39 Hardware Setup"
-HREF="setup-tx39-jmr3904.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-mn10300-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-tx39-jmr3904.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-AM33-STB">AM33 STB Hardware Setup</H1
-><P
->The Matsushita AM33 STB System Reference Board may be used
-in two modes: via a JTAG debugger, or by means of a GDB stub ROM.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3223">Use with GDB Stub ROM</H2
-><P
->The eCos Developer&#8217;s Kit package comes with a ROM
-image which provides GDB support for
-the Matsushita(R) AM33 STB System Reference Board. To install the
-GDB stub ROM requires the use of the JTAG debugger and the Flash ROM
-programming code available from Matsushita. An image of this ROM
-is also provided at <TT
-CLASS="FILENAME"
->loaders/am33-stb/gdbload.bin</TT
-> under
-the root of your eCos installation.</P
-><P
->Ensure that there is a Flash ROM card in MAIN MEMORY SLOT &lt;0&#62;.
-Follow the directions for programming a Flash ROM supplied with
-the programming software.</P
-><P
->The final programming of the ROM will need to be done with
-a command similar to the following:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->fdown "gdbload.bin",0x80000000,16,1</PRE
-></TD
-></TR
-></TABLE
-><P
->Once the ROM has been programmed, close down the JTAG debugger,
-turn the STB off, and disconnect the JTAG cable. Ensure that the
-hardware switches are in the following configuration:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->U U D D D U D D
-
-D = lower part of rocker switch pushed in
-U = upper part of rocker switch pushed in</PRE
-></TD
-></TR
-></TABLE
-><P
->This is also the configuration required by the Flash programming
-code, so it should not be necessary to change these.</P
-><P
->Restart the STB and the stub ROM will now be able to communicate
-with <SPAN
-CLASS="PRODUCTNAME"
->GDB</SPAN
->. eCos programs should be built
-with RAM startup.</P
-><P
->Programs can then be downloaded via a standard RS232 null
-modem serial cable connected to the SERIAL1 connector on the STB
-front panel (the AM33&quot;s serial port 0). This line is programmed
-to run at 38400 baud, 8 data bits, no parity and 1 stop bit (8-N-1)
-with no flow control. A gender changer may also be required. Diagnostic
-output will be output to GDB using the same connection.</P
-><P
->This procedure also applies for programming ROM startup eCos
-programs into ROM, given a binary format image of the program from<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> mn10300-elf-objcopy.</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3238">Use with the JTAG debugger</H2
-><P
->To use eCos from the JTAG debugger, executables must be built
-with ROM startup and then downloaded via the JTAG debugger. For
-this to work there must be an SDRAM memory card in SUB MEMORY SLOT &lt;0&#62; and
-the hardware switches on the front panel set to the following: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->D U D D D U D D
-
-D = lower part of rocker switch pushed in
-U = upper part of rocker switch pushed in</PRE
-></TD
-></TR
-></TABLE
-><P
->Connect the JTAG unit and run the debugger as described in
-the documentation that comes with it.</P
-><P
->eCos executables should be renamed to have a &#8220;.out&#8221; extension
-and may then be loaded using the debugger&quot;s &#8220;l&#8221; or &#8220;lp&#8221; commands.</P
-><P
->Diagnostic output generated by the program will be sent out
-of the AM33&quot;s serial port 0 which is connected to the SERIAL1
-connector on the STB front panel. This line is programmed to run
-at 38400 baud, 8 data bits, no parity, and one stop bit (8-N-1)
-with no flow control. Connection to the host computer should be
-using a standard RS232 null modem serial cable. A gender changer
-may also be required.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3245">Building the GDB stub ROM image</H2
-><P
->eCos comes with a pre-built GDB stub ROM image for the AM33-STB
-platform. This can be found at <TT
-CLASS="FILENAME"
->loaders/am33-stb/gdbload.bin</TT
-> relative
-to the eCos installation directory.</P
-><P
->If necessary, the ROM image can be re-built as follows:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->              On Windows hosts, open a Bash session using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Start-&#62;Programs-&#62;Red Hat eCos-&#62;eCos
-Development Environment</I
-></SPAN
-></P
-></LI
-><LI
-><P
->Create a build directory and cd into it</P
-></LI
-><LI
-><P
->Run (all as one line):
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->cygtclsh80 BASE_DIR/packages/pkgconf.tcl                          \
-  --target=mn10300_am33 --platform stb --startup rom              \
-  --disable-kernel --disable-uitron --disable-libc --disable-libm \
-  --disable-io --disable-io_serial --disable-wallclock
---disable-watchdog</PRE
-></TD
-></TR
-></TABLE
->
-           </P
-><P
->where BASE_DIR is the path to the eCos installation
-directory.</P
-></LI
-><LI
-><P
->Edit the configuration file 
-<TT
-CLASS="FILENAME"
->pkgconf/hal.h</TT
->
- in the build directory tree by ensuring the following configuration
-options are set as follows:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#define CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-#define CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-#undef  CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT
-#define CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-#define CYG_HAL_ROM_MONITOR</PRE
-></TD
-></TR
-></TABLE
->
-           </P
-></LI
-><LI
-><P
->Run: make</P
-></LI
-><LI
-><P
->Run: make -C hal/common/current/current/src/stubrom</P
-></LI
-><LI
-><P
->The file 
-<TT
-CLASS="FILENAME"
->hal/common/current/src/stubrom</TT
->
- will be an ELF format executable of the ROM image. Use mn10300-elf-objcopy to
-convert this to the appropriate format for loading into the Matsushita
-FLASH ROM programmer, mode &#8220;binary&#8221; in this case: 
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ mn10300-elf-objcopy -O binary hal/common/current/src/stubrom/ \
-  stubrom stubrom.img</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-mn10300-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-tx39-jmr3904.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->MN10300 Architectural Simulator Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->TX39 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-aeb1.html b/doc/html/user-guide/setup-arm-aeb1.html
deleted file mode 100644 (file)
index e37a1e4..0000000
+++ /dev/null
@@ -1,614 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM AEB-1 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM PID Hardware Setup"
-HREF="setup-arm-pid.html"><LINK
-REL="NEXT"
-TITLE="ARM Cogent CMA230 Hardware Setup"
-HREF="setup-arm-cma230.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-pid.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-cma230.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-AEB1">ARM AEB-1 Hardware Setup</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3686">Overview</H2
-><P
->The ARM AEB-1 comes with tools in ROM. These include a simple
-FLASH management tool and the Angel&reg; monitor. eCos for
-the ARM AEB-1 comes with GDB stubs suitable for programming into
-the onboard FLASH. GDB is the preferred debug environment for GDB,
-and while Angel provides a subset of the features in the eCos GDB
-stub, Angel is unsupported.</P
-><P
->Both eCos and the stubs support both Revision B and Revision
-C of the AEB-1 board. Stub ROM images for both types of board can
-be found in the loaders/arm-aeb directory under the root
-of your eCos installation. You can select which board you are using
-by selecting either the aeb or aebC platform by selecting the appropriate
-platform HAL in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos Configuration Tool</I
-></SPAN
->.</P
-><P
->The GDB stub can be downloaded to the board for programming
-in the FLASH using the board's on-board ROM monitor:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->talk to the AEB-1 board with a terminal emulator (or
-a real terminal!)</P
-></LI
-><LI
-><P
->use the board's rom menu to download a UU-encoded
-version of the GDB stubs which will act as a ROM monitor</P
-></LI
-><LI
-><P
->tell the board to use this new monitor, and then hook
-GDB up to it for real debugging</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3699">Talking to the Board</H2
-><P
->Connect a terminal or computer's serial port to the
-ARM AEB-1. On a PC with a 9-pin serial port, you can use the cable
-shipped by ARM with no modification. </P
-><P
->Set the terminal or terminal emulator to 9600N1 (9600 baud,
-no parity, 1 stop bit). </P
-><P
->Reset the board by pressing the little reset button on the
-top. You will see the following text: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      ARM Evaluation Board Boot Monitor 0.01 (19 APR 1998)
-       Press ENTER within 2 seconds to stop autoboot</PRE
-></TD
-></TR
-></TABLE
-><P
->Press ENTER quickly, and you will get the boot prompt: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      Boot:</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3707">Downloading the Stubs via the Rom Menu</H2
-><P
->Using the AEB-1 rom menu to download the GDB stubs from the
-provided ".UU" file.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->This is an annotated 'terminal' session
-with the AEB-1 monitor:</P
-></BLOCKQUOTE
-></DIV
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->+Boot: help
-Module is BootStrap       1.00 (14 Aug 1998)</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Help is available on:</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Help          Modules       ROMModules    UnPlug        PlugIn
-Kill          SetEnv        UnSetEnv      PrintEnv      DownLoad
-Go            GoS           Boot          PC            FlashWrite
-FlashLoad     FlashErase</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Boot: download c000
-Ready to download. Use 'transmit' option on terminal
-emulator to download file.</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->... at this point, download the ASCII file "loaders/arm-aeb/
-    gdb_module.img.UU". The details of this operation differ
-    depending on which terminal emulator is used. It may be
-    necessary to enter "^D" (control+D) when the download completes
-   to get the monitor to return to command mode. </PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Loaded file gdb_module.img.bin at address
-0000c000, size = 19392 </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3718">Activating the GDB Stubs</H2
-><P
->Commit the GDB stubs module to FLASH: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      Boot: flashwrite 4018000 C000 8000
-    </PRE
-></TD
-></TR
-></TABLE
-><P
->Verify that the eCos/"GDB stubs" module is now added
-in the list of modules in the board: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      Boot: rommodules
-    </PRE
-></TD
-></TR
-></TABLE
-><P
->You should see output similar to the following: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      Header   Base     Limit
-       04000004 04000000 040034a8 BootStrap       1.00 (14 Aug 1998) 
-       04003a74 04003800 04003bc0 Production Test 1.00 (13 Aug 1998) 
-       0400e4f4 04004000 0400e60f Angel           1.02 (12 MAY 1998) 
-       0401c810 04018000 0401cbc0 eCos              1.3  (27 Jan 2000)
-GDB stubs
-    </PRE
-></TD
-></TR
-></TABLE
-><P
->Now make the eCos/"GDB stubs" module be the default
-monitor: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      Boot: plugin eCos
-    </PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Since the GDB stubs are always linked at the same address
-(0x4018000), the operation of writing to the FLASH and selecting
-the stubs as default monitor is an idempotent operation. You can
-download a new set of stubs following the same procedure - you do
-not have to unregister or delete anything.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3730">Building the GDB Stub FLASH ROM Images</H2
-><P
->Pre-built GDB stubs images are provided in the directory loaders/arm-aeb
-relative to the root of your eCos installation, but here are instructions
-on how to rebuild them if you should ever need to.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3733">Building the GDB Stubs with the eCos Configuration Tool</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- menu item, and then select the ARM AEB-1 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the "stubs" package template to build a GDB
-stub image. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->If applicable, set the "AEB board revision" option to
-"C" from "B" depending on the board revision being used.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library.</I
-></SPAN
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. The GDB stub
-ROM images have the prefix "gdb_module".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3756">Building the GDB Stub ROMs with ecosconfig</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new aeb stubs</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->If applicable, edit ecos.ecc and set the AEB board revision. (CYGHWR_HAL_ARM_AEB_REVISION)
-from the default "B" to "C" by uncommenting the user_value
-property and setting it to "C".</P
-></LI
-><LI
-><P
->Enter the commands
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. The GDB stub
-ROM images have the prefix "gdb_module".</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-pid.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-cma230.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM PID Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM Cogent CMA230 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-clps7111.html b/doc/html/user-guide/setup-arm-clps7111.html
deleted file mode 100644 (file)
index bd2c81e..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Cirrus Logic ARM EP7209 Development Board Hardware Setup"
-HREF="setup-arm-ep7209.html"><LINK
-REL="NEXT"
-TITLE="StrongARM EBSA-285 Hardware Setup"
-HREF="setup-arm-ebsa285.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7209.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ebsa285.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-CLPS7111">Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup</H1
-><P
->The implementation of the port of eCos to the Cirrus Logic
-ARM CL-PS7111 Evaluation Board (also known as EB7111) is based on
-the EP7211 Development Board port.</P
-><P
->For that reason, the setup required is identical to the  EP7211
-Development Board as described above, with the following exceptions:</P
-><P
-></P
-><UL
-><LI
-><P
->The Cygmon ROM monitor is not supported</P
-></LI
-><LI
-><P
->The ARM Multi-ICE is not supported</P
-></LI
-><LI
-><P
->Pre-built GDB stubs are provided in the
-directory loaders/arm-eb7111 relative to the root of your
-eCos installation</P
-></LI
-><LI
-><P
->If rebuilding the GDB stub ROM image, change the "Cirrus
-Logic processor variant" option (CYGHWR_HAL_ARM_EDB7XXX_VARIANT)
-from the EP7211 to the CL_PS7111. This can be selected
-in the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos Configuration Tool</I
-></SPAN
->
-, or if using ecosconfig, can be set by uncommenting the user_value
-property of this option in ecos.ecc and setting it to "CL_PS7111"</P
-></LI
-></UL
-><P
->All remote serial communication is done with the serial I/O
-connector</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->/misc   
-% slow_cat.tcl &lt; [path]/gdb_module.srec &#62; /dev/ttyS0</PRE
-></TD
-></TR
-></TABLE
-><P
->Power off the board, and change it to boot the GDB stubs in
-big-endian mode by setting the switches like this:</P
-><P
->SW1: 00000000 (all levers down)   
-SW2: 10001010</P
-><P
->The GDB stubs allow communication with GDB using the serial
-port at connector PJ7A (lower connector). The communication parameters
-are  fixed at 38400 baud, 8 data bits, no parity bit and 1 stop
-bit  (8-N-1). No flow control is employed. Connection to the host
-computer should be made using a straight through serial cable.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7209.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-ebsa285.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Cirrus Logic ARM EP7209 Development Board Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->StrongARM EBSA-285 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-cma230.html b/doc/html/user-guide/setup-arm-cma230.html
deleted file mode 100644 (file)
index 69d2a74..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM Cogent CMA230 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM AEB-1 Hardware Setup"
-HREF="setup-arm-aeb1.html"><LINK
-REL="NEXT"
-TITLE="Cirrus Logic ARM EP7211 Development
-Board Hardware Setup"
-HREF="setup-arm-ep7211.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-aeb1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7211.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-CMA230">ARM Cogent CMA230 Hardware Setup</H1
-><P
->The eCos Developer's Kit package comes with an EPROM
-which provides GDB support for the Cogent evaluation board. An image
-of this EPROM is also provided at loaders/arm-cma230/gdbload.bin
-under the root of your eCos installation. </P
-><P
->The EPROM is installed to socket U3 on the board. Attention
-should be paid to the correct orientation of the EPROM during installation.</P
-><P
->If you are going to burn a new EPROM using the binary image,
-be careful to get the byte order correct. It needs to be little-endian,
-which is usually the default in PC based programmer software.</P
-><P
->If the GDB stub EPROM you burn does not work, try reversing
-the byte-order, even if you think you have it the right way around.
-At least one DOS-based EPROM burner program is known to have the
-byte-order upside down.</P
-><P
->The GDB stub in the EPROM allows communication with GDB using
-the serial port at connector P12 (CMA101) or P3 (CMA102). The communication parameters
-are fixed at 38400 baud, 8 data bits, no parity bit and 1 stop bit
-(8-N-1).  No flow control is employed. Connection to the host computer
-should be made using a dedicated serial cable as specified in the
-Cogent CMA manual.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3778">Building the GDB Stub FLASH ROM images</H2
-><P
->Pre-built GDB stubs images are provided in the directory loaders/arm-cma230 relative
-to the root of your eCos installation, but here are instructions
-on how to rebuild them if you should ever need to.</P
-><P
->CygMon images are prefixed with the name 'cygmon' and
-GDB stub ROM images</P
-><P
->are given the prefix 'gdb_module'.
-Images may be provided in a number of formats including ELF (.img
-extension), binary (.bin extension) and SREC (.srec extension). </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3783">Building the GDB Stubs with the eCos Configuration Tool</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->1. Start with a new document - selecting the File-&#62;New
-menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->-&#62;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- menu item, and then select the ARM CMA230 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- dialog box, select the "stubs" package template to build a GDB
-stub image. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. The GDB stub
-ROM images have the prefix "gdb_module".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3803">Building the GDB Stub ROMs with ecosconfig</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->1. Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new cma230 stubs</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Enter the commands:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. The GDB stub
-ROM images have the prefix "gdb_module".</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-aeb1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7211.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM AEB-1 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Cirrus Logic ARM EP7211 Development
-Board Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-ebsa285.html b/doc/html/user-guide/setup-arm-ebsa285.html
deleted file mode 100644 (file)
index 61bfc30..0000000
+++ /dev/null
@@ -1,574 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->StrongARM EBSA-285 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup"
-HREF="setup-arm-clps7111.html"><LINK
-REL="NEXT"
-TITLE=" Compaq iPAQ PocketPC Hardware Setup"
-HREF="setup-arm-ipaq.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-clps7111.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ipaq.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-EBSA285">StrongARM EBSA-285 Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with a ROM
-image which provides GDB support for
-the Intel&reg; StrongARM&reg; Evaluation Board EBSA-285.
- Both eCos and the Stub ROM image assume the clocks are: 3.6864
-MHz PLL input for generating the core clock, and 50MHz osc input
-for external clocks. An image of this ROM is also provided at <TT
-CLASS="FILENAME"
->loaders/arm-ebsa285/gdbload.bin</TT
-> under
-the root of your eCos installation.</P
-><P
->The ROM monitor image (an eCos GDB
-stub) provided for the EBSA-285 board must be programmed into the
-flash, replacing the Angel monitor on the board. Please refer to
-the section titled "Loading the ROM Image into On-Board flash" on how
-to program the ROM onto the board.</P
-><P
->The Stub ROM allows communication with GDB via the serial
-connector on the bulkhead mounting bracket COM0.  The communication
-parameters are fixed at 38400 baud, 8 data bits, no parity bit and
-1 stop bit (8-N-1).  No flow control is employed.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3981">Building the GDB Stub FLASH ROM images</H2
-><P
->Pre-built GDB stubs images are provided in the directory loaders/arm-ebsa285 relative
-to the root of your eCos installation, but here are instructions
-on how to rebuild them if you should ever need to.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3984">Building the GDB Stubs with the eCos Configuration Tool</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- menu item, and then select the StrongARM EBSA285 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- dialog box, select the "stubs" package template to build a GDB
-stub image. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. The GDB stub
-ROM images have the prefix "gdb_module".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4006">Building the GDB Stub ROMs with ecosconfig</H2
-><P
->(See &#8220;Using ecosconfig on UNIX&#8221; on&nbsp;page&nbsp;72)</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new ebsa285 stubs</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Enter the commands:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. The GDB stub
-ROM images have the prefix "gdb_module".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4020">Loading the ROM Image into On-board Flash</H2
-><P
->There are several ways to install the eCos gdb stub ROM image
-in the EBSA board&#8217;s flash memory. Once installed, the gdb
-stub ROM provides standard eCos download and debug via the EBSA
-board&quot;s serial port. The options available include the
-Linux based EBSA flash upgrade utility provided by Red Hat, direct writing
-of the flash via MultiICE (JTAG) hardware debugger, and other flash management
-utilities from Intel (these only support DOS, and proprietary ARM tools
-and image formats). Only the Red Hat flash upgrade tool is supported
-and tested in this release.</P
-><P
->The flash upgrade tool requires the EBSA board to be configured
-as a PCI slave (rather than a master, its normal operating mode)
-and plugged into a Linux host computer&quot;s PCI bus.</P
-><P
->Configuring the board for flash loading: Follow the instructions
-in the EBSA-285 Reference Manual, pages A-2 and A-3 to configure
-the board as an add-in card, and enable flash blank programming.
- Briefly: assuming the board was in the default setting to execute
-as a bus master ("Host Bridge") make jumper 9 (J9), move jumper
-10 (J10) to external reset (PCI_RST), and move jumper 15
-(J15) link 4-6-5 to connect 5-6 instead of 4-6.</P
-><P
->Configuring the board for execution of eCos programs: Follow
-the instructions in the EBSA-285 Reference Manual, pages A-2 and
-A-3 to configure the board as a "Host Bridge" with "Central Function".
- Briefly: unset J9, move J10 to on-board reset (BRD_RST),
-and set J15 to make 4-6 instead of 5-6 (see page A-8 also).  Plug
-the card into its own PCI bus, not the Linux PC used for the flash-programming
-process.</P
-><P
->Building the Linux software: the Linux software sources are
-in directory</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      &lt;BASE_DIR&#62;/packages/hal/arm/ebsa285/v1_3/support/linux/safl_util</PRE
-></TD
-></TR
-></TABLE
-><P
->in the eCos source repository.  There are two parts to the
-system: a loadable kernel module and the flash utility.  The loadable
-kernel module is safl.o and the utility is sa_flash.  To
-build:</P
-><P
->  cd to this directory, or a copy of it.</P
-><P
->  make</P
-><P
->This builds safl.o and sa_flash. The kernel module
-must be installed, and a device file created for it. Both of these
-operations require root permissions.  Create the device file by: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      % mknod /dev/safl c 10 178</PRE
-></TD
-></TR
-></TABLE
-><P
->Programming the flash: switch off the EBSA-285, and remove
-the EBSA-285 board from its PCI bus.  Take appropriate anti-static
-precautions. Configure it for flash loading as above, halt your
-Linux system and turn it off.  Install the EBSA-285 board in the
-PCI bus of the Linux system and boot it up. (Single user is good enough,
-assuming your image and safl_util build dir are on a local
-disc partition.)  Change directory to the safl_util directory,
-then, to load the kernel module and flash an image onto the eval
-board (as root): </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->       % insmod safl.o
-       % sa_flash &lt;image_file&#62;</PRE
-></TD
-></TR
-></TABLE
-><P
->Halt and turn off the Linux machine and remove the EBSA-285
-card.  Take appropriate anti-static precautions.  Configure it for
-execution of eCos programs as above, and plug it into its own PCI
-bus.  Restart the Linux machine however you wish.</P
-><P
->This information is replicated in the README file within the
-safl_util directory and its parents, and in the EBSA-285
-Reference Manual from Intel, appendix A "Configuration Guide". 
-If in doubt, please refer to those documents also.</P
-><P
->This procedure also applies for loading ROM-startup eCos programs
-into the on-board flash memory, given a binary format image of the
-program from arm-elf-objcopy.  Loading a ROM-startup eCos program
-into flash will overwrite the StubROM in flash, so you would have
-to reload the StubROM to return to normal RAM-startup program development.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4038">Running your eCos Program Using GDB and the StubROM</H2
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->You must first load the StubROM image into the flash memory
-on the EBSA-285 board before doing this.  See &#8220;Loading
-the ROM Image into On-board Flash&#8221;, page 93 for details.</P
-></BLOCKQUOTE
-></DIV
-><P
->Connect to the StubROM in the board and run your eCos program &lt;PROGRAM&#62; as</P
-><P
->follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      $ arm-elf-gdb -nw &lt;PROGRAM&#62;
-      (gdb) set remotebaud 38400
-      (gdb) target remote &lt;DEVICE&#62;</PRE
-></TD
-></TR
-></TABLE
-><P
->Where &lt;DEVICE&#62; is /dev/ttyS0
-or COM1: or similar, depending on your environment and how you connected
-your serial line to the host computer. Expect some output here,
-for example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      Remote debugging using /dev/ttyS0
-      0x410026a4 in ?? ()</PRE
-></TD
-></TR
-></TABLE
-><P
->then, to load the program</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->        (gdb) load
-    </PRE
-></TD
-></TR
-></TABLE
-><P
->which will report locations and sizes of sections as they
-load, then begin execution using</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->      (gdb) continue</PRE
-></TD
-></TR
-></TABLE
-><P
->If you have no eCos program yet, but you want to connect to
-the board just to verify serial communications, tell gdb "set endian
-little" before anything else, so that it understands the board (GDB
-normally infers this from information within the eCos program).</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When an eCos program is run on the EBSA-285 board, the GDB
-stub in ROM loses control. This means that if you require the ability
-to stop execution on the target remotely, or want thread debugging
-capabilities, you must include GDB stub support when configuring
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-clps7111.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-ipaq.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Compaq iPAQ PocketPC Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-ep7209.html b/doc/html/user-guide/setup-arm-ep7209.html
deleted file mode 100644 (file)
index ad2cf41..0000000
+++ /dev/null
@@ -1,165 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Cirrus Logic ARM EP7209 Development Board Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Cirrus Logic ARM EP7312 Development Board
-Hardware Setup"
-HREF="setup-arm-ep7312.html"><LINK
-REL="NEXT"
-TITLE="Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup"
-HREF="setup-arm-clps7111.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7312.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-clps7111.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-EP7209">Cirrus Logic ARM EP7209 Development Board Hardware Setup</H1
-><P
->Note: At time of writing, no EP7209 Development Board is available,
-and consequently eCos has not been verified for use with the EP7209
-Development Board.</P
-><P
->The Cirrus Logic EP7209 Development Board is almost identical
-to the EP7212 Board in all respects, except that it is not fitted
-with DRAM, nor has it a DRAM controller.</P
-><P
->The only valid configuration for the EDB7209 is ROM based.
-The STUBS and RAM startup modes are not available as no DRAM is
-fitted.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7312.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-clps7111.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Cirrus Logic ARM EP7312 Development Board
-Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Cirrus Logic ARM CL-PS7111 Evaluation Board Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-ep7211.html b/doc/html/user-guide/setup-arm-ep7211.html
deleted file mode 100644 (file)
index 2fdc14e..0000000
+++ /dev/null
@@ -1,681 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Cirrus Logic ARM EP7211 Development
-Board Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="ARM Cogent CMA230 Hardware Setup"
-HREF="setup-arm-cma230.html"><LINK
-REL="NEXT"
-TITLE="Cirrus Logic ARM EP7212 Development Board
-Hardware Setup"
-HREF="setup-arm-ep7212.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-cma230.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7212.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-EP7211">Cirrus Logic ARM EP7211 Development
-Board Hardware Setup</H1
-><P
->eCos comes with two Flash ROM images that provide GDB support
-for the Cirrus Logic EP7211 Development Board (also known as the
-EDB7211).. Note that on some board revisions, the board is silk-screened
-as EDB7111-2. The first Flash ROM image provides a port of the CygMon
-ROM monitor, which includes a command-line interface and a GDB remote
-stub. The second Flash ROM image provides a remote GDB stub only.</P
-><P
->Both ROM images are provided in the directory loaders/arm-edb7211
-under the root of your eCos installation. CygMon images are prefixed
-with the name 'edb7211_cygmon' and are
-provided in a number of formats including binary (.bin extension)
-and SREC (.srec) extension. GDB stub ROM images are given the prefix 'edb7211_gdb_module'. </P
-><P
->The ROM images provided for the EP7211 Development Board must
-be programmed into the FLASH. Please refer to the section titled
-"Loading the ROM image into On-Board flash" on how to program the
-ROM onto the board.</P
-><P
->Both Cygmon and GDB Stub ROMS allow communication with GDB
-via the serial connector labelled 'UART 1'. The
-communication parameters are fixed at 38400 baud, 8 data bits, no
-parity bit and 1 stop bit (8-N-1). No flow control is employed.
-Connection to the host computer should be made using a null modem cable.
-A gender changer may also be required. Note that the GDB Configuration tool
-uses the serial port identifiers 0 and 1 to identify the EB7211
-serial ports UART1 and UART2 respectively.</P
-><P
->Both eCos and the ROM images assume the core clock is generated
-with a 3.6864 MHz PLL input. The CPU will be configured to run at
-73.728MHz.</P
-><P
->Note: The EP7211 CPU needs a two step RESET process. After
-pressing the &grave;URESET' pushbutton, the &grave;WAKEUP' pushbutton
-must be pressed to complete the process.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->When an eCos program is run on an EDB7211 board fitted with
-either CygMon or a GDB stub ROM, then the code in ROM loses control.
-This means that if you require the ability to remotely stop execution
-on the target, or want thread debugging capabilities, you must include
-GDB stub support when configuring eCos.</P
-></BLOCKQUOTE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3826">Building programs for programming into FLASH</H2
-><P
->If your application is to be run directly from FLASH, you
-must configure eCos appropriately for "ROM" startup. This can be
-done in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos Configuration Tool</I
-></SPAN
-> by setting
-the "Startup type" HAL option to "ROM". If using the ecosconfig utility,
-set the user_value of the CYG_HAL_STARTUP
-option in ecos.ecc to "ROM".</P
-><P
->When you have linked your application with eCos, you will
-then have an ELF executable. To convert this into a format appropriate
-for the Cirrus Logic FLASH download utility, or the dl_7xxx
-utility on Linux, you can use the utility arm-elf-objcopy, as in
-the following example:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ arm-elf-objcopy -O binary helloworld.exe helloworld.bin</PRE
-></TD
-></TR
-></TABLE
-><P
->This will produce a binary format image helloworld.bin which
-can be downloaded into FLASH.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3833">Building the GDB Stub FLASH ROM images</H2
-><P
->Pre-built GDB stubs images are provided in the directory loaders/arm-edb7211 relative
-to the root of your eCos installation, but here are instructions
-on how to rebuild them if you should ever need to.</P
-><P
->CygMon images are prefixed with the name 'cygmon' and
-GDB stub ROM images are given the prefix 'gdb_module'.
-Images may be provided in a number of formats including ELF (.img
-extension), binary (.bin extension) and SREC (.srec extension). </P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3837">Building the ROM images with the eCos Configuration Tool</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->-&#62;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->-&#62;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- menu item, and then select the "Cirrus Logic development board"
-hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- dialog box, select either the "stubs" package template to build
-a GDB stub image, or the "cygmon" template to build the CygMon ROM
-Monitor. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix "gdb_module". CygMon images
-have the prefix "cygmon".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3859">Building the ROM images with ecosconfig</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new edb7xxx stubs</PRE
-></TD
-></TR
-></TABLE
-><P
->or to build a CygMon ROM monitor image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new edb7xxx cygmon</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Enter the commands:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix "gdb_module". CygMon images
-have the prefix "cygmon".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3874">Loading the ROM Image into On-board Flash</H2
-><P
->Program images can be written into Flash memory by means of
-a bootstrap program which is built into the  EDB7211.  This program
-communicates with a support program on your host to download and
-program an image into the Flash memory.</P
-><P
->Cirrus Logic provides such a program for use with Windows/DOS.
- eCos comes with a similar program which will run under Linux. The
-basic operation of both programs is the same.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Connect a serial line to 'UART 1'.</P
-></LI
-><LI
-><P
->Power off the  EDB7211.</P
-></LI
-><LI
-><P
->Install jumper 'PROGRAM ENABLE' which
-enables this special mode for downloading Flash images. Note that
-some board revisions have this jumper labelled &#8220;BOOT ENABLE&#8221;.</P
-></LI
-><LI
-><P
->Power on the  EDB7211.</P
-></LI
-><LI
-><P
->Execute the Flash writing program on your host.  On Linux,
-this would be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->     # dl_edb7xxx &lt;PATH&#62;/gdb_module.bin</PRE
-></TD
-></TR
-></TABLE
-><P
->where '&lt;PATH&#62;' is the path to
-the binary format version of the ROM image you wish to load, either
-as built in the previous section or the "loaders/arm-edb7211/" subdirectory
-of your eCos installation. The download tool defaults to 38400 baud and
-device /dev/ttyS1 for communication. To change
-these, specify them as parameters, e.g.
-             </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-># dl_edb7xxx &lt;PATH&#62;/gdb_module.bin 9600 /dev/ttyS0</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->The download program will indicate that it is waiting
-for the board to come alive.  At this point, press 'RESET' and
-then 'WAKEUP' switches in order.  There should be
-some indication of progress, first of the code being downloaded,
-then of the programming process.</P
-></LI
-><LI
-><P
->Upon completion of the programming, power off the  EDB7211.</P
-></LI
-><LI
-><P
->Remove the 'PROGRAM ENABLE/BOOT ENABLE' jumper.</P
-></LI
-><LI
-><P
->Power on the  EDB7211, press 'RESET' and 'WAKEUP'.
- The new ROM image should now be running on the board.</P
-></LI
-><LI
-><P
->The GDB debugger will now be able to communicate with
-the board to download and debug RAM based programs.
-
-This procedure also applies for loading ROM-startup eCos programs
-into the on-board FLASH memory, given a binary format image of the
-program from arm-elf-objcopy.  Loading a ROM-startup eCos program
-into Flash will overwrite the GDB Stub ROM/CygMon in Flash,
-so you would have to reload the GDB Stub ROM/CygMon to
-return to normal RAM-startup program development.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3902">Building the Flash Downloader on Linux</H2
-><P
->eCos provides a Flash download program suitable for use with
-the  EP7211 Development Board which will run on Linux.  Follow these
-steps to build this program.  Note: at the time of the writing of
-these instructions, the download program is built directly within
-the eCos source repository since it is
-not configuration specific.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  # cd &lt;eCos install dir&#62;/packages/hal/arm/edb7xxx/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/support</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->  # make</PRE
-></TD
-></TR
-></TABLE
-><P
->(where '# ' is your shell prompt)</P
-><P
->Note: this program was adapted from the Cirrus Logic original
-DOS program and still contains some vestiges of that environment.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3910">Developing eCos Programs with the ARM Multi-ICE</H2
-><P
->The EP7211 Development Board supports use of the ARM
-           Multi-processor EmbeddedICE(tm), also known as the
-           Multi-ICE. Full instructions on how to install and use the
-           Multi-ICE in conjunction with GDB are provided in the
-           <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->"GNUPro Toolkit Reference for eCos
-             ARM/Thumb"</I
-></SPAN
-> manual. However, the following
-           platform-specific details should be noted.</P
-><P
->You will need an ARM Multi-ICE Server configuration
-           file for the EP7211 Development Board. Here is a suggested
-           configuration file to use:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->======== File "720T.cfg" ======== 
-;Total IR length = 4 
-[TITLE] 
-Multi-ICE configuration for EP7211 
-[TAP 0] 
-ARM720T 
-[TAPINFO] 
-YES 
-[Timing] 
-Low=0 
-High=0 
-Adaptive=OFF 
-==================================</PRE
-></TD
-></TR
-></TABLE
-><P
->You must ensure that the board has the appropriate soldered
-connections. For the EP7211 this involves connecting TEST0 and TEST1
-of the EP7211 to ground. To do this you must solder a wire from
-ground at JP33 to TP8 and TP9.</P
-><P
->With respect to using multiple devices simultaneously, note
-that the EP7211 is not ID sensitive.</P
-><P
->If you wish to view diagnostic output from your program that
-was downloaded via the Multi-ICE, you will note that by default
-the output on the serial line (as viewed by a terminal such as Hyperterm
-in Windows, or cu in Unix) is in the form of GDB packets.</P
-><P
->To get legible output, the solution is to set the "GDB Serial
-port" to a different device from the "Diagnostic serial port", and
-you should use the Diagnostic serial port to view the diagnostic
-output.</P
-><P
->Warning: The multi-ice-gdb-server will fail on startup if
-the board has not been both reset and awakened before running the
-server. </P
-><P
->To resolve this, it is necessary to free up the connection
-from within the ARM Multi-ICE server itself. However when this happens,
-the next time you use GDB to load the program into the board, you
-will see lots of "Readback did not match original data" messages
-in the output of the multi-ice-gdb-server program. This indicates
-your program did not load correctly, and you should restart the
-multi-ice-gdb-server program, taking care to reset the board correctly
-before reconnecting. </P
-><P
->As a reminder, you must specify --config-dialog to the
-           multi-ice-gdb-server program to connect to the board
-           correctly. If you do not, the multi-ice-gdb-server program
-           will not be able to connect.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-cma230.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7212.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->ARM Cogent CMA230 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Cirrus Logic ARM EP7212 Development Board
-Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-ep7212.html b/doc/html/user-guide/setup-arm-ep7212.html
deleted file mode 100644 (file)
index 4697898..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Cirrus Logic ARM EP7212 Development Board
-Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Cirrus Logic ARM EP7211 Development
-Board Hardware Setup"
-HREF="setup-arm-ep7211.html"><LINK
-REL="NEXT"
-TITLE="Cirrus Logic ARM EP7312 Development Board
-Hardware Setup"
-HREF="setup-arm-ep7312.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7211.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7312.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-EP7212">Cirrus Logic ARM EP7212 Development Board
-Hardware Setup</H1
-><P
->The Cirrus Logic EP7212 Development Board is almost identical
-to the EP7211 Development Board from a hardware setup viewpoint,
-and is based on the same port of eCos. Therefore the earlier documentation
-for the EP7211 Development Board can be considered equivalent, but
-with the following changes:</P
-><P
-></P
-><UL
-><LI
-><P
->The first serial port is silk screened as "UART 1" on
-the EP7211 Development Board, but is silk screened as "Serial Port
-0" on the EP7212 Development Board. Similarly "UART 2" is silk screened
-as "Serial Port 1" on the EP7212 Development Board.</P
-></LI
-><LI
-><P
->JP2 (used to control reprogramming of the FLASH) is not
-silkscreened with "Boot Enable".</P
-></LI
-><LI
-><P
->To setup the EP7212 Development Board for use with the
-ARM Multi-ICE JTAG debugging interface unit, it is necessary to
-connect TEST0 and TEST1 of the EP7212 to ground.  On the Development
-Board, this is accomplished by placing shorting blocks on JP47 and
-JP48. When the shorting blocks are fitted, the board can only be
-operated through the Multi-ICE - debugging over a serial line is
-not possible.</P
-></LI
-><LI
-><P
->Pre-built GDB stubs are
-             provided in the directory
-             <TT
-CLASS="FILENAME"
->loaders/arm-edb7212</TT
-> relative to the
-             root of your eCos installation</P
-></LI
-><LI
-><P
->When rebuilding the GDB stub ROM image, change the "Cirrus
-Logic processor variant" option (CYGHWR_HAL_ARM_EDB7XXX_VARIANT)
-from the EP7211 to the EP7212. This can be selected in the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos Configuration Tool</I
-></SPAN
->
-, or if using ecosconfig, can be set by uncommenting the user_value
-property of this option in ecos.ecc and setting it to "EP7212".</P
-></LI
-></UL
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7211.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7312.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Cirrus Logic ARM EP7211 Development
-Board Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Cirrus Logic ARM EP7312 Development Board
-Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-ep7312.html b/doc/html/user-guide/setup-arm-ep7312.html
deleted file mode 100644 (file)
index 10a2914..0000000
+++ /dev/null
@@ -1,209 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Cirrus Logic ARM EP7312 Development Board
-Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Cirrus Logic ARM EP7212 Development Board
-Hardware Setup"
-HREF="setup-arm-ep7212.html"><LINK
-REL="NEXT"
-TITLE="Cirrus Logic ARM EP7209 Development Board Hardware Setup"
-HREF="setup-arm-ep7209.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7212.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ep7209.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-EP7312">Cirrus Logic ARM EP7312 Development Board
-Hardware Setup</H1
-><P
->The Cirrus Logic EP7312 Development Board is similar
-to the EP7212 Development Board from a hardware setup viewpoint,
-and is based on the same port of eCos.</P
-><P
->When rebuilding the RedBoot ROM image or an eCos application,
-change the "Cirrus Logic processor variant" option
-(CYGHWR_HAL_ARM_EDB7XXX_VARIANT)
-from the EP7211 to the EP7312. This can be selected in the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos Configuration Tool</I
-></SPAN
->
-, or if using ecosconfig, can be set by uncommenting the user_value
-property of this option in ecos.ecc and setting it to "EP7312".</P
-><P
->See the RedBoot documentation for building and installing RedBoot for this
-target.  Only RedBoot is supported as a boot image; ROMRAM startup is
-recommended.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="EP7312-90MHZ-OPERATION">90MHz Operation</H2
-><P
->The EP7xxx targets offer a choice of clock speeds, from 18MHz to a maximum,
-normally, of 72MHz.  These are described as kHz values 18432 36864 49152
-and 73728 within the configuration tool.  If you have a release which
-supports it, you will also see 90317 as an available option here, for 90MHz
-operation.</P
-><P
->This option only applies to certain EP7312 hardware, not all EP7312 boards
-support it.  Do not select 90MHz when building RedBoot or your eCos
-application unless you are absolutely sure that your board supports it.</P
-><P
->If you do have a 90MHz board and wish to execute at 90MHz, it is in fact
-not necessary to build RedBoot specially, if you build your eCos
-application configured for 90MHz.  RedBoot will run at 72MHz and your
-application will run at 90MHz.  If you do install a 90MHz RedBoot, then you
-must build eCos for 90MHz or timing and baud rates on serial I/O will be
-wrong.</P
-><P
->In other words, code (either eCos app or RedBoot) built for 90MHz will
-&#8220;change up a gear&#8221; when it starts up; but code built for 72MHz,
-because it needs to run correctly on boards without the
-&#8220;gearbox&#8221; does not change back down, so if you mix the two,
-unexpected timing can result.  To run a non-eCos application without any
-hardware initialization code at 90MHz, you must install a specially-built
-RedBoot.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7212.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-ep7209.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Cirrus Logic ARM EP7212 Development Board
-Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Cirrus Logic ARM EP7209 Development Board Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-ipaq.html b/doc/html/user-guide/setup-arm-ipaq.html
deleted file mode 100644 (file)
index 071be18..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
-> Compaq iPAQ PocketPC Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="StrongARM EBSA-285 Hardware Setup"
-HREF="setup-arm-ebsa285.html"><LINK
-REL="NEXT"
-TITLE="SH3/EDK7708 Hardware Setup"
-HREF="setup-sh-edk7708.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ebsa285.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sh-edk7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-IPAQ">Compaq iPAQ PocketPC Hardware Setup</H1
-><P
->For setting up the iPAQ to run with RedBoot, see the the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->RedBoot
-User's Guide</I
-></SPAN
->. Connections may be made using
-the Compact Flash Ethernet interface.  A serial cable may be connected
-directly, or via the cradle. Serial communication uses the parameters
-38400,8,N,1. The LCD/Touchscreen may also be used as an
-interface to RedBoot and eCos applications.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-ebsa285.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sh-edk7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->StrongARM EBSA-285 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SH3/EDK7708 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-arm-pid.html b/doc/html/user-guide/setup-arm-pid.html
deleted file mode 100644 (file)
index f1283fe..0000000
+++ /dev/null
@@ -1,862 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->ARM PID Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SPARClite Architectural Simulator Setup"
-HREF="setup-sparclite-sim.html"><LINK
-REL="NEXT"
-TITLE="ARM AEB-1 Hardware Setup"
-HREF="setup-arm-aeb1.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sparclite-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-aeb1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-ARM-PID">ARM PID Hardware Setup</H1
-><P
->eCos comes with two ROM images that provide GDB support for
-the ARM PID board. The first ROM image provides a port of the CygMon
-ROM monitor, which includes a command-line interface and a GDB remote
-stub. The second ROM image provides a remote GDB stub only, which
-is a minimal environment for downloading and debugging eCos programs
-solely using GDB.</P
-><P
->eCos, CygMon and the GDB stubs all support the PID fitted
-with both ARM7T and ARM9 daughterboards. CygMon and the stubs can
-be programmed into either the programmable ROM (U12) or the FLASH
-(U13). Pre-built forms of both ROM images are provided in the directory
-loaders/arm-pid under the root of your eCos installation,
-along with a tool that will program the stubs into the FLASH memory on
-the board. CygMon images are prefixed with the name 'cygmon' and
-GDB stub ROM images are given the prefix 'gdb_module'.
-Images may be provided in a number of formats including ELF (.img
-extension), binary (.bin extension) and SREC (.srec extension).
-Note that some unreliability has been experienced in downloading
-files using Angel 1.00. Angel 1.02 appears to be more robust in
-this application.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3542">Installing the Stubs into FLASH</H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3544">Preparing the Binaries</H3
-><P
->These two binary preparation steps are not strictly necessary
-as the eCos distribution ships with pre-compiled binaries in the
-directory loaders/arm-pid relative to the installation
-root.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3547">Building the ROM images with the eCos Configuration Tool</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->-&#62;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- menu item, and then select the ARM PID hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- dialog box, select either the "stubs" package template to build
-a GDB stub image, or the "cygmon" template to build the CygMon ROM
-Monitor. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix "gdb_module". CygMon images
-have the prefix "cygmon".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3569">Building the ROM images with ecosconfig</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->                  Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new pid stubs</PRE
-></TD
-></TR
-></TABLE
-><P
->or to build a CygMon ROM monitor image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new pid cygmon</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Enter the commands:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix "gdb_module". CygMon images
-have the prefix "cygmon".</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3584">Building the FLASH Tool with the eCos Configuration Tool</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File</I
-></SPAN
->-&#62;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->-&#62;<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Templates</I
-></SPAN
->
- menu item, and then select the ARM PID hardware.</P
-></LI
-><LI
-><P
->Enable the "Build flash programming tool" option in the
-ARM PID HAL (CYGBLD_BUILD_FLASH_TOOL)
-and resolve any resulting configuration conflicts.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
->
--&#62;
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
-></P
-></LI
-><LI
-><P
->When the build completes, the FLASH tool image file can
-be found in the bin/ subdirectory of the install tree,
-with the prefix "prog_flash"</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3603">Building the FLASH Tool with ecosconfig</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->                  Make an empty directory to contain the build tree,
-and cd into it
-                   </P
-></LI
-><LI
-><P
->Enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new pid</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Edit the file ecos.ecc and enable the option CYGBLD_BUILD_FLASH_TOOL
-by uncommenting its user_value property and setting it
-to 1.</P
-></LI
-><LI
-><P
->Enter the commands:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig resolve</PRE
-></TD
-></TR
-></TABLE
-><P
->[there will be some output]</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->When the build completes, the FLASH tool image file can
-be found in the bin/ subdirectory of the install tree,
-with the prefix "prog_flash"</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3620">Prepare the Board for FLASH Programming</H3
-><P
->Each time a new image is to be programmed in the FLASH, the
-jumpers on the board must be set to allow Angel to run:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->                  Set jumper 7-8 on LK6   [using the Angel code
-in the 16 bit EPROM]</P
-></LI
-><LI
-><P
->Set jumper 5-6 on LK6   [select 8bit ROM mode]</P
-></LI
-><LI
-><P
->Set jumper LK18         [ROM remap - this is
-also required for eCos]</P
-></LI
-><LI
-><P
->Set S1 to 0-0-1-1       [20MHz operation]</P
-></LI
-><LI
-><P
->Open jumper LK4  [enable little-endian operation]
-
-Attach a serial cable from Serial A on the PID board to connector
-1 on the development system. This is the cable through which the
-binaries will be downloaded. Attach a serial cable from Serial B
-on the PID board to connector 2 on the development system (or any
-system that will work as a terminal). Through this cable, the FLASH
-tool will write its instructions (at 38400 baud).</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3634">Program the FLASH</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Download the FLASH ROM image onto the PID board. For
-example. for the GDB stubs image:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->bash$ arm-elf-gdb -nw gdb_module.img
-GNU gdb 4.18-DEVTOOLSVERSION
-Copyright 1998 Free Software Foundation, Inc.
-GDB is free software, covered by the GNU General Public License,
-and you are welcome to change it and/or distribute copies
-of it under certain conditions. Type "show copying" to see the conditions.
-There is absolutely no warranty for GDB. Type "show warranty" for details.
-This GDB was configured as "--host=i586-pc-cygwin32 --target=arm-elf".
-(no debugging symbols found)...
-(gdb) target rdi s=com1
-Angel Debug Monitor for PID (Built with Serial(x1), Parallel, DCC) 1.00
-(Advanced RISC Machines SDT 2.10)
-Angel Debug Monitor rebuilt on Jan 20 1997 at 02:33:43
-Connected to ARM RDI target.
-(gdb) load
-Loading section .rom_vectors, size 0x44 lma 0x60000
-Loading section .text, size 0x1f3c lma 0x60044
-Loading section .rodata, size 0x2c lma 0x61f80
-Loading section .data, size 0x124 lma 0x61fac
-Start address 0x60044 , load size 8400
-Transfer rate: 5169 bits/sec.
-(gdb) q 
-The program is running.  Exit anyway? (y or n) y </PRE
-></TD
-></TR
-></TABLE
->
-
-<DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
-> On a UNIX or Linux system, the serial port must be
- /dev/ttyS0 instead of COM1.
- You need to make sure that the /dev/ttyS0 files
-have the right permissions:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ su
- Password:
- # chmod o+rw /dev/ttyS0*
- # exit 
-                     </PRE
-></TD
-></TR
-></TABLE
->
-If you are programming the GDB stub image, it will now be located
-at 0x60000..0x64000. If you are programming the Cygmon ROM Monitor,
-it will be located at 0x60000..0x80000.</P
-></BLOCKQUOTE
-></DIV
-></P
-></LI
-><LI
-><P
->Now download the FLASH programmer tool</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->bash$ arm-elf-gdb prog_flash.img 
-GNU gdb 4.18-DEVTOOLSVERSION
-Copyright 1998 Free Software Foundation, Inc.
-GDB is free software, covered by the GNU General Public License,
-and you are welcome to change it and/or distribute
-copies of it under certain conditions. Type "show copying" to see
-the conditions. There is absolutely no warranty for GDB.  Type "show
-warranty" for details.
-This GDB was configured as "--host=i586-pc-cygwin32 --target=arm-elf".
-(gdb) target rdi s=com1
-Angel Debug Monitor for PID (Built with Serial(x1), Parallel, DCC) 1.00
-(Advanced RISC Machines SDT 2.10)
-Angel Debug Monitor rebuilt on Jan 20 1997 at 02:33:43
-Connected to ARM RDI target.
-(gdb) load
-Loading section .rom_vectors, size 0x44 lma 0x40000
-Loading section .text, size 0x44a4 lma 0x40044
-Loading section .rodata, size 0x318 lma 0x444e8
-Loading section .data, size 0x1c8 lma 0x44800
-Start address 0x40044 , load size 18888
-Transfer rate: 5596 bits/sec.
-(gdb) c</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->The FLASH tool will output some text on the board serial
-port B at 38400 baud:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->ARM
-eCos
-
-FLASH here!
-manuf: 8, device: 40
-Error: Wrong Manufaturer: 08
-... Please change FLASH jumper</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->This text is repeated until you remove the jumper 7-8
-on LK6. Then the output will be:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->manuf: 1F, device: A4
-AT29C040A recognised
-About to program FLASH using data at 60000..64000
-*** Press RESET now to abort!</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
-> You have about 10 seconds to abort the operation by pressing
-reset. After this timeout, the FLASH programming happens:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->...Programming FLASH 
-All done!</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Quit/kill the GDB process, which will hang.</P
-></LI
-><LI
-><P
->Next time you reset the board, the stub will be in control,
-communicating on Serial A at 38400 baud.</P
-></LI
-></OL
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->If you do not have two serial ports available on your host
-computer, you may still verify the FLASH programming completed successfully
-by quitting/killing the GDB process after running "c" in
-step 2 above. Then switch the serial cable on the PID from Serial
-A to Serial B and run a terminal emulator on the host computer.
-In a few seconds you should see the the repeated text described
-in step 2 above and you may continue the remaining steps as normal.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3661">Programming the FLASH for big-endian mode</H3
-><P
->The process is almost identical to the previous instructions
-which apply to a PID board running in little-endian mode only.</P
-><P
->The only adjustments to make are that if programming a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->GDB</I
-></SPAN
-> stub
-ROM image (or CygMon ROM monitor image), you must enable the option "Use
-Big-endian mode" in the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->eCos Configuration Tool</I
-></SPAN
-> (CYGHWR_HAL_ARM_BIGENDIAN
-if using ecosconfig and editing ecos.ecc).</P
-><P
->When programming the FLASH there are two options:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Program FLASH using the little-endian FLASH tool. After
-powering off, replace the ROM controller with the special big-endian
-version which can be acquired from ARM. (This has not been tested
-by Red Hat).</P
-></LI
-><LI
-><P
->Use a special big-endian version of the FLASH tool which
-byte-swaps all the words as they are written to the FLASH.</P
-></LI
-></OL
-><P
->Build this tool by enabling the "Build flash programming tool
-for BE images on LE boards" option (CYGBLD_BUILD_FLASH_TOOL_BE),
-resulting in a utility with the prefix "prog_flash_BE_image_LE_system"
-which should be used instead of "prog_flash".</P
-><P
->Note that there is a limitation to this method: no sub-word
-data can be read from the ROM. To work around this, the .rodata
-section is folded into the .data section and thus copied to RAM
-before the system starts.</P
-><P
->Given that Thumb instructions are 16 bit, it is not possible
-to run ROM-startup Thumb binaries on the PID board using this method.</P
-><P
->When the image has been programmed, power off the board, and
-set jumper LK4 to enable big-endian operation.</P
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3677">Installing the Stubs into ROM</H2
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Program the binary image file gdb_module.bin
-into ROM referring to the instructions of your ROM programmer.</P
-></LI
-><LI
-><P
->Plug the ROM into socket U12 and install jumper LK6 pins
-7-8 to enable the ROM.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sparclite-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-aeb1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SPARClite Architectural Simulator Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM AEB-1 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-i386-pc.html b/doc/html/user-guide/setup-i386-pc.html
deleted file mode 100644 (file)
index 916e682..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->i386 PC Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="NEC CEB-V850/SB1 Hardware Setup"
-HREF="setup-v850-cebsb1.html"><LINK
-REL="NEXT"
-TITLE="i386/Linux Synthetic Target Setup"
-HREF="setup-synth-i386linux.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-v850-cebsb1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-synth-i386linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-I386-PC">i386 PC Hardware Setup</H1
-><P
->eCos application on the PC can be run in three ways: via RedBoot,
-loaded directly from a floppy disk, or loaded by the GRUB bootloader.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4408">RedBoot Support</H2
-><P
->For information about setting up the PC to run with RedBoot,
-consult the RedBoot User&quot;s Guide. If using serial debugging,
-the serial line runs at 38400 baud 8-N-1 and should be connected
-to the debug host using a null modem cable. If ethernet debugging
-is required, an i82559 compatible network interface card, such as
-an Intel EtherExpress Pro 10/100,  should be installed
-on the target PC and connected to the development PC running GDB.
-When RedBoot is configured appropriately to have an IP address set,
-then GDB will be able to debug directly over TCP/IP to the
-target PC.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4411">Floppy Disk Support</H2
-><P
->If an application is built with a startup type of FLOPPY, then it is
-configured to be a self-booting image that must be written onto a
-formatted floppy disk. This will erase any existing file system or
-data that is already on the disk, so proceed
-with caution.</P
-><P
->To write an application to floppy disk, it must first be converted to
-a pure binary format. This is done with the following command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->i386-elf-objcopy -O binary app.elf app.bin</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Here <TT
-CLASS="FILENAME"
->app.elf</TT
-> is the final linked application
-executable, in ELF format (it may not have a <TT
-CLASS="FILENAME"
->.elf</TT
->
-extension). The file <TT
-CLASS="FILENAME"
->app.bin</TT
-> is the resulting
-pure binary file. This must be written to the floppy disk with the
-following command:
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->dd conv=sync if=app.bin of=/dev/fd0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->For NT Cygwin users, this can be done by first ensuring that the raw
-floppy device is mounted as <TT
-CLASS="FILENAME"
->/dev/fd0</TT
->. To check if this
-is the case, type the command <B
-CLASS="COMMAND"
->mount</B
-> at the Cygwin bash
-prompt. If the floppy drive is already mounted, it will be listed as something
-similar to the following line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->  \\.\a: /dev/fd0 user binmode</PRE
-></TD
-></TR
-></TABLE
-><P
->If this line is not listed, then mount the floppy drive using the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->mount -f -b //./a: /dev/fd0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->To actually install the boot image on the floppy, use the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->dd conv=sync if=app.bin of=/dev/fd0</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->Insert this floppy in the A: drive of the PC to be used as a target
-and ensure that the BIOS is configured to boot from A: by default. On reset,
-the PC will boot from the floppy and the eCos application will load
-itself and execute immediately.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->NOTE: </B
->Unreliable floppy media may cause the write to silently fail. This
-can be determined if the RedBoot image does not correctly
-boot. In such cases, the floppy should be (unconditionally) reformatted
-using the <B
-CLASS="COMMAND"
->fdformat</B
-> command on Linux, or
-<B
-CLASS="COMMAND"
->format a: /u</B
-> on DOS/Windows. If this fails, try a
-different disk.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4439">GRUB Bootloader Support</H2
-><P
->If an application is built with the GRUB startup type, it is
-configured to be loaded by the GRUB bootloader.</P
-><P
->GRUB is an open source boot loader that supports many different
-operating systems. It is available from
-<A
-HREF="http://www.gnu.org/software/grub"
-TARGET="_top"
->http://www.gnu.org/software/grub</A
->.
-The latest version of GRUB should be downloaded from there and installed.
-In Red Hat Linux version 7.2 and later it is the default bootloader
-for Linux and therefore is already installed.</P
-><P
->To install GRUB on a floppy disk from Linux you need to execute the
-following commands:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="SCREEN"
->$ <TT
-CLASS="USERINPUT"
-><B
->mformat a:</B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->mount /mnt/floppy</B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->grub-install --root-directory=/mnt/floppy '(fd0)'</B
-></TT
->
-Probing devices to guess BIOS drives. This may take a long time.
-Installation finished. No error reported.
-This is the contents of the device map /mnt/floppy/boot/grub/device.map.
-Check if this is correct or not. If any of the lines is incorrect,
-fix it and re-run the script `grub-install'.
-
-(fd0)  /dev/fd0
-$ <TT
-CLASS="USERINPUT"
-><B
->cp $ECOS_REPOSITORY/packages/hal/i386/pc/current/misc/menu.lst /mnt/floppy/boot/grub</B
-></TT
->
-$ <TT
-CLASS="USERINPUT"
-><B
->umount /mnt/floppy</B
-></TT
-></PRE
-></TD
-></TR
-></TABLE
-><P
->The file <TT
-CLASS="FILENAME"
->menu.lst</TT
-> is an example GRUB menu
-configuration file. It contains menu items to load some of the
-standard eCos tests from floppy or from partition zero of the first
-hard disk. You should, of course, customize this file to load your own
-application. Alternatively you can use the command-line interface of
-GRUB to input commands yourself.</P
-><P
->Applications can be installed, or updated simply by copying them to
-the floppy disk at the location expected by the
-<TT
-CLASS="FILENAME"
->menu.lst</TT
-> file. For booting from floppy disks it
-is recommended that the executable be stripped of all debug and symbol
-table information before copying. This reduces the size of the file
-and can make booting faster.</P
-><P
->To install GRUB on a hard disk, refer to the GRUB documentation. Be
-warned, however, that if you get this wrong it may compromise any
-existing bootloader that exists on the hard disk and may make any
-other operating systems unbootable. Practice on floppy disks or
-sacrificial hard disks first. On machines running Red Hat Linux
-version 7.2 and later, you can just add your own menu items to the
-<TT
-CLASS="FILENAME"
->/boot/grub/menu.lst</TT
-> file that already exists.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4457">Debugging FLOPPY and GRUB Applications</H2
-><P
->When RedBoot loads an application it also provides debugging services
-in the form of GDB remote protocol stubs. When an application is
-loaded stand-alone from a floppy disk, or by GRUB, these services are
-not present. To allow these application to be debugged, it is possible
-to include GDB stubs into the application.</P
-><P
->To do this, set the &quot;Support for GDB stubs&quot;
-(<TT
-CLASS="LITERAL"
->CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS</TT
->) configuration
-option. Following this any application built will allow GDB to connect
-to the debug serial port (by default serial device 0, also known as
-COM1) whenever the application takes an exception, or if a Control-C
-is typed to the debug port. Ethernet debugging is not supported.</P
-><P
->The option &quot;Enable initial breakpoint&quot;
-(<TT
-CLASS="LITERAL"
->CYGDBG_HAL_DEBUG_GDB_INITIAL_BREAK</TT
->) causes the HAL
-to take a breakpoint immediately before calling cyg_start(). This
-gives the developer a chance to set any breakpoints or inspect the
-system state before it proceeds. The configuration sets this option by
-default if GDB stubs are included, and this is not a RedBoot build. To
-make the application execute immediately either disable this option,
-or disable <TT
-CLASS="LITERAL"
->CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS</TT
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-v850-cebsb1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-synth-i386linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->NEC CEB-V850/SB1 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->i386/Linux Synthetic Target Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-mips-atlasmalta.html b/doc/html/user-guide/setup-mips-atlasmalta.html
deleted file mode 100644 (file)
index 26f737e..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Atlas/Malta Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="VRC4375 Hardware Setup"
-HREF="setup-vr4300-vrc4375.html"><LINK
-REL="NEXT"
-TITLE="PowerPC Cogent Hardware Setup"
-HREF="setup-ppc-cogent.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-vr4300-vrc4375.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-ppc-cogent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-MIPS-ATLASMALTA">Atlas/Malta Hardware Setup</H1
-><P
->For information about setting up the Atlas and Malta boards to
-run with RedBoot, consult the RedBoot User&quot;s Guide.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-vr4300-vrc4375.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-ppc-cogent.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->VRC4375 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PowerPC Cogent Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-mn10300-sim.html b/doc/html/user-guide/setup-mn10300-sim.html
deleted file mode 100644 (file)
index b2c805e..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->MN10300 Architectural Simulator Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="NEXT"
-TITLE="AM33 STB Hardware Setup"
-HREF="setup-am33-stb.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-am33-stb.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-MN10300-SIM">MN10300 Architectural Simulator Setup</H1
-><P
->The MN10300 simulator is an architectural simulator for the
-Matsushita MN10300 that implements all features of the microprocessor
- necessary to run eCos. The current implementation provides accurate
-simulation of the instruction set, interrupt controller, timers,
-and  serial I/O.</P
-><P
->In this release, you can run the same eCos binaries in the
-simulator that can run on target hardware, if built for ROM start-up,
-with the  exception of those that use the watchdog timer.</P
-><P
->However, note that AM33 devices required to run eCos are not
-simulated; therefore you cannot run eCos binaries built for the
-AM33 under the simulator. For the AM33, the simulator is effectively
-an instruction-set only simulator.</P
-><P
->To simplify connection to the simulator, you are advised to
-create a GDB macro by putting the following code in your personal
-GDB start-up file (gdb.ini on Windows and .gdbinit on UNIX).</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->define msim   
- target sim --board=stdeval1 --memory-region 0x34004000,0x8
-  
- rbreak cyg_test_exit   
- rbreak cyg_assert_fail  
-end</PRE
-></TD
-></TR
-></TABLE
-><P
->You can then connect to the simulator by invoking the command <TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->msim</PRE
-></TD
-></TR
-></TABLE
-> on
-the command line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) msim</PRE
-></TD
-></TR
-></TABLE
-><P
->You can achieve the same effect by typing out the macro&#8217;s
-content on  the command line if necessary.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-am33-stb.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Target Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->AM33 STB Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-ppc-cogent.html b/doc/html/user-guide/setup-ppc-cogent.html
deleted file mode 100644 (file)
index c2a378a..0000000
+++ /dev/null
@@ -1,382 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PowerPC Cogent Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="Atlas/Malta Hardware Setup"
-HREF="setup-mips-atlasmalta.html"><LINK
-REL="NEXT"
-TITLE="PowerPC MBX860 Hardware Setup"
-HREF="setup-ppc-mbx860.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-mips-atlasmalta.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-ppc-mbx860.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-PPC-COGENT">PowerPC Cogent Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with an EPROM
-which provides GDB support for the Cogent
-evaluation board. An image of this EPROM is also provided at
-         <TT
-CLASS="FILENAME"
->loaders/powerpc-cogent/gdbload.bin</TT
-> under
-the root of your eCos installation. The same EPROM and image can
-be used on all three supported daughterboards: CMA287-23 (MPC823),
-CMA287-50 (MPC850), and CMA286-60 (MPC860).</P
-><P
->The EPROM is installed to socket U4 on the board. Attention
-should be paid to the correct orientation of the EPROM during installation. </P
-><P
->If you are going to burn a new EPROM using the binary image,
-be careful to get the byte order correct. It needs to be big-endian.
-If the EPROM burner software has a hex-editor, check that the first
-few bytes of the image look like: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->00000000: 3c60 fff0 6063 2000 7c68 03a6 4e80 0020 &lt;&grave;..&grave;c.|h..N.. </PRE
-></TD
-></TR
-></TABLE
-><P
->If the byte order is wrong you will see 603c instead of 3c60
-etc. Use the EPROM burner software to make a byte-swap before you
-burn to image to the EPROM. </P
-><P
->If the GDB stub EPROM you burn does not work, try reversing
-the byte-order, even if you think you have it the right way around.
-At least one DOS-based EPROM burner program is known to have the
-byte-order upside down.</P
-><P
->The GDB stub in the EPROM allows communication with GDB using
-the serial port at connector P12 (CMA101) or P3 (CMA102). The communication parameters
-are fixed at 38400 baud, 8 data bits, no parity bit and 1 stop bit
-(8-N-1). No flow control is employed. Connection to the host computer
-should be made using a dedicated serial cable as specified in the
-Cogent CMA manual.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3370">Installing the Stubs into ROM</H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3372">Preparing the Binaries</H3
-><P
->These two binary preparation steps are not strictly necessary
-as the eCos distribution ships with pre-compiled binaries in the
-directory <TT
-CLASS="FILENAME"
->loaders/powerpc-cogent</TT
-> relative to the installation
-root.</P
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN3376">Building the ROM images with the eCos Configuration Tool</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the PowerPC    CMA28x hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the &#8220;stubs&#8221; package template
-to build a GDB stub. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the  prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN3394">Building the ROM images with ecosconfig</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command: 
-  
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new cma28x stubs </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Enter the commands: 
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
->
- </P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3407">Installing the Stubs into ROM or FLASH</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Program the binary image file gdb_module.bin
-into ROM or FLASH referring to the instructions of your ROM programmer.</P
-></LI
-><LI
-><P
-> Plug the ROM/FLASH into socket U4 as described
-at the beginning of this <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Hardware Setup</I
-></SPAN
-> section.</P
-></LI
-></OL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-mips-atlasmalta.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-ppc-mbx860.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Atlas/Malta Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PowerPC MBX860 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-ppc-mbx860.html b/doc/html/user-guide/setup-ppc-mbx860.html
deleted file mode 100644 (file)
index 0b76a7c..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PowerPC MBX860 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="PowerPC Cogent Hardware Setup"
-HREF="setup-ppc-cogent.html"><LINK
-REL="NEXT"
-TITLE="PowerPC Architectural Simulator Setup"
-HREF="setup-ppc-sim.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-ppc-cogent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-ppc-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-PPC-MBX860">PowerPC MBX860 Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with an EPROM
-which provides GDB support for the Motorola
-PowerPC MBX860 evaluation board. An image of this EPROM is also
-provided at <TT
-CLASS="FILENAME"
->loaders/powerpc-mbx/gdbload.bin</TT
-> under
-the root of your eCos installation.</P
-><P
->The EPROM is installed to socket XU1 on the board. Attention
-should be paid to the correct orientation of the EPROM during installation.
-Only replace the board&quot;s existing ROM using a proper PLCC
-extraction tool, as the socket would otherwise risk getting damaged.</P
-><P
->The GDB stub in the EPROM allows communication with GDB using
-the serial port at connector SMC1/COM1. The communication
-parameters are fixed at 38400 baud, 8 data bits, no parity bit and
-1 stop bit (8-N-1). No flow control is employed. Connection to the
-host computer should be made using a suitable serial cable.</P
-><P
->In order to make the board execute the EPROM that you just
-installed (rather than the on-board FLASH memory), it may be necessary
-move some links on the board. Specifically, ensure that link J4
-is in position 1-2. If in doubt, refer to the MBX documentation
-from Motorola, ensuring that Boot Port Size=8 Bits/ROM
-for BOOT (CS#7), in their terminology.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3422">Installing the Stubs into FLASH</H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3424">Preparing the Binaries</H3
-><P
->These two binary preparation steps are not strictly necessary
-as the eCos distribution ships with pre-compiled binaries in the
-directory <TT
-CLASS="FILENAME"
->loaders/powerpc-mbx</TT
-> relative to the installation
-root.</P
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN3428">Building the ROM images with the eCos Configuration Tool</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the PowerPC    Motorola MBX860/821
-hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the &#8220;stubs&#8221; package template
-to build a GDB stub. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->. </P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN3446">Building the ROM images with ecosconfig</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command: 
-  
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new mbx stubs </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Enter the commands: 
-    
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3459">Installing the Stubs into ROM</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
-> Program the binary image file gdb_module.bin
-into ROM or FLASH referring to the instructions of your ROM programmer.</P
-></LI
-><LI
-><P
-> Plug the ROM/FLASH into socket XU1 as described
-near the beginning of this <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Hardware Setup</I
-></SPAN
-> section.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3467">Installing the Stubs into FLASH</H3
-><P
->This assumes you have EPPC-Bug in the on-board FLASH. This
-can be determined by setting up the board according to the below
-instructions and powering up the board. The EPPC-Bug prompt should
-appear on the SMC1 connector at 9600 baud, 8N1.</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Set jumper 3 to 2-3     [allow XU2 FLASH to
-be programmed]</P
-></LI
-><LI
-><P
->Set jumper 4 to 2-3     [boot EPPC-Bug]</P
-></LI
-></OL
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN3475">Program FLASH</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
-> Prepare EPPC-Bug for download:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->EPPC-Bug&#62;lo 0</PRE
-></TD
-></TR
-></TABLE
-><P
->At this point the monitor is ready for input. It will not return
-the prompt until the file has been downloaded.</P
-></LI
-><LI
-><P
->Use the terminal emulator&#8217;s ASCII download feature
-(or a simple clipboard     copy/paste operation) to download
-the gdb_module.srec data.
-
-Note that on Linux, Minicom&#8217;s ASCII download feature seems
-to be broken. A workaround is to load the file into Emacs (or another
-editor) and copy the full contents to the clipboard. Then press
-the mouse paste-button (usually the middle one) over the Minicom
-window.</P
-></LI
-><LI
-><P
->Program the FLASH with the downloaded data:
-    
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->EPPC-Bug&#62;pflash 40000 60000 fc000000</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Switch off the power, and change jumper 4 to 1-2. Turn
-on the power again. The board should now boot using the newly programmed
-stubs.</P
-></LI
-></OL
-></DIV
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-ppc-cogent.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-ppc-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PowerPC Cogent Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->PowerPC Architectural Simulator Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-ppc-sim.html b/doc/html/user-guide/setup-ppc-sim.html
deleted file mode 100644 (file)
index 13156cc..0000000
+++ /dev/null
@@ -1,228 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->PowerPC Architectural Simulator Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="PowerPC MBX860 Hardware Setup"
-HREF="setup-ppc-mbx860.html"><LINK
-REL="NEXT"
-TITLE="SPARClite Hardware Setup"
-HREF="setup-sparclite-sleb.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-ppc-mbx860.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sparclite-sleb.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-PPC-SIM">PowerPC Architectural Simulator Setup</H1
-><P
->The PowerPC simulator is an architectural simulator which
-implements all the features of the PowerPC needed to run eCos. The
-current implementation provides accurate simulation of the instruction
-set and timers, as well as having generic support for diagnostic
-output  and exceptions.</P
-><P
->The simulator also allows devices to be simulated, but no
-device simulation support has been defined for the serial device
-drivers in this release.</P
-><P
->To simplify connection to the simulator, you are advised to
-create a GDB macro by putting the following code in your personal
-GDB start-up file (gdb.ini on Windows and .gdbinit on UNIX).</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->define psim   
- target sim -o &#8217;/iobus/pal&commat;0xf0001000/reg 0xf0001000 32&#8217;   
- rbreak cyg_test_exit   
- rbreak cyg_assert_fail  
-end</PRE
-></TD
-></TR
-></TABLE
-><P
->You can then connect to the simulator by invoking the command <B
-CLASS="COMMAND"
->psim</B
-> on
-the command line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) psim</PRE
-></TD
-></TR
-></TABLE
-><P
->You can achieve the same effect by typing out the macro&#8217;s
-content on the command line if necessary.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->The PowerPC simulator cannot execute binaries built for any
-of the supported hardware targets. You must generate a configuration
-using the PowerPC simulator platform: 
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new psim</PRE
-></TD
-></TR
-></TABLE
->
- or some such.</P
-></BLOCKQUOTE
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-ppc-mbx860.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sparclite-sleb.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PowerPC MBX860 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SPARClite Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sh-cq7708.html b/doc/html/user-guide/setup-sh-cq7708.html
deleted file mode 100644 (file)
index 1221321..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SH3/CQ7708 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SH3/EDK7708 Hardware Setup"
-HREF="setup-sh-edk7708.html"><LINK
-REL="NEXT"
-TITLE="SH3/HS7729PCI Hardware Setup"
-HREF="setup-sh-hs7729pci.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sh-edk7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sh-hs7729pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SH-CQ7708">SH3/CQ7708 Hardware Setup</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4116">Preparing the board</H2
-><P
->Make sure the DIP switches on the board are set as follows:
-  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->SW1-1 ON
-SW1-2 OFF   
-SW1-3 ON   
-SW1-4 OFF</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->SW2-1 ON   
-SW2-2 ON   
-SW2-3 OFF   
-SW2-4 OFF</PRE
-></TD
-></TR
-></TABLE
-><P
->If you are using a straight through serial cable which has
-flow control lines, you will also need to cut JP12 (5-6) as the
-flow control lines can cause NMIs.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4122">eCos GDB Stubs</H2
-><P
->The eCos installation CD contains a copy of the eCos GDB stubs
-in  binary format which must be programmed into an EPROM or FLASH
-and  installed on the board.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4125">Preparing the GDB stubs</H3
-><P
->These stub preparation steps are not strictly necessary as
-the eCos distribution ships with pre-compiled stubs in the directory
-loaders/sh3-cq7708 relative to the installation root.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4128">Building the GDB stub image with the eCos Configuration Tool</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the SH3 cq7708 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the stubs package template to build a GDB stub.
-Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
-> Build eCos stubs using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->.</P
-></LI
-><LI
-><P
-> When the build completes, the image files can be found
-in the 
-<TT
-CLASS="FILENAME"
->bin/</TT
->
- subdirectory of the install tree. GDB stub images have the prefix 
-<TT
-CLASS="FILENAME"
->gdb_module</TT
->.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4148">Building the GDB stub image with ecosconfig</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
-> To build a GDB stub ROM image, enter the command: 
-     
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new cq7708 stubs </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
-> Enter the commands:
-    
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree      
-$ make</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the 
-<TT
-CLASS="FILENAME"
->bin/</TT
->
- subdirectory of the install tree. GDB stub images have the prefix 
-<TT
-CLASS="FILENAME"
->gdb_module</TT
->.  </P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4163">Programming the stubs in EPROM/FLASH</H2
-><P
->The board can use different sizes of ROMs. Use this table
-to adjust the board&#8217;s jumpers to the ROM sizes you are
-using.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->size(kbit)    JP7   JP9   JP10   JP11     
-256           2-3   2-3   open   open     
-512           1-2   2-3   open   open     
-1000          1-2   open  open   2-3     
-2000          1-2   1-2   open   2-3     
-4000          1-2   1-2   short  2-3     
-8000          1-2   1-2   short  1-2</PRE
-></TD
-></TR
-></TABLE
-><P
->There are two ways to program the stubs. We advise you to
-use method 1, since it is simpler. Method 2 is unsupported and requires
-a bit of fiddling.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Method 1: </I
-></SPAN
-> </P
-><P
->Program the binary stub image into two EPROMs, E and O. EPROM
-E should  contain the even bytes, and O the odd bytes (your EPROM
-programmer should  have the ability to split the image).</P
-><P
->EPROM E should be installed in socket IC8, and EPROM O should
-be  installed in socket IC4.</P
-><P
->Set JP6 to 16 bit mode (1-2 soldered, 2-3 cut)  Set SW1-4
-to ON and SW2-1 to OFF.</P
-><P
-></P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Method2: </I
-></SPAN
-> </P
-><P
->Assuming that the stub binary is smaller than 32 KB, you can
-install it in a single EPROM.</P
-><P
->Compile the <TT
-CLASS="FILENAME"
->mkcqrom.c</TT
-> program
-found in the <TT
-CLASS="FILENAME"
->misc</TT
-> directory.</P
-><P
->Use it to convert the binary image to the required format.
-See the  <TT
-CLASS="FILENAME"
->mkcqrom.c</TT
-> source for a
-description of what is done, and why it is  necessary. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> % mkcqrom gdb_module.bin gdb_mangled.bin</PRE
-></TD
-></TR
-></TABLE
-><P
->Program the <TT
-CLASS="FILENAME"
->gdb_mangled.bin</TT
-> file
-into an EPROM and install it in  socket IC4</P
-><P
->Set JP6 to 8 bit mode (cut 1-2, solder 2-3)</P
-><P
->The GDB stubs allow communication with GDB using the serial
-port at connector CN7. The communication parameters are fixed at
-38400 baud, 8 data bits, no parity bit and 1 stop bit (8-N-1). No
-flow control is employed. Connection to the host computer should
-be made using a  straight through serial cable.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sh-edk7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sh-hs7729pci.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SH3/EDK7708 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SH3/HS7729PCI Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sh-cq7750.html b/doc/html/user-guide/setup-sh-cq7750.html
deleted file mode 100644 (file)
index a65adab..0000000
+++ /dev/null
@@ -1,472 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SH4/CQ7750 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SH3/SE77x9 Hardware Setup"
-HREF="setup-sh-se77x9.html"><LINK
-REL="NEXT"
-TITLE="SH4/SE7751 Hardware Setup"
-HREF="setup-sh-se7751.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sh-se77x9.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sh-se7751.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SH-CQ7750">SH4/CQ7750 Hardware Setup</H1
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4195">Preparing the board</H2
-><P
->Make sure the DIP switches on the board are set as follows:
-  </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->SW1-1 ON
-SW1-2 OFF   
-SW1-3 ON   
-SW1-4 OFF</PRE
-></TD
-></TR
-></TABLE
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->SW2-1 ON   
-SW2-2 ON   
-SW2-3 OFF   
-SW2-4 OFF</PRE
-></TD
-></TR
-></TABLE
-><P
->If you are using a straight through serial cable which has
-flow control lines, you will also need to cut JP12 (5-6) as the
-flow control lines can cause NMIs.</P
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4201">eCos GDB Stubs</H2
-><P
->The eCos installation CD contains a copy of the eCos GDB stubs
-in  binary format which must be programmed into an EPROM or FLASH
-and  installed on the board.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4204">Preparing the GDB stubs</H3
-><P
->These stub preparation steps are not strictly necessary as
-the eCos distribution ships with pre-compiled stubs in the directory
-loaders/sh3-cq7708 relative to the installation root.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4207">Building the GDB stub image with the eCos Configuration Tool</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the SH3 cq7708 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the stubs package template to build a GDB stub.
-Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
-> Build eCos stubs using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->.</P
-></LI
-><LI
-><P
-> When the build completes, the image files can be found
-in the 
-<TT
-CLASS="FILENAME"
->bin/</TT
->
- subdirectory of the install tree. GDB stub images have the prefix 
-<TT
-CLASS="FILENAME"
->gdb_module</TT
->.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4227">Building the GDB stub image with ecosconfig</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
-> To build a GDB stub ROM image, enter the command: 
-     
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new cq7708 stubs </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
-> Enter the commands:
-    
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree      
-$ make</PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the 
-<TT
-CLASS="FILENAME"
->bin/</TT
->
- subdirectory of the install tree. GDB stub images have the prefix 
-<TT
-CLASS="FILENAME"
->gdb_module</TT
->.  </P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4242">Programming the stubs in EPROM/FLASH</H2
-><P
->The board can use different sizes of ROMs. Use this table
-to adjust the board&#8217;s jumpers to the ROM sizes you are
-using.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->size(kbit)    JP7   JP9   JP10   JP11     
-256           2-3   2-3   open   open     
-512           1-2   2-3   open   open     
-1000          1-2   open  open   2-3     
-2000          1-2   1-2   open   2-3     
-4000          1-2   1-2   short  2-3     
-8000          1-2   1-2   short  1-2</PRE
-></TD
-></TR
-></TABLE
-><P
->There are two ways to program the stubs. We advise you to
-use method 1, since it is simpler. Method 2 is unsupported and requires
-a bit of fiddling.</P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Method 1: </I
-></SPAN
-> </P
-><P
->Program the binary stub image into two EPROMs, E and O. EPROM
-E should  contain the even bytes, and O the odd bytes (your EPROM
-programmer should  have the ability to split the image).</P
-><P
->EPROM E should be installed in socket IC8, and EPROM O should
-be  installed in socket IC4.</P
-><P
->Set JP6 to 16 bit mode (1-2 soldered, 2-3 cut)  Set SW1-4
-to ON and SW2-1 to OFF.</P
-><P
-></P
-><P
-><SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Method2: </I
-></SPAN
-> </P
-><P
->Assuming that the stub binary is smaller than 32 KB, you can
-install it in a single EPROM.</P
-><P
->Compile the <TT
-CLASS="FILENAME"
->mkcqrom.c</TT
-> program
-found in the <TT
-CLASS="FILENAME"
->misc</TT
-> directory.</P
-><P
->Use it to convert the binary image to the required format.
-See the  <TT
-CLASS="FILENAME"
->mkcqrom.c</TT
-> source for a
-description of what is done, and why it is  necessary. </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
-> % mkcqrom gdb_module.bin gdb_mangled.bin</PRE
-></TD
-></TR
-></TABLE
-><P
->Program the <TT
-CLASS="FILENAME"
->gdb_mangled.bin</TT
-> file
-into an EPROM and install it in  socket IC4</P
-><P
->Set JP6 to 8 bit mode (cut 1-2, solder 2-3)</P
-><P
->The GDB stubs allow communication with GDB using the serial
-port at connector CN7. The communication parameters are fixed at
-38400 baud, 8 data bits, no parity bit and 1 stop bit (8-N-1). No
-flow control is employed. Connection to the host computer should
-be made using a  straight through serial cable.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sh-se77x9.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sh-se7751.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SH3/SE77x9 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SH4/SE7751 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sh-edk7708.html b/doc/html/user-guide/setup-sh-edk7708.html
deleted file mode 100644 (file)
index 5e6d135..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SH3/EDK7708 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE=" Compaq iPAQ PocketPC Hardware Setup"
-HREF="setup-arm-ipaq.html"><LINK
-REL="NEXT"
-TITLE="SH3/CQ7708 Hardware Setup"
-HREF="setup-sh-cq7708.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-arm-ipaq.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sh-cq7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SH-EDK7708">SH3/EDK7708 Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with a ROM
-which provides GDB support for the Hitachi EDK7708 board (a big-endian
-and a little-endian version). Images of these  ROMs are also provided
-at <TT
-CLASS="FILENAME"
->loaders/sh-edk7708/gdbload.bin</TT
-> and
-         <TT
-CLASS="FILENAME"
->loaders/sh-edk7708le/gdbload.bin</TT
-> under
-the root of your eCos installation.</P
-><P
->The ROM is installed to socket U6 on the board. When using
-the big-endian ROM, jumper 9 must be set to 2-3. When using the
-little-endian ROM, jumper 9 must be set to 1-2. Attention should
-be paid to the correct orientation of the ROM during installation.
-Only replace the board&quot;s existing ROM using a proper PLCC extraction
-tool, as the socket would otherwise risk being damaged. </P
-><P
->If you are going to program a new ROM or FLASH using the binary
-image, you may have to experiment to get the right byte-order in
-the device. Depending on the programming software you use, it might
-be necessary to enable byte-swapping.  If the GDB stub ROM/FLASH
-you program does not work, try reversing the byte-order.</P
-><P
->The GDB stub in the EPROM allows communication with GDB using
-the serial port at connector J1. The communication parameters are
-fixed at 38400 baud, 8 data bits, no parity bit and 1 stop bit (8-N-1).
-No flow control is employed. Connection to the host computer should
-be made using the dedicated serial cable included in the EDK package. </P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4067">Installing the Stubs into FLASH</H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4069">Preparing the Binaries</H3
-><P
->These two binary preparation steps are not strictly necessary
-as the eCos distribution ships with pre-compiled binaries in the
-directory loaders/sh-edk7708 and loaders/sh-edk7708le
-relative to the installation root.</P
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN4072">Building the ROM images with the eCos Configuration Tool</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the SH EDK7708 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the &#8220;stubs&#8221; package template
-to build a GDB stub. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->If building a little-endian image, disable the &#8220;Use
-big-endian mode&#8221; option in the SH EDK7708 HAL (CYGHWR_HAL_SH_BIGENDIAN).</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->. </P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN4092">Building the ROM images with ecosconfig</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command: 
-  
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new edk7708 stubs</PRE
-></TD
-></TR
-></TABLE
->
- </P
-></LI
-><LI
-><P
->If building a little-endian image, uncomment the user
-value in ecos.ecc for CYGHWR_HAL_SH_BIGENDIAN
-and change it to 0.   </P
-></LI
-><LI
-><P
->Enter the commands:
-    
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree      
-$ make </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the  prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4107">Installing the Stubs into ROM or FLASH</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Program the binary image file gdb_module.bin
-into ROM or FLASH referring to the instructions of your ROM programmer.</P
-></LI
-><LI
-><P
->Plug the ROM/FLASH into socket U6. If the image
-is little-endian set jumper 9 to 1-2. If the image is big-endian
-set jumper 9 to 2-3.</P
-></LI
-></OL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-arm-ipaq.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sh-cq7708.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Compaq iPAQ PocketPC Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SH3/CQ7708 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sh-hs7729pci.html b/doc/html/user-guide/setup-sh-hs7729pci.html
deleted file mode 100644 (file)
index 6ef499f..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SH3/HS7729PCI Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SH3/CQ7708 Hardware Setup"
-HREF="setup-sh-cq7708.html"><LINK
-REL="NEXT"
-TITLE="SH3/SE77x9 Hardware Setup"
-HREF="setup-sh-se77x9.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sh-cq7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sh-se77x9.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SH-HS7729PCI">SH3/HS7729PCI Hardware Setup</H1
-><P
->Please see the RedBoot manual for instructions on how to prepare
-the board for use with eCos.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sh-cq7708.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sh-se77x9.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SH3/CQ7708 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SH3/SE77x9 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sh-se7751.html b/doc/html/user-guide/setup-sh-se7751.html
deleted file mode 100644 (file)
index 60db21c..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SH4/SE7751 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SH4/CQ7750 Hardware Setup"
-HREF="setup-sh-cq7750.html"><LINK
-REL="NEXT"
-TITLE="NEC CEB-V850/SA1 Hardware Setup"
-HREF="setup-v850-cebsa1.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sh-cq7750.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-v850-cebsa1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SH-SE7751">SH4/SE7751 Hardware Setup</H1
-><P
->Please see the RedBoot manual for instructions on how to prepare
-the board for use with eCos.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sh-cq7750.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-v850-cebsa1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SH4/CQ7750 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->NEC CEB-V850/SA1 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sh-se77x9.html b/doc/html/user-guide/setup-sh-se77x9.html
deleted file mode 100644 (file)
index fceedbb..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SH3/SE77x9 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SH3/HS7729PCI Hardware Setup"
-HREF="setup-sh-hs7729pci.html"><LINK
-REL="NEXT"
-TITLE="SH4/CQ7750 Hardware Setup"
-HREF="setup-sh-cq7750.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sh-hs7729pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sh-cq7750.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SH-SE77X9">SH3/SE77x9 Hardware Setup</H1
-><P
->Please see the RedBoot manual for instructions on how to prepare
-the board for use with eCos.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sh-hs7729pci.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sh-cq7750.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SH3/HS7729PCI Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SH4/CQ7750 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sparclite-sim.html b/doc/html/user-guide/setup-sparclite-sim.html
deleted file mode 100644 (file)
index 2d81548..0000000
+++ /dev/null
@@ -1,201 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SPARClite Architectural Simulator Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SPARClite Hardware Setup"
-HREF="setup-sparclite-sleb.html"><LINK
-REL="NEXT"
-TITLE="ARM PID Hardware Setup"
-HREF="setup-arm-pid.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sparclite-sleb.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-arm-pid.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SPARCLITE-SIM">SPARClite Architectural Simulator Setup</H1
-><P
->The ESA SPARClite simulator is an architectural simulator
-which implements all the features of the SPARClite needed to run
-eCos. The current implementation provides accurate simulation of
-the instruction set, interrupt controller, and timers, as well as
-having generic support for diagnostic output and exceptions.</P
-><P
->Note that the ESA SPARClite simulator is unsupported, but
-is included in the release as a convenience.</P
-><P
->To simplify connection to the simulator, you are advised to
-create a GDB macro by putting the following code in your personal
-GDB start-up file (gdb.ini on Windows and .gdbinit on UNIX).</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->define ssim   
- target sim -nfp -sparclite -dumbio   
- rbreak cyg_test_exit   
- rbreak cyg_assert_fail  
-end</PRE
-></TD
-></TR
-></TABLE
-><P
->You can then connect to the simulator by invoking the command <B
-CLASS="COMMAND"
->ssim</B
-> on
-the command line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) ssim</PRE
-></TD
-></TR
-></TABLE
-><P
->You can achieve the same effect by typing out the macro&#8217;s
-content on the command line if necessary.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sparclite-sleb.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-arm-pid.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SPARClite Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->ARM PID Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-sparclite-sleb.html b/doc/html/user-guide/setup-sparclite-sleb.html
deleted file mode 100644 (file)
index 938609f..0000000
+++ /dev/null
@@ -1,306 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->SPARClite Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="PowerPC Architectural Simulator Setup"
-HREF="setup-ppc-sim.html"><LINK
-REL="NEXT"
-TITLE="SPARClite Architectural Simulator Setup"
-HREF="setup-sparclite-sim.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-ppc-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-sparclite-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SPARCLITE-SLEB">SPARClite Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with a ROM
-which provides GDB support for the Fujitsu SPARClite Evaluation
-Board by way of CygMon<SPAN
-CLASS="PRODUCTNAME"
->. </SPAN
-></P
-><P
->An image of this ROM is also provided at
-         <TT
-CLASS="FILENAME"
->BASE_DIR/loaders/sparclite-sleb/cygmon.bin.</TT
-> The
-ROM is installed in socket IC9 on the evaluation board. Attention
-should be paid to the correct orientation of the ROM during installation.</P
-><P
->The GDB stub allows communication with GDB using a TCP channel
-via the ethernet port at connector J5.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3509">Ethernet Setup</H2
-><P
->The ethernet setup is described in the board&#8217;s manual,
-but here is a recapitulation.</P
-><P
->Set the board&#8217;s ethernet address using SW1 on the
-motherboard:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->          SW1-4 SW1-3 SW1-2 SW1-1    Ethernet Address
-           ----- ----- ----- -----    ----------------
-           OFF   OFF   OFF   OFF     No ethernet, use serial
-           OFF   OFF   OFF    ON     00:00:0E:31:00:01
-           OFF   OFF    ON   OFF     00:00:0E:31:00:02
-           OFF   OFF    ON    ON     00:00:0E:31:00:03
-           OFF    ON   OFF   OFF     00:00:0E:31:00:04
-           OFF    ON   OFF    ON     00:00:0E:31:00:05
-           OFF    ON    ON   OFF     00:00:0E:31:00:06
-           OFF    ON    ON    ON     00:00:0E:31:00:07
-           ON    OFF   OFF   OFF     00:00:0E:31:00:08
-           ON    OFF   OFF    ON     00:00:0E:31:00:09
-           ON    OFF    ON   OFF     00:00:0E:31:00:0A
-           ON    OFF    ON    ON     00:00:0E:31:00:0B
-           ON     ON   OFF   OFF     00:00:0E:31:00:0C
-           ON     ON   OFF    ON     00:00:0E:31:00:0D
-           ON     ON    ON   OFF     00:00:0E:31:00:0E
-           ON     ON    ON    ON     00:00:0E:31:00:0F</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3514">BOOTP/DHCP service on Linux</H3
-><P
->Configure the BOOTP or DHCP server on the network to recognize
-the evaluation board&#8217;s ethernet address so it can assign
-the board an IP address. Below is a sample DHCP server configuration
-from a Linux system (<TT
-CLASS="FILENAME"
->/etc/dhcpd.conf</TT
->).
-It shows a setup for three evaluation boards.</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->#
-# DHCP server configuration.
-#
-allow bootp;
-
-subnet 192.168.1.0 netmask 255.255.255.0 {
-  host mb831evb {
-    hardware ethernet 00:00:0e:31:00:01;
-    fixed-address mb831evb;
-  }
-  host mb832evb {
-    hardware ethernet 00:00:0e:31:00:02;
-    fixed-address mb832evb;
-  }
-  host mb833evb {
-    hardware ethernet 00:00:0e:31:00:03;
-    fixed-address mb833evb;
-  }
-} </PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3519">BOOTP/DHCP boot process</H3
-><P
->Even when configured to use a TCP channel, CygMon will still
-print a boot message to the serial channel. If the BOOTP process
-was successful and an IP address was found, a message &#8220;BOOTP
-found xxx.xxx.xxx.xxx&#8221; will be printed where xxx.xxx.xxx.xxx
-is the IP address assigned by the BOOTP or DHCP server. If the BOOTP
-process fails, a message indicating failure will be printed and
-the serial port will be used as the debug channel.</P
-><P
->Once the board finds an IP address it will respond to ICMP
-echo request packets (ping). This gives a simple means to test the
-health of the board.</P
-><P
->As described in &#8220;Ethernet Setup&#8221; on&nbsp;page&nbsp;72,
-it should now be possible to connect to the SPARClite board from
-within GDB by using the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) target remote &lt;host&#62;:1000</PRE
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3525">Serial Setup</H2
-><P
->The CygMon stubs also allow communication with GDB by way
-of the serial port at connector CON1. The communication parameters
-are fixed at 19200 baud, 8 data bits, no parity bit and 1 stop bit
-(8-N-1). No flow control is employed. Connection to the host computer
-should be made using a null modem cable. A gender changer may also
-be required.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-ppc-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-sparclite-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->PowerPC Architectural Simulator Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->SPARClite Architectural Simulator Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-synth-i386linux.html b/doc/html/user-guide/setup-synth-i386linux.html
deleted file mode 100644 (file)
index 88e6b88..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->i386/Linux Synthetic Target Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="i386 PC Hardware Setup"
-HREF="setup-i386-pc.html"><LINK
-REL="NEXT"
-TITLE="Real-time characterization"
-HREF="real-time-characterization.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-i386-pc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-SYNTH-I386LINUX">i386/Linux Synthetic Target Setup</H1
-><P
->When building for the synthetic Linux target, the resulting
-binaries are native Linux applications with the HAL providing suitable
-bindings between the eCos kernel and the Linux kernel.</P
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
->Please be aware that the current implementation of the Linux
-synthetic target does not allow thread-aware debugging.</P
-></BLOCKQUOTE
-></DIV
-><P
->These Linux applications cannot be run on a Windows system.
-However, it is possible to write a similar HAL emulation for the
-Windows kernel if such a testing target is desired.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4471">Tools</H2
-><P
->For the synthetic target, eCos relies on features not available
-in native compilers earlier than gcc-2.95.1. It also requires version
-2.9.5 or later of the GNU linker. If you have gcc-2.95.1 or later
-and ld version 2.9.5 or later, then you do not need to build new
-tools. eCos does not support earlier versions. You can check the compiler
-version using <B
-CLASS="COMMAND"
->gcc -v</B
-> 
-and the linker version using <B
-CLASS="COMMAND"
->ld
--v</B
->.</P
-><P
->If you have native tools that are sufficiently recent for
-use with eCos, you should be aware that by default eCos assumes
-that the tools <B
-CLASS="COMMAND"
->i686-pc-linux-gnu-gcc</B
->, <B
-CLASS="COMMAND"
->i686-pc-linux-gnu-ar</B
->,
- <B
-CLASS="COMMAND"
->i686-pc-linux-gnu-ld</B
->, and <B
-CLASS="COMMAND"
->i686-pc-linux-gnu-objcopy</B
-> are
-on your system and are the correct versions for use with eCos. But
-instead, you can tell eCos to use your native tools by editing the
-configuration value "Global command prefix" (CYGBLD_GLOBAL_COMMAND_PREFIX)
-in your eCos configuration. If left empty (i.e. set to the empty
-string) eCos will use your native tools when building.</P
-><P
->If you have any difficulties, it is almost certainly easiest
-overall to rebuild the tools as described on: <A
-HREF="http://sources.redhat.com/ecos/getstart.html"
-TARGET="_top"
->http://sources.redhat.com/ecos/getstart.html</A
-></P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-i386-pc.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="real-time-characterization.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->i386 PC Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Real-time characterization</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-tx39-jmr3904.html b/doc/html/user-guide/setup-tx39-jmr3904.html
deleted file mode 100644 (file)
index 87e3f2d..0000000
+++ /dev/null
@@ -1,193 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->TX39 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="AM33 STB Hardware Setup"
-HREF="setup-am33-stb.html"><LINK
-REL="NEXT"
-TITLE="TX39 Architectural Simulator Setup"
-HREF="setup-tx39-sim.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-am33-stb.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-tx39-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-TX39-JMR3904">TX39 Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with a pair
-of ROMs that provide GDB support for
-the Toshiba JMR-TX3904 RISC processor reference board by way of CygMon. </P
-><P
->Images of these ROMs are also provided at <TT
-CLASS="FILENAME"
->BASE_DIR/loaders/tx39-jmr3904/cygmon50.bin</TT
-> and <TT
-CLASS="FILENAME"
->BASE_DIR/loaders/tx39-jmr3904/cygmon66.bin</TT
-> for
-50 MHz and 66 MHz boards respectively. The ROMs are installed to
-sockets IC6 and IC7 on the memory daughterboard according to their
-labels. Attention should be paid to the correct orientation of these
-ROMs during installation.</P
-><P
->The GDB stub allows communication with GDB using the serial
-port (channel C) at connector PJ1. The communication parameters
-are fixed at 38400 baud, 8 data bits, no parity bit, and 1 stop
-bit (8-N-1). No handshaking is employed. Connection to the host
-computer should be made using an RS232C null modem cable.</P
-><P
->CygMon and eCos currently provide support for a 16Mbyte 60ns
-72pin DRAM SIMM fitted to the PJ21 connector. Different size DRAMs
-may require changes in the value stored in the DCCR0 register. This
-value may be found near line 211 in <TT
-CLASS="FILENAME"
->hal/mips/arch/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/vectors.S</TT
->
-in eCos, and near line 99 in
-         <TT
-CLASS="FILENAME"
->libstub/mips/tx39jmr/tx39jmr-power.S</TT
-> in
-CygMon. eCos does not currently use the DRAM for any purpose itself,
-so it is entirely available for application use.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-am33-stb.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-tx39-sim.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->AM33 STB Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->TX39 Architectural Simulator Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-tx39-sim.html b/doc/html/user-guide/setup-tx39-sim.html
deleted file mode 100644 (file)
index 7995a1c..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->TX39 Architectural Simulator Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="TX39 Hardware Setup"
-HREF="setup-tx39-jmr3904.html"><LINK
-REL="NEXT"
-TITLE="TX49 Hardware Setup"
-HREF="setup-tx49-ref4955.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-tx39-jmr3904.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-tx49-ref4955.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-TX39-SIM">TX39 Architectural Simulator Setup</H1
-><P
->The TX39 simulator is an architectural simulator which implements
-all  the features of the Toshiba TX39 needed to run eCos. The current
-implementation provides accurate simulation of the instruction set,
- interrupt controller, and timers, as well as having generic support
-for diagnostic output, serial I/O, and exceptions.</P
-><P
->In this release, you can run the same eCos binaries in the
-simulator that can run on target hardware, if it is built for ROM
-start-up.</P
-><P
->To simplify connection to the simulator, you are advised to
-create a GDB macro by putting the following code in your personal
-GDB start-up file (gdb.ini on Windows and .gdbinit on UNIX).</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->define tsim   
- target sim --board=jmr3904pal --memory-region 0xffff8000,0x900 \ 
-            --memory-region 0xffffe000,0x4 \          
-            --memory-region 0xb2100000,0x4   
- rbreak cyg_test_exit
- rbreak cyg_assert_fail
-end</PRE
-></TD
-></TR
-></TABLE
-><P
->You can then connect to the simulator by invoking the command <B
-CLASS="COMMAND"
->tsim</B
-> on
-the command line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) tsim</PRE
-></TD
-></TR
-></TABLE
-><P
->You can achieve the same effect by typing out the macro&#8217;s
-content on the command line if necessary.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-tx39-jmr3904.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-tx49-ref4955.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->TX39 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->TX49 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-tx49-ref4955.html b/doc/html/user-guide/setup-tx49-ref4955.html
deleted file mode 100644 (file)
index 0836150..0000000
+++ /dev/null
@@ -1,393 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->TX49 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="TX39 Architectural Simulator Setup"
-HREF="setup-tx39-sim.html"><LINK
-REL="NEXT"
-TITLE="VR4300 Hardware Setup"
-HREF="setup-vr4300-vrc4373.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-tx39-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-vr4300-vrc4373.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-TX49-REF4955">TX49 Hardware Setup</H1
-><P
->The eCos installation CD contains a copy of the eCos GDB stubs
-in  SREC format which must be programmed into the board&#8217;s
-FLASH memory.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3296">Preparing the GDB stubs</H2
-><P
->These stub preparation steps are not strictly necessary as
-the eCos distribution ships with pre-compiled stubs in the directory <TT
-CLASS="FILENAME"
->loaders/tx49-ref4955</TT
-> relative
-to the installation root.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3300">Building the GDB stub image with the eCos Configuration Tool</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->                Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the TX49 REF4955 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the stubs package template to build a GDB stub.
-Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos stubs using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-images have the prefix gdb_module.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN3318">Building the GDB stub image with ecosconfig</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->                Make an empty directory to contain the build tree,
-                 and cd into it.</P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new ref4955 stubs </PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->Enter the commands:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-images have the prefix gdb_module.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN3331">Installing GDB stubs into FLASH</H2
-><P
->Boot into the board&#8217;s firmware in little-endian mode:</P
-><P
->Set the switches like this:   </P
-><P
->SW1: 10000000 (first lever up, the rest down)   
-SW2: 10000010</P
-><P
->Connect serial cable on the lower connector, configure terminal
-emulator for 38400, 8-N-1.</P
-><P
->When booting the board, you should get this prompt:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->HCP5 rev 0.9B .    
-HCP5?</PRE
-></TD
-></TR
-></TABLE
-><P
->Select o (option), a (FLASH) and b (boot write). You should
-see this:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Boot ROM Write   
-ROM address-ffffffffbd000000, Boot Bus-[32bit]  
-ID2 0 4 ffffffffa002ad40  
-zzz SS-40000 IV-1 CS-20000 CC-2   
-Flash ROM-[28F640J5], [16bit chip] * 2 * 1
-Block size-00040000  count-64  
-ROM adr ffffffffbd000000-ffffffffbe000000  mask-00fc0000
-Send Srecord file sa=00000000 size=ffffffffffffffff
-ra=fffffffffe000000
-         </PRE
-></TD
-></TR
-></TABLE
-><P
->Now send the stub SREC data down to the board using the terminal
- emulator&#8217;s &#8216;send ASCII&#8217; (or similar)
-functionality. </P
-><P
->Red Hat has experienced some sensitivity to how fast the data
-is written to the board. Under Windows you should configure Minicom
-to use a line delay of 100 milliseconds. Under Linux, use the slow_cat.tcl
- script:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->% cd BASE_DIR/packages/hal/mips/ref4955/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/misc
-% slow_cat.tcl &lt; [path]/gdb_module.srec &#62; /dev/ttyS0</PRE
-></TD
-></TR
-></TABLE
-><P
->Power off the board, and change it to boot the GDB stubs in
-big-endian mode by setting the switches like this:</P
-><P
->SW1: 00000000 (all levers down)   
-SW2: 10001010</P
-><P
->The GDB stubs allow communication with GDB using the serial
-port at connector PJ7A (lower connector). The communication parameters
-are  fixed at 38400 baud, 8 data bits, no parity bit and 1 stop
-bit  (8-N-1). No flow control is employed. Connection to the host
-computer should be made using a straight through serial cable.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-tx39-sim.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-vr4300-vrc4373.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->TX39 Architectural Simulator Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->VR4300 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-v850-cebsa1.html b/doc/html/user-guide/setup-v850-cebsa1.html
deleted file mode 100644 (file)
index 58abfb6..0000000
+++ /dev/null
@@ -1,773 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->NEC CEB-V850/SA1 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="SH4/SE7751 Hardware Setup"
-HREF="setup-sh-se7751.html"><LINK
-REL="NEXT"
-TITLE="NEC CEB-V850/SB1 Hardware Setup"
-HREF="setup-v850-cebsb1.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-sh-se7751.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-v850-cebsb1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-V850-CEBSA1">NEC CEB-V850/SA1 Hardware Setup</H1
-><P
->The CEB-V850 board is fitted with a socketed EPROM. The internal
-Flash of the V850 supplied with the CEB-V850 boards defaults to
-vectoring into this EPROM. A  GDB stub image should be programmed
-into an EPROM fitted to this board, and a pre-built image is provided
-at <TT
-CLASS="FILENAME"
->loaders/v850-ceb_v850/v850sa1/gdb_module.bin </TT
->under
-the root of your eCos installation.</P
-><P
->The EPROM is installed to the socket labelled U7 on the board.
-Attention should be paid to the correct orientation of the EPROM
-during installation. </P
-><P
->When programming an EPROM using the binary image, be careful
-to get the byte order correct. It needs to be little-endian. If
-the EPROM burner software has a hex-editor, check that the first
-few bytes of the image look similar to: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->00000000: 0018 8007 5e02 0000 0000 0000 0000 0000</PRE
-></TD
-></TR
-></TABLE
-><P
->If the byte order is wrong you will see 1800 instead of 0018
-etc. Use the EPROM burner software to make a byte-swap before you
-burn to image to the EPROM. </P
-><P
->If the GDB stub EPROM you burn does not work, try reversing
-the byte-order, even if you think you have it the right way around.
-At least one DOS-based EPROM burner program is known to have the
-byte-order upside down.</P
-><P
->The GDB stub in the EPROM allows communication with GDB using
-the serial port. The communication parameters are fixed at 38400
-baud, 8 data bits, no parity bit and 1 stop bit (8-N-1). No flow
-control is employed. Connection to the host computer should be made
-using a dedicated serial cable as specified in the CEB-V850/SA1
-manual.</P
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4279">Installing the Stubs into ROM</H2
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4281">Preparing the Binaries</H3
-><P
->These two binary preparation steps are not strictly necessary
-as the eCos distribution ships with pre-compiled binaries in the
-directory loaders/v850-ceb_v850 relative to the
-installation root.</P
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN4284">Building the ROM images with the eCos Configuration Tool</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Start with a new document - selecting the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;New</I
-></SPAN
->
- menu item if necessary to do this.</P
-></LI
-><LI
-><P
->Choose the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- menu item, and then select the NEC CEB-V850/SA1 hardware.</P
-></LI
-><LI
-><P
->While still displaying the 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Templates</I
-></SPAN
->
- dialog box, select the &#8220;stubs&#8221; package template
-to build a GDB stub. Click 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->OK</I
-></SPAN
->.</P
-></LI
-><LI
-><P
->Build eCos using 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
->. </P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the  prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT4"
-><H4
-CLASS="SECT4"
-><A
-NAME="AEN4302">Building the ROM images with ecosconfig</H4
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Make an empty directory to contain the build tree,
-and cd into it. </P
-></LI
-><LI
-><P
->To build a GDB stub ROM image, enter the command:
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new ceb-v850 stubs </PRE
-></TD
-></TR
-></TABLE
-></P
-></LI
-><LI
-><P
->Enter the commands: 
-
-<TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree
-$ make</PRE
-></TD
-></TR
-></TABLE
->
- </P
-></LI
-><LI
-><P
->When the build completes, the image files can be found
-in the bin/ subdirectory of the install tree. GDB stub
-ROM images have the prefix &#8220;gdb_module&#8221;.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4315">Installing the Stubs into ROM or FLASH</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
-> Program the binary image file gdb_module.bin
-into ROM or FLASH referring to the instructions of your ROM
-                 programmer. </P
-></LI
-><LI
-><P
-> Plug the ROM/FLASH into the socket as described
-at the beginning of this section.</P
-></LI
-></OL
-></DIV
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN4322">Debugging with the NEC V850 I.C.E.</H2
-><P
->eCos applications may be debugged using the NEC V850 In Circuit
-Emulator (I.C.E.) A PC running Microsoft Windows is required in
-order to run the NEC ICE software and drivers. In addition Red Hat
-have developed a &#8220;libremote&#8221; server application
-named v850ice.exe which is used on the PC connected to the I.C.E.
-in order to allow connections from GDB.</P
-><P
->The I.C.E. must be physically connected to a Windows NT system
-through NEC&quot;s PCI or PC Card interface.  A driver, DLLs,
-and application are provided by NEC to control the I.C.E.</P
-><P
->v850ice is a Cygwin based server that runs on the NT system
-and provides an interface between the gdb client and the I.C.E.
-software. v850-elf-gdb may be run on the Windows NT system or on
-a remote system. v850-elf-gdb communicates with the libremote server
-using the gdb remote protocol over a TCP/IP socket.  v850ice
-communicates with the I.C.E. by calling functions in the NECMSG.DLL provided
-by NEC.</P
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4327">INITIAL SETUP</H3
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Configure the hardware including the I.C.E., SA1 or
-SB1 Option Module, and target board.  Install the interface card
-in the Windows NT system. Reference NEC&quot;s documentation
-for interface installation, jumper settings, etc.</P
-></LI
-><LI
-><P
->Install the Windows NT device driver provided by NEC.</P
-></LI
-><LI
-><P
->Copy the NEC DLLs, MDI application, and other support
-files to a directory on the Windows NT system. The standard location
-is C:\NecTools32. This directory will be referred to as
-the "libremote server directory" in this document. v850ice.exe must
-also be copied to this directory after being built. The required
-files are:  cpu.cfg, Nec.cfg, MDI.EXE, NECMSG.DLL, EX85032.DLL,
-V850E.DLL, IE850.MON, IE850E.MON, and D3037A.800.</P
-></LI
-><LI
-><P
->Make certain the file cpu.cfg contains the line:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CpuOption=SA1</PRE
-></TD
-></TR
-></TABLE
-><P
->if using a V850/SA1 module, or:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->CpuOption=SB1</PRE
-></TD
-></TR
-></TABLE
-><P
->if using a V850/SB1 module.</P
-></LI
-><LI
-><P
->Set the environment variable IEPATH to point to the libremote
-server</P
-><P
->directory.</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4345">BUILD PROCEDURES</H3
-><P
->A pre-built v850ice.exe executable is supplied in the loaders/v850-ceb_v850 directory
-relative to the root of the eCos installation. However the following process
-will allow the rebuilding of this executable if required:</P
-><P
->For this example assume the v850ice libremote tree has been
-copied to a directory named "server".  The directory structure will
-be similar to the following diagram:</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->                server
-                   |
-                 devo
-                 /  \
-           config    libremote
-                      /     \
-                   lib       v850ice</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Build the v850ice source as follows.  Be sure to use the native
-Cygwin compiler tools that were supplied alongside eCos.</P
-><P
->cd server
-mkdir build
-cd build
-../devo/configure --target=v850-elf --host=i686-pc-cygwin
-make</P
-><P
->The resultant libremote server image (v850ice.exe) can be
-found in build/libremote/v850ice.  Copy v850ice.exe
-to the lib remote server directory.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4354">V850ICE.EXE EXECUTION</H3
-><P
->The v850ice command line syntax is:</P
-><P
->v850ice [-d] [-t addr] [port number]</P
-><P
->The optional -d option enables debug output.  The -t option
-is associated with thread debugging - see the "eCos thread debugging"
-section below for details. By default v850ice listens on port 2345
-for an attach request from a gdb client.  A different port number
-may be specified on the command line.</P
-><P
->To run the libremote server:</P
-><P
-></P
-><OL
-TYPE="1"
-><LI
-><P
->Power on the I.C.E. and target board.</P
-></LI
-><LI
-><P
->Open a Cygwin window.</P
-></LI
-><LI
-><P
->Run v850ice.</P
-></LI
-><LI
-><P
->You will see the MDI interface window appear.  In this
-window you should see the "Connected to In-Circuit Emulator" message.
- In the Cygwin window, the libremote server will indicate it is
-ready to accept a gdb client connection with the message "v850ice:
- listening on port 2345."</P
-></LI
-></OL
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4369">V850-ELF-GDB EXECUTION</H3
-><P
->Run the v850-elf-gdb client to debug the V850 target.  It
-is necessary to issue certain configuration commands to the I.C.E.
-software.  These commands may be issued directly in the MDI window
-or they may be issued from the gdb client through the "monitor"
-command.</P
-><P
->On the Cosmo CEB-V850 board, on-chip Flash is mapped at address
-0x0, the on-board EPROM at 0x100000 and the on-board RAM at 0xfc0000.
-Since a stand alone V850 will start executing from address 0x0 on
-reset, it is normal to load either an application or a bootstrap
-loader for Flash at this address. eCos programs may be built to
-boot from Flash or the on-board EPROM. If building for the on-board
-EPROM, it would be expected that the Flash will contain the default
-CEB-V850 flash contents. An ELF format version of the default contents
-may be found in the eCos distribution with the name v850flash.img.</P
-><P
->In stand alone operation, normally the code in this flash image
-would have been programmed into the V850 on the Cosmo board, and
-this would cause it to vector into the on-board EPROM to run the
-application located there. In the case of eCos, this application
-may be a GDB stub ROM application, allowing the further download
-to RAM over serial of actual applications to debug.</P
-><P
->As an example, we shall demonstrate how to use the I.C.E.
-to download the v850flash.img and GDB stub EPROM image using I.C.E.
-emulator memory only, and not requiring any actual programming of
-devices.</P
-><P
->v850-elf-gdb -nw
-(gdb) file v850flash.img
-(gdb) target remote localhost:2345
-(gdb) monitor reset
-(gdb) monitor cpu r=256 a=16
-(gdb) monitor map r=0x100000-L 0x80000
-(gdb) monitor map u=0xfc0000-L 0x40000
-(gdb) monitor pinmask k
-(gdb) monitor step
-(gdb) monitor step
-(gdb) monitor step
-(gdb) monitor step
-(gdb) load
-(gdb) detach
-(gdb) file gdb_module.img
-(gdb) target remote localhost:2345
-(gdb) load
-(gdb) continue</P
-><P
->NOTE: The four "monitor step" commands are only required the
-first time the board is connected to the I.C.E., otherwise the program
-will fail.</P
-><P
->This is because of a limitation of the I.C.E. hardware that
-means that the first time it is used, the "map" commands are not
-acted on and the addresses "0x100000" and "0xfc0000" are not mapped.
-This can be observed using the command "td e-20" in the MDI application&quot;s
-console to display the trace buffer, which will show that the contents
-of address 0x100000 are not valid. Subsequent runs do not require
-the "monitor step" commands.</P
-><P
->It is unusual to load two executable images to a target through
-gdb.  From the example above notice that this is accomplished by
-attaching to the libremote server, loading the flash image, detaching,
-reattaching, and loading the ROM/RAM image. It is more
-normal to build an executable image that can be executed directly.
-In eCos this is achieved by selecting either the ROM or ROMRAM startup
-type, and optionally enable building for the internal FLASH. The
-I.C.E. emulator memory can emulate both the internal FLASH and the
-EPROM, so real hardware programming is not required.</P
-><P
->Upon running this example you will notice that the libremote
-server does not exit upon detecting a detach request, but simply
-begins listening for the next attach request.  To cause v850ice
-to terminate, issue the "monitor quit" or "monitor exit" command
-from the gdb client.  v850ice will then terminate with the next
-detach request.  (You can also enter control-c in the Cygwin/DOS
-window where v850ice is running.)</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4380">MDI INTERFACE VS. GDB INTERFACE</H3
-><P
->If a filename is referenced in an MDI command, whether the
-command is entered in the MDI window or issued from the gdb client
-with the monitor command, the file must reside on the Windows NT
-libremote server system.  When specifying a filename when entering
-a command in the MDI window it is obvious that a server local file
-is being referenced.  When issuing an MDI command from the gdb client, the
-user must remember that the command line is simply passed to the
-I.C.E. software on the server system.  The command is executed by
-the I.C.E. software as though it were entered locally.</P
-><P
->Executable images may be loaded into the V850 target by entering
-the "load" command in the MDI window or with the gdb "load" command.
- If the MDI load command is used, the executable image must be located
-on the server system and must be in S Record format.  If the gdb
-load command is used, the executable image must be located on the
-client system and must be in ELF format.</P
-><P
->Be aware that the gdb client is not aware of debugger commands
-issued from the MDI window.  It is possible to cause the gdb client
-and the I.C.E. software to get out of sync by issuing commands from
-both interfaces during the same debugging session.</P
-></DIV
-><DIV
-CLASS="SECT3"
-><H3
-CLASS="SECT3"
-><A
-NAME="AEN4385">eCos THREAD DEBUGGING</H3
-><P
->eCos and the V850 I.C.E. libremote server have been written
-to work together to allow debugging of eCos threads. This is an
-optional feature, disabled by default because of the overheads trying
-to detect a threaded program involves.</P
-><P
->Obviously thread debugging is not possible for programs with
-"RAM" startup type, as they are expected to operate underneath a
-separate ROM monitor (such as a GDB stub ROM), that itself would
-provide its own thread debugging capabilities over the serial line.
-Thread debugging is relevant only for programs built for Flash, ROM,
-or ROMRAM startup.</P
-><P
->To configure the libremote server to support thread debugging,
-use the command:</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) monitor syscallinfo ADDRESS</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->at the GDB console prompt, where ADDRESS is the address of
-the syscall information structure included in the applications.
-In eCos this has been designed to be located at a consistent address
-for each CPU model (V850/SA1 or V850/SB1). It
-may be determined from an eCos executable using the following command
-at a cygwin bash prompt:</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->v850-elf-nm EXECUTABLE | grep hal_v85x_ice_syscall_info</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->At the current time, this address is 0xfc0400 for a Cosmo
-board fitted with a V850/SA1, or 0xfc0540 for a Cosmo board
-fitted with a V850/SB1.</P
-><P
->So for example, the GDB command for the SB1 would be:</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) monitor syscallinfo 0xfc0540</PRE
-></TD
-></TR
-></TABLE
-></P
-><P
->Given that the syscallinfo address is fixed over all eCos
-executables for a given target, it is possible to define it on the
-libremote command line as well using the "-t" option, for example:</P
-><P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->bash$ v850ice -t 0xfc0400
-v850ice: listening on port 2345</PRE
-></TD
-></TR
-></TABLE
-></P
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-sh-se7751.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-v850-cebsb1.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->SH4/SE7751 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->NEC CEB-V850/SB1 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-v850-cebsb1.html b/doc/html/user-guide/setup-v850-cebsb1.html
deleted file mode 100644 (file)
index 0d8aff5..0000000
+++ /dev/null
@@ -1,160 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->NEC CEB-V850/SB1 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="NEC CEB-V850/SA1 Hardware Setup"
-HREF="setup-v850-cebsa1.html"><LINK
-REL="NEXT"
-TITLE="i386 PC Hardware Setup"
-HREF="setup-i386-pc.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-v850-cebsa1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-i386-pc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-V850-CEBSB1">NEC CEB-V850/SB1 Hardware Setup</H1
-><P
->The instructions for setting up the CEB-V850/SB1
-are virtually identical to those of the CEB-V850/SA1 above.
-The only significant differences are that pre-built loaders are available
-at loaders/v850-ceb_v850/v850sb1 within
-the eCos installation. Binaries supporting boards with both 16MHz
-and 8MHz clock speeds are supplied. Also when building applications,
-or rebuilding the stubs for a V850/SB1 target, then the
-V850 CPU variant must be changed in the CEB-V850 HAL to the SB1.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-v850-cebsa1.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-i386-pc.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->NEC CEB-V850/SA1 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->i386 PC Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-vr4300-vrc4373.html b/doc/html/user-guide/setup-vr4300-vrc4373.html
deleted file mode 100644 (file)
index b225a33..0000000
+++ /dev/null
@@ -1,171 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->VR4300 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="TX49 Hardware Setup"
-HREF="setup-tx49-ref4955.html"><LINK
-REL="NEXT"
-TITLE="VRC4375 Hardware Setup"
-HREF="setup-vr4300-vrc4375.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-tx49-ref4955.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-vr4300-vrc4375.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-VR4300-VRC4373">VR4300 Hardware Setup</H1
-><P
->The eCos Developer&#8217;s Kit package comes with an EPROM
-which provides GDB support for the NEC
-VRC4373 evaluation board. An image of this EPROM is also provided
-at <TT
-CLASS="FILENAME"
->loaders/vr4300-vrc4373/gdbload.bin</TT
-> under
-the root of your eCos installation.</P
-><P
->The EPROM is installed to socket U12 on the board. Attention
-should be paid to the correct orientation of the EPROM during installation.
-Only replace the board&quot;s existing ROM using a proper PLCC
-extraction tool, as the socket would otherwise risk getting damaged. </P
-><P
->The GDB stub in the EPROM allows communication with GDB using
-the serial port at connector J1. The communication parameters are
-fixed at 38400 baud, 8 data bits, no parity bit and 1 stop bit (8-N-1).
-No flow control is employed. Connection to the host computer should
-be made using a straight-through serial cable. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-tx49-ref4955.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-vr4300-vrc4375.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->TX49 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->VRC4375 Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/setup-vr4300-vrc4375.html b/doc/html/user-guide/setup-vr4300-vrc4375.html
deleted file mode 100644 (file)
index 02fed60..0000000
+++ /dev/null
@@ -1,156 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->VRC4375 Hardware Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Target Setup"
-HREF="appendix-target-setup.html"><LINK
-REL="PREVIOUS"
-TITLE="VR4300 Hardware Setup"
-HREF="setup-vr4300-vrc4373.html"><LINK
-REL="NEXT"
-TITLE="Atlas/Malta Hardware Setup"
-HREF="setup-mips-atlasmalta.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="setup-vr4300-vrc4373.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Appendix A. Target Setup</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="setup-mips-atlasmalta.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="SETUP-VR4300-VRC4375">VRC4375 Hardware Setup</H1
-><P
->For information about setting up the VRC4375 to run with RedBoot,
-consult the RedBoot User&quot;s Guide. If using serial debugging,
-the serial line runs at 38400 baud 8-N-1 and should be connected
-to the debug host using the cable supplied with the board.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="setup-vr4300-vrc4373.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="setup-mips-atlasmalta.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->VR4300 Hardware Setup</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="appendix-target-setup.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Atlas/Malta Hardware Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/testing-filters.html b/doc/html/user-guide/testing-filters.html
deleted file mode 100644 (file)
index 523c78b..0000000
+++ /dev/null
@@ -1,205 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Testing Filters</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Running an eCos Test Case"
-HREF="running-an-ecos-test-case.html"><LINK
-REL="PREVIOUS"
-TITLE="Using the command line"
-HREF="using-commandline-testcase.html"><LINK
-REL="NEXT"
-TITLE="Building and Running Sample Applications"
-HREF="building-and-running-sample-appliations.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="using-commandline-testcase.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 12. Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="building-and-running-sample-appliations.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="TESTING-FILTERS">Testing Filters</H1
-><P
->While most test cases today run solely in the target environment,
-some packages may require external testing infrastructure and/or
-feedback from the external environment to do complete testing.</P
-><P
->The serial package is an example of this. The network package
-also contains some tests that require programs to be run on a
-host. See the network <I
-CLASS="CITETITLE"
->Tests and Demonstrations</I
->
-section in the network documentation in the <I
-CLASS="CITETITLE"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Reference
-Guide</I
->. Here we will concentrate on the serial tests since
-these are applicable to more targets.</P
-><P
->Since the serial line is also used for communication with
-GDB, a  filter is inserted in the communication pathway between
-GDB and the serial device which is connected to the hardware target.
-The filter forwards all communication between the two, but also
-listens for special commands embedded in the data stream from the
-target.</P
-><P
->When such a command is seen, the filter stops forwarding data
-to GDB from the target and enters a special mode. In this mode
-the test case running on the target is able to control the filter,
-commanding it to run various tests. While these tests run, GDB is
-isolated from the target.</P
-><P
->As the test completes (or if the filter detects a target crash)
-the communication path between GDB and the hardware target is re-established,
-allowing GDB to resume control.</P
-><P
->In theory, it is possible to extend the filter to provide
-a generic framework for other target-external testing components,
-thus decoupling the testing infrastructure from the (possibly limited)
-communication means provided by the target (serial, JTAG, Ethernet,
-etc). </P
-><P
->Another advantage is that the host tools do not need to
-know about the various testing environments required by the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-packages, since all contact with the target continues to happen
-via GDB.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="using-commandline-testcase.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="building-and-running-sample-appliations.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Using the command line</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="running-an-ecos-test-case.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Building and Running Sample Applications</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/the-ecos-configuration-tool.html b/doc/html/user-guide/the-ecos-configuration-tool.html
deleted file mode 100644 (file)
index 8dcc5d0..0000000
+++ /dev/null
@@ -1,203 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->The eCos Configuration Tool</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="More Features &#8212; Clocks and Alarm
-Handlers"
-HREF="clocks-and-alarm-handlers.html"><LINK
-REL="NEXT"
-TITLE="Getting Started"
-HREF="config-tool-getting-started.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="clocks-and-alarm-handlers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="THE-ECOS-CONFIGURATION-TOOL"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->IV. The eCos Configuration Tool</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->15. <A
-HREF="config-tool-getting-started.html"
->Getting Started</A
-></DT
-><DT
->16. <A
-HREF="config-tool-getting-help.html"
->Getting Help</A
-></DT
-><DT
->17. <A
-HREF="config-tool-customization.html"
->Customization</A
-></DT
-><DT
->18. <A
-HREF="config-tool-screen-layout.html"
->Screen Layout</A
-></DT
-><DT
->19. <A
-HREF="config-tool-updating-configuration.html"
->Updating the Configuration</A
-></DT
-><DT
->20. <A
-HREF="config-tool-searching.html"
->Searching</A
-></DT
-><DT
->21. <A
-HREF="config-tool-building.html"
->Building</A
-></DT
-><DT
->22. <A
-HREF="config-tool-test-execution.html"
->Execution</A
-></DT
-><DT
->23. <A
-HREF="config-tool-creating-a-shell.html"
->Creating a Shell</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="clocks-and-alarm-handlers.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="config-tool-getting-started.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->More Features &#8212; Clocks and Alarm
-Handlers</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Getting Started</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-installation-linux.html b/doc/html/user-guide/user-guide-installation-linux.html
deleted file mode 100644 (file)
index ab828d9..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Installation on Linux</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Installing eCos"
-HREF="user-guide-installation.html"><LINK
-REL="PREVIOUS"
-TITLE="System Requirements"
-HREF="user-guide-installation-requirements.html"><LINK
-REL="NEXT"
-TITLE="Installation on Windows"
-HREF="user-guide-installation-windows.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-requirements.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-windows.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="USER-GUIDE-INSTALLATION-LINUX">Chapter 7. Installation on Linux</H1
-><P
->Full instructions for the <A
-HREF="http://sources.redhat.com/ecos/getstart.html"
-TARGET="_top"
->downloading and
-installation of eCos</A
-> on Linux hosts are provided on the eCos
-website.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-installation-requirements.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-installation-windows.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->System Requirements</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Installation on Windows</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-installation-requirements.html b/doc/html/user-guide/user-guide-installation-requirements.html
deleted file mode 100644 (file)
index d4964ff..0000000
+++ /dev/null
@@ -1,198 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->System Requirements</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Installing eCos"
-HREF="user-guide-installation.html"><LINK
-REL="PREVIOUS"
-TITLE="Installing eCos"
-HREF="user-guide-installation.html"><LINK
-REL="NEXT"
-TITLE="Installation on Linux"
-HREF="user-guide-installation-linux.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="USER-GUIDE-INSTALLATION-REQUIREMENTS">Chapter 6. System Requirements</H1
-><P
-></P
-><UL
-><LI
-><P
->Standard Intel architecture PC running
- Linux (tested on recent Red Hat, SuSE and Debian distributions),
- Microsoft Windows NT (no earlier than 4.0 + SP6a), Windows 2000 and
- Windows XP. Linux distributions from other vendors may also work, but
- are currently untested. </P
-></LI
-><LI
-><P
->Enough  disk space for the installed
-distribution. The <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> installation process
-will detail the various components of <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-and the compiler toolkit that can be installed, and their disk space
-requirements.</P
-></LI
-><LI
-><P
->64MB of RAM and a 350MHz or faster Pentium processor.</P
-></LI
-></UL
-><P
->If you are downloading the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->
-release distribution from <A
-HREF="http://sources.redhat.com/ecos"
-TARGET="_top"
->sources.redhat.com/ecos</A
->,
-you will also need space to store that image and to compile the
-toolchain and <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from source.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-installation-linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Installing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Installation on Linux</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-installation-target.html b/doc/html/user-guide/user-guide-installation-target.html
deleted file mode 100644 (file)
index 79fb74c..0000000
+++ /dev/null
@@ -1,264 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Target Setup</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Installing eCos"
-HREF="user-guide-installation.html"><LINK
-REL="PREVIOUS"
-TITLE="Installation on Windows"
-HREF="user-guide-installation-windows.html"><LINK
-REL="NEXT"
-TITLE="Connecting Via Ethernet"
-HREF="connecting-target-ethernet.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-windows.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="connecting-target-ethernet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="USER-GUIDE-INSTALLATION-TARGET">Chapter 9. Target Setup</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
-><A
-HREF="user-guide-installation-target.html#CONNECTING-TARGET-SERIAL"
->Connecting Via Serial Line</A
-></DT
-><DT
-><A
-HREF="connecting-target-ethernet.html"
->Connecting Via Ethernet</A
-></DT
-><DT
-><A
-HREF="connecting-target-sim.html"
->Using A Simulator Target</A
-></DT
-><DT
-><A
-HREF="connecting-target-synth.html"
->Using A Synthetic Target</A
-></DT
-></DL
-></DIV
-><P
->While <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> supports a variety of
-targets, communication with all the targets happens in one of four
-ways. These are described in general below. Any details or variations
-from these descriptions will be found in the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> documentation for a specific target,
-in the appendix.</P
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="CONNECTING-TARGET-SERIAL">Connecting Via Serial Line</H1
-><P
->Most targets will have RedBoot or GDB Stubs installed.
-These normally waits for GDB to connect at 38400 baud, using 8 data
-bit, no parity bit and 1 stop-bit and no hardware flow control. Check
-the documentation for your target to ensure it uses this speed. If not,
-adjust the following instructions accordingly.</P
-><P
->The following instructions depend on your having selected
-the appropriate serial port on the host. That is, the serial port
-which connects to the target's (primary) serial port. On
-Linux this could be <TT
-CLASS="FILENAME"
->/dev/ttyS0</TT
->,
-while the same port on Windows would be named COM1.
-Substitute the proper serial port name in the below.</P
-><P
->Connect to the target by issuing the following commands in
-GDB console mode:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) set remotebaud 38400    
-(gdb) target remote /dev/ttyS0</PRE
-></TD
-></TR
-></TABLE
-><P
->In Insight, connect by opening the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->File-&#62;Target
-Settings</I
-></SPAN
-> window and enter:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Target: Remote/Serial     
-Baud Rate: 38400     
-Port: /dev/ttyS0</PRE
-></TD
-></TR
-></TABLE
-><P
->Set other options according to preference, close the window
-and select 
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Run-&#62;Connect to target</I
-></SPAN
->.</P
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-installation-windows.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="connecting-target-ethernet.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Installation on Windows</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Connecting Via Ethernet</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-installation-windows.html b/doc/html/user-guide/user-guide-installation-windows.html
deleted file mode 100644 (file)
index ecca316..0000000
+++ /dev/null
@@ -1,158 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Installation on Windows</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Installing eCos"
-HREF="user-guide-installation.html"><LINK
-REL="PREVIOUS"
-TITLE="Installation on Linux"
-HREF="user-guide-installation-linux.html"><LINK
-REL="NEXT"
-TITLE="Target Setup"
-HREF="user-guide-installation-target.html"></HEAD
-><BODY
-CLASS="CHAPTER"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="CHAPTER"
-><H1
-><A
-NAME="USER-GUIDE-INSTALLATION-WINDOWS">Chapter 8. Installation on Windows</H1
-><P
->Full instructions for the <A
-HREF="http://sources.redhat.com/ecos/getstart.html"
-TARGET="_top"
->downloading and
-installation of eCos</A
-> on Windows hosts are provided on the
-eCos website.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="user-guide-installation-linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-installation-target.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Installation on Linux</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="user-guide-installation.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Target Setup</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-installation.html b/doc/html/user-guide/user-guide-installation.html
deleted file mode 100644 (file)
index 20f8a45..0000000
+++ /dev/null
@@ -1,179 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Installing eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Documentation Roadmap"
-HREF="documentation-roadmap.html"><LINK
-REL="NEXT"
-TITLE="System Requirements"
-HREF="user-guide-installation-requirements.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="documentation-roadmap.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="user-guide-installation-requirements.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="USER-GUIDE-INSTALLATION"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->II. Installing <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->6. <A
-HREF="user-guide-installation-requirements.html"
->System Requirements</A
-></DT
-><DT
->7. <A
-HREF="user-guide-installation-linux.html"
->Installation on Linux</A
-></DT
-><DT
->8. <A
-HREF="user-guide-installation-windows.html"
->Installation on Windows</A
-></DT
-><DT
->9. <A
-HREF="user-guide-installation-target.html"
->Target Setup</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="documentation-roadmap.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="user-guide-installation-requirements.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Documentation Roadmap</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->System Requirements</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-introduction.html b/doc/html/user-guide/user-guide-introduction.html
deleted file mode 100644 (file)
index a8eb774..0000000
+++ /dev/null
@@ -1,187 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Introduction</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="NEXT"
-TITLE="Key Features"
-HREF="ecos-key-features.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="ecos-key-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="USER-GUIDE-INTRODUCTION"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->I. Introduction</H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->1. <A
-HREF="ecos-key-features.html"
->Key Features</A
-></DT
-><DT
->2. <A
-HREF="ecos-overview.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Overview</A
-></DT
-><DT
->3. <A
-HREF="ecos-licensing.html"
-><SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Licence Overview</A
-></DT
-><DT
->4. <A
-HREF="notation-and-conventions.html"
->Notation and Conventions</A
-></DT
-><DT
->5. <A
-HREF="documentation-roadmap.html"
->Documentation Roadmap</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="ecos-key-features.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->eCos User Guide</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Key Features</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/user-guide-programming.html b/doc/html/user-guide/user-guide-programming.html
deleted file mode 100644 (file)
index 1057b28..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Programming With eCos</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="PREVIOUS"
-TITLE="Using A Synthetic Target"
-HREF="connecting-target-synth.html"><LINK
-REL="NEXT"
-TITLE="Programming With eCos"
-HREF="programming-with-ecos.html"></HEAD
-><BODY
-CLASS="PART"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="connecting-target-synth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
-></TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="programming-with-ecos.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="PART"
-><A
-NAME="USER-GUIDE-PROGRAMMING"><DIV
-CLASS="TITLEPAGE"
-><H1
-CLASS="TITLE"
->III. Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></H1
-><DIV
-CLASS="TOC"
-><DL
-><DT
-><B
->Table of Contents</B
-></DT
-><DT
->10. <A
-HREF="programming-with-ecos.html"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></A
-></DT
-><DT
->11. <A
-HREF="configuring-and-building-ecos-from-source.html"
->Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</A
-></DT
-><DT
->12. <A
-HREF="running-an-ecos-test-case.html"
->Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</A
-></DT
-><DT
->13. <A
-HREF="building-and-running-sample-appliations.html"
->Building and Running Sample Applications</A
-></DT
-><DT
->14. <A
-HREF="clocks-and-alarm-handlers.html"
->More Features &#8212; Clocks and Alarm
-Handlers</A
-></DT
-></DL
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="connecting-target-synth.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="programming-with-ecos.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Using A Synthetic Target</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
->&nbsp;</TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Programming With <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-></TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/using-commandline-testcase.html b/doc/html/user-guide/using-commandline-testcase.html
deleted file mode 100644 (file)
index ab5dd47..0000000
+++ /dev/null
@@ -1,397 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Using the command line</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Running an eCos Test Case"
-HREF="running-an-ecos-test-case.html"><LINK
-REL="PREVIOUS"
-TITLE="Running an eCos Test Case"
-HREF="running-an-ecos-test-case.html"><LINK
-REL="NEXT"
-TITLE="Testing Filters"
-HREF="testing-filters.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="running-an-ecos-test-case.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 12. Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="testing-filters.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="USING-COMMANDLINE-TESTCASE">Using the command line</H1
-><P
->Start a command shell (such as a Cygwin shell window in Windows)
-with the environment variables set as described in the toolchain
-documentation.  Change to the directory in which you set up your build
-tree, and invoke  GDB on the test
-program.</P
-><P
->To run the bin_sem0 test (which will
-test the kernel for the correct creation and destruction of binary
-semaphores) type: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ <TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gdb -nw install/tests/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/tests/bin_sem0</PRE
-></TD
-></TR
-></TABLE
-><P
->You should see output similar to the following in the command
-window:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->GNU gdb THIS-GDB-VERSION
-Copyright 2001 Free Software Foundation, Inc.
-GDB is free software, covered by the GNU General Public License, and you are
-welcome to change it and/or distribute copies of it under certain conditions.
-Type "show copying" to see the conditions.
-There is absolutely no warranty for GDB.  Type "show warranty" for details.
-This GDB was configured as "--host=THIS-HOST --target=THIS-TARGET".
-(gdb)</PRE
-></TD
-></TR
-></TABLE
-><P
->If you are trying to run a synthetic target test on Linux, skip the following connection and download
-steps. Otherwise, connect to the target by typing: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) set remotebaud 38400
-(gdb) target remote /dev/ttyS0</PRE
-></TD
-></TR
-></TABLE
-><P
->on Linux or</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) set remotebaud 38400
-(gdb) target remote com1</PRE
-></TD
-></TR
-></TABLE
-><P
->on Windows or</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) target sim</PRE
-></TD
-></TR
-></TABLE
-><P
->to use a simulator in either host O/S.</P
-><P
->Check the documentation for the target board for the actual baud rate
-to use when connecting to real targets.</P
-><P
->You will see output similar to the following: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Remote debugging using /dev/ttyS1
-0x0000d50c in ?? ()
-    at <TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/kernel/<TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->/src/common/kapi.cxx:345
-
-Current language:  auto; currently c++
-(gdb) </PRE
-></TD
-></TR
-></TABLE
-><P
->Or if you are using the simulator:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Connected to the simulator.
-(gdb)</PRE
-></TD
-></TR
-></TABLE
-><P
->Now download the program to the target with</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) load</PRE
-></TD
-></TR
-></TABLE
-><P
->You should see output similar to the following on your screen: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Loading section .text, size 0x4b04 lma 0x108000
-Loading section .rodata, size 0x738 lma 0x10cb08
-Loading section .data, size 0x1c0 lma 0x10d240
-Start address 0x108000, load size 21500
-Transfer rate: 24571 bits/sec, 311 bytes/write.
-(gdb)</PRE
-></TD
-></TR
-></TABLE
-><P
->You are now ready to run your program. If you type: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->(gdb) continue</PRE
-></TD
-></TR
-></TABLE
-><P
->you will see output similar to the following: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->Continuing.
-PASS:&lt;Binary Semaphore 0 OK&gt;
-EXIT:&lt;done&gt;</PRE
-></TD
-></TR
-></TABLE
-><DIV
-CLASS="NOTE"
-><BLOCKQUOTE
-CLASS="NOTE"
-><P
-><B
->Note: </B
-> If you are using a simulator or the synthetic target rather
-           than real hardware, you must use the GDB command
-           &#8220;run&#8221; rather than &#8220;continue&#8221; to
-           start your program.</P
-></BLOCKQUOTE
-></DIV
-><P
->You can terminate your GDB session with
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Control+C</I
-></SPAN
->, otherwise it will sit in the
-&#8220;idle&#8221; thread and use up CPU time. This is not a problem
-with real targets, but may have undesirable effects in simulated or
-synthetic targets. Type <B
-CLASS="COMMAND"
->quit</B
-> and you are
-done. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="running-an-ecos-test-case.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="testing-filters.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="running-an-ecos-test-case.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Testing Filters</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/using-configtool-windows-linux.html b/doc/html/user-guide/using-configtool-windows-linux.html
deleted file mode 100644 (file)
index ba6ba08..0000000
+++ /dev/null
@@ -1,512 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Configuration Tool on Windows and Linux Quick Start</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Configuring and Building eCos from Source"
-HREF="configuring-and-building-ecos-from-source.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuring and Building eCos from Source"
-HREF="configuring-and-building-ecos-from-source.html"><LINK
-REL="NEXT"
-TITLE="Ecosconfig on Windows and Linux Quick Start"
-HREF="using-ecosconfig-on-linux.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="configuring-and-building-ecos-from-source.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="using-ecosconfig-on-linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="USING-CONFIGTOOL-WINDOWS-LINUX">Configuration Tool on Windows and Linux Quick Start</H1
-><P
-> 
-
-Note that the use of the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->
-is described in detail in <A
-HREF="the-ecos-configuration-tool.html"
->Part IV in <I
->eCos User Guide</I
-></A
->.</P
-><P
->The <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> (see <A
-HREF="using-configtool-windows-linux.html#PROGRAMMING-FIGURE-CONFIGURATION-TOOL"
->Figure 11-1</A
->)
-has five main elements: the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->configuration window</I
-></SPAN
->,
-the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->conflicts window</I
-></SPAN
->,
-the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->properties window</I
-></SPAN
->, the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->short
-description window</I
-></SPAN
->,
-and the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->output window</I
-></SPAN
->.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="PROGRAMMING-FIGURE-CONFIGURATION-TOOL"><P
-><B
->Figure 11-1. Configuration Tool</B
-></P
-><P
-><IMG
-SRC="pix/config-f1.png"></P
-></DIV
-><P
->Start by opening the templates window via <SPAN
-CLASS="GUIMENUITEM"
->Build-&#62;Templates</SPAN
->.
-Select the desired target (see <A
-HREF="using-configtool-windows-linux.html#FIGURE-TEMPLATE-SELECTION"
->Figure 11-2</A
->).</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-TEMPLATE-SELECTION"><P
-><B
->Figure 11-2. Template selection</B
-></P
-><P
-><IMG
-SRC="pix/templates01.png"></P
-></DIV
-><P
->Make sure that the configuration is correct for the target
-in terms of endianness, CPU model, Startup type, etc. (see <A
-HREF="using-configtool-windows-linux.html#CONFIGURING-FOR-THE-TARGET"
->Figure 11-3</A
->).</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="CONFIGURING-FOR-THE-TARGET"><P
-><B
->Figure 11-3. Configuring
-for the target</B
-></P
-><P
-><IMG
-SRC="pix/ARMStartup01.png"></P
-></DIV
-><P
->Next, select the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build-&#62;Library</I
-></SPAN
-> menu
-item to start building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> (see <A
-HREF="using-configtool-windows-linux.html#FIGURE-SELECTING-THE-BUILD-LIBRARY-MENU-ITEM"
->Figure 11-4</A
->).  The
-application will configure the sources, prepare a build tree, and
-build the <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> library, which contains the
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel and other packages.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-SELECTING-THE-BUILD-LIBRARY-MENU-ITEM"><P
-><B
->Figure 11-4. Selecting the Build Library menu item</B
-></P
-><P
-><IMG
-SRC="pix/build-lib01.png"></P
-></DIV
-><P
->The <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Save As</I
-></SPAN
-> dialog box will appear, asking
-you to specify a directory in which to place your save file. You
-can use the default, but it is a good idea to make a subdirectory,
-called <TT
-CLASS="FILENAME"
->ecos-work</TT
-> for example. </P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN607"><P
-><B
->Figure 11-5. Save file dialog</B
-></P
-><P
-><IMG
-SRC="pix/save-as-dialog.png"></P
-></DIV
-><P
->The first time you build an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> library for a specific
-architecture, the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> may prompt
-you for the location of the appropriate build tools (including
-<B
-CLASS="COMMAND"
->make</B
-> and
-<B
-CLASS="COMMAND"
-><TT
-CLASS="REPLACEABLE"
-><I
->TARGET-</I
-></TT
->gcc</B
->) using a
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build Tools</I
-></SPAN
-> dialog box (as shown in <A
-HREF="using-configtool-windows-linux.html#FIGURE-BUILD-TOOLS-DIALOG"
->Figure 11-6</A
->). You can select a location from
-the drop down list, browse to the directory using the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Browse</I
-></SPAN
-> button, or type in the location of the
-build tools manually.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-BUILD-TOOLS-DIALOG"><P
-><B
->Figure 11-6. Build tools dialog</B
-></P
-><P
-><IMG
-SRC="pix/build-tools2.png"></P
-></DIV
-><P
->The <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
-> may also prompt you
-for the location of the user tools (such as <B
-CLASS="COMMAND"
->cat</B
-> and
-<B
-CLASS="COMMAND"
->ls</B
->) using a <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->User Tools</I
-></SPAN
-> dialog
-box (as shown in <A
-HREF="using-configtool-windows-linux.html#FIGURE-USER-TOOLS-DIALOG"
->Figure 11-7</A
->). As with
-the <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build Tools</I
-></SPAN
-> dialog, you can select a location
-from the drop down list, browse to the directory using the
-<SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Browse</I
-></SPAN
-> button, or type in the location of the
-user tools manually. Note that on Linux, this will often be
-unnecessary as the tools will already be on your PATH.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="FIGURE-USER-TOOLS-DIALOG"><P
-><B
->Figure 11-7. User tools dialog</B
-></P
-><P
-><IMG
-SRC="pix/user-tools-dialog.png"></P
-></DIV
-><P
->When the tool locations have been entered, the <SPAN
-CLASS="APPLICATION"
->Configuration
-Tool</SPAN
-> will configure the sources, prepare a build tree,
-and build the <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> library, which contains
-the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel and other packages.</P
-><P
->The output from the configuration process and the building
-of <TT
-CLASS="FILENAME"
->libtarget.a</TT
-> will be shown in the output
-window.</P
-><P
->Once the build process has finished you will have a kernel
-with other packages in <TT
-CLASS="FILENAME"
->libtarget.a</TT
->. You should
-now build the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> tests for your particular configuration. </P
-><P
->You can do this by selecting <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Build</I
-></SPAN
-> -&#62; <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tests</I
-></SPAN
->.
-Notice that you could have selected <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Tests</I
-></SPAN
-> instead
-of <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->Library</I
-></SPAN
-> in the earlier step and it would
-have built <SPAN
-CLASS="emphasis"
-><I
-CLASS="EMPHASIS"
->both</I
-></SPAN
-> the library and the tests,
-but this would increase the build time substantially, and if you
-do not need to build the tests it is unnecessary.</P
-><DIV
-CLASS="FIGURE"
-><A
-NAME="AEN648"><P
-><B
->Figure 11-8. Selecting the Build Tests menu item</B
-></P
-><P
-><IMG
-SRC="pix/build-tests01.png"></P
-></DIV
-><P
-><A
-HREF="running-an-ecos-test-case.html"
->Chapter 12</A
-> will guide you through running one
-           of the test cases you just built on the selected target,
-           using GDB. </P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="configuring-and-building-ecos-from-source.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="using-ecosconfig-on-linux.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="configuring-and-building-ecos-from-source.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Ecosconfig on Windows and Linux Quick Start</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/using-ecosconfig-on-linux.html b/doc/html/user-guide/using-ecosconfig-on-linux.html
deleted file mode 100644 (file)
index 714114b..0000000
+++ /dev/null
@@ -1,547 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Ecosconfig on Windows and Linux Quick Start</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Configuring and Building eCos from Source"
-HREF="configuring-and-building-ecos-from-source.html"><LINK
-REL="PREVIOUS"
-TITLE="Configuration Tool on Windows and Linux Quick Start"
-HREF="using-configtool-windows-linux.html"><LINK
-REL="NEXT"
-TITLE="Running an eCos Test Case"
-HREF="running-an-ecos-test-case.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="using-configtool-windows-linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 11. Configuring and Building <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> from Source</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="running-an-ecos-test-case.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="USING-ECOSCONFIG-ON-LINUX">Ecosconfig on Windows and Linux Quick Start</H1
-><P
->As an alternative to using the graphical
-<SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->, it is still possible to
-configure and build a kernel by editing a configuration file manually
-and using the <B
-CLASS="COMMAND"
->ecosconfig</B
-> command. </P
-><P
->Manual configuration and the <B
-CLASS="COMMAND"
->ecosconfig</B
-> command are
-described in detail in <A
-HREF="manual-configuration.html"
->Chapter 28</A
->.</P
-><P
->To use the <B
-CLASS="COMMAND"
->ecosconfig</B
-> command you need to start a
-shell. In Windows you need to start a
-<SPAN
-CLASS="PRODUCTNAME"
->CygWin</SPAN
-> <B
-CLASS="COMMAND"
->bash</B
-> shell, not a
-DOS command line.</P
-><P
->The following instructions assume that the
-<TT
-CLASS="LITERAL"
->PATH</TT
-> and <TT
-CLASS="LITERAL"
->ECOS_REPOSITORY</TT
->
-environment variables have been setup correctly as described in <A
-HREF="user-guide-installation-linux.html"
->Chapter 7</A
->.  They also assume Linux
-usage but equally well apply to Windows running Cygwin.</P
-><P
->Before invoking <B
-CLASS="COMMAND"
->ecosconfig</B
-> you need to
-choose a directory in which to work. For the purposes of this tutorial,
-the default path will be <TT
-CLASS="FILENAME"
-><TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work</TT
->.
-Create this directory and change to it by typing: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ mkdir <TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work
-$ cd <TT
-CLASS="REPLACEABLE"
-><I
->BASE_DIR</I
-></TT
->/ecos-work</PRE
-></TD
-></TR
-></TABLE
-><P
->To see what options can be used with <B
-CLASS="COMMAND"
->ecosconfig</B
->,
-type: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig --help</PRE
-></TD
-></TR
-></TABLE
-><P
->The available packages, targets and templates may be listed
-as follows:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig list</PRE
-></TD
-></TR
-></TABLE
-><P
->Here is sample output from <B
-CLASS="COMMAND"
->ecosconfig</B
-> showing
-the usage message.</P
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN683"><P
-><B
->Example 11-1. Getting  help from ecosconfig</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig --help
-Usage: ecosconfig [ qualifier ... ] [ command ]
-  commands are:
-    list                                       : list repository contents
-    new TARGET [ TEMPLATE [ VERSION ] ]        : create a configuration
-    target TARGET                              : change the target hardware
-    template TEMPLATE [ VERSION ]              : change the template
-    add PACKAGE [ PACKAGE ... ]                : add package(s)
-    remove PACKAGE [ PACKAGE ... ]             : remove package(s)
-    version VERSION PACKAGE [ PACKAGE ... ]    : change version of package(s)
-    export FILE                                : export minimal config info
-    import FILE                                : import additional config info
-    check                                      : check the configuration
-    resolve                                    : resolve conflicts
-    tree                                       : create a build tree
-  qualifiers are:
-    --config=FILE                              : the configuration file
-    --prefix=DIRECTORY                         : the install prefix
-    --srcdir=DIRECTORY                         : the source repository
-    --no-resolve                               : disable conflict
-resolution
-    --version                                  : show version and copyright
-$</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="EXAMPLE"
-><A
-NAME="AEN686"><P
-><B
->Example 11-2. ecosconfig output &#8212; 
-list of available packages, targets and templates</B
-></P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig list
-Package CYGPKG_CYGMON (CygMon support via eCos): 
-aliases: cygmon 
-versions: &#60;version&#62; 
-Package CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1742 (Wallclock driver for Dallas 1742): 
-aliases: devices_wallclock_ds1742 device_wallclock_ds1742 
-versions: &#60;version&#62; 
-Package CYGPKG_DEVICES_WALLCLOCK_SH3 (Wallclock driver for SH3 RTC module): 
-aliases: devices_wallclock_sh3 device_wallclock_sh3 
-versions: &#60;version&#62; 
-Package CYGPKG_DEVICES_WATCHDOG_ARM_AEB (Watchdog driver for ARM/AEB board): 
-aliases: devices_watchdog_aeb device_watchdog_aeb 
-versions: &#60;version&#62; 
-Package CYGPKG_DEVICES_WATCHDOG_ARM_EBSA285 (Watchdog driver for ARM/EBSA285 board): 
-aliases: devices_watchdog_ebsa285 device_watchdog_ebsa285 
-versions: &#60;version&#62; 
-&#8230;</PRE
-></TD
-></TR
-></TABLE
-></DIV
-><DIV
-CLASS="SECT2"
-><H2
-CLASS="SECT2"
-><A
-NAME="AEN689">Selecting a  Target</H2
-><P
->To configure for a listed target, type: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new &lt;target&#62;</PRE
-></TD
-></TR
-></TABLE
-><P
->For example, to configure for the ARM PID development board,
-type: </P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig new pid</PRE
-></TD
-></TR
-></TABLE
-><P
->You can then edit the generated file,
-<TT
-CLASS="FILENAME"
->ecos.ecc</TT
->, setting the options as required for the
-target (endianess, CPU model, Startup type, etc.).  For detailed
-information about how to edit the <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> file,
-see the <I
-CLASS="CITETITLE"
->CDL Writer's Guide</I
-> and <A
-HREF="editing-an-ecos-savefile.html"
->the Section called <I
->Editing an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Savefile</I
-> in Chapter 28</A
->.</P
-><P
->Create a build tree for the configured target by typing:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig tree</PRE
-></TD
-></TR
-></TABLE
-><P
->If there are any problem with the configuration,
-<B
-CLASS="COMMAND"
->ecosconfig</B
-> will tell you. The most likely cause of
-this is mistakes when editing the <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> file.
-You can check whether the configuration you have made is correct,
-without building the tree with the following command:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig check</PRE
-></TD
-></TR
-></TABLE
-><P
->If this reports any conflicts you can get
-<B
-CLASS="COMMAND"
->ecosconfig</B
-> to try and resolve them itself by typing:</P
-><TABLE
-BORDER="5"
-BGCOLOR="#E0E0F0"
-WIDTH="70%"
-><TR
-><TD
-><PRE
-CLASS="PROGRAMLISTING"
->$ ecosconfig resolve</PRE
-></TD
-></TR
-></TABLE
-><P
->See <A
-HREF="conflicts-and-constraints.html"
->the Section called <I
->Conflicts and constraints</I
-> in Chapter 28</A
-> for more details.</P
-><P
->You can now run the command <B
-CLASS="COMMAND"
->make</B
-> or <B
-CLASS="COMMAND"
->make
-tests</B
->, after which you will be at the same point you
-would be after running the <SPAN
-CLASS="APPLICATION"
->Configuration Tool</SPAN
->
-&#8212; you can start developing your own applications,
-following the steps in <A
-HREF="building-and-running-sample-appliations.html"
->Chapter 13</A
->. </P
-><P
->The procedure shown above allows you to do very coarse-grained
-configuration of the <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> kernel: you can select which packages
-to include in your kernel, and give target and start-up options.
-But you cannot select components within a package, or set the very
-fine-grained options. </P
-><P
->To select fine-grained configuration options you will need to
-edit the configuration file <TT
-CLASS="FILENAME"
->ecos.ecc</TT
-> in the
-current directory and regenerate the build tree.</P
-><DIV
-CLASS="CAUTION"
-><P
-></P
-><TABLE
-CLASS="CAUTION"
-BORDER="1"
-WIDTH="100%"
-><TR
-><TD
-ALIGN="CENTER"
-><B
->Caution</B
-></TD
-></TR
-><TR
-><TD
-ALIGN="LEFT"
-><P
->You should follow the manual configuration process described
-above very carefully, and you should read the comments in each file
-to see when one option depends on other options or packages being
-enabled or disabled. If you do not, you might end up with an inconsistently
-configured kernel which could fail to build or might execute
-incorrectly.</P
-></TD
-></TR
-></TABLE
-></DIV
-></DIV
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="using-configtool-windows-linux.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="running-an-ecos-test-case.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Configuration Tool on Windows and Linux Quick Start</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="configuring-and-building-ecos-from-source.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Running an <SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> Test Case</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/doc/html/user-guide/version-conventions.html b/doc/html/user-guide/version-conventions.html
deleted file mode 100644 (file)
index 131b7a2..0000000
+++ /dev/null
@@ -1,184 +0,0 @@
-<!-- Copyright (C) 2003 Red Hat, Inc.                                -->
-<!-- This material may be distributed only subject to the terms      -->
-<!-- and conditions set forth in the Open Publication License, v1.0  -->
-<!-- or later (the latest version is presently available at          -->
-<!-- http://www.opencontent.org/openpub/).                           -->
-<!-- Distribution of the work or derivative of the work in any       -->
-<!-- standard (paper) book form is prohibited unless prior           -->
-<!-- permission is obtained from the copyright holder.               -->
-<HTML
-><HEAD
-><TITLE
->Version Conventions</TITLE
-><meta name="MSSmartTagsPreventParsing" content="TRUE">
-<META
-NAME="GENERATOR"
-CONTENT="Modular DocBook HTML Stylesheet Version 1.76b+
-"><LINK
-REL="HOME"
-TITLE="eCos User Guide"
-HREF="ecos-user-guide.html"><LINK
-REL="UP"
-TITLE="Notation and Conventions"
-HREF="notation-and-conventions.html"><LINK
-REL="PREVIOUS"
-TITLE="Directory and File System Conventions"
-HREF="directory-and-file-system-conventions.html"><LINK
-REL="NEXT"
-TITLE="Documentation Roadmap"
-HREF="documentation-roadmap.html"></HEAD
-><BODY
-CLASS="SECT1"
-BGCOLOR="#FFFFFF"
-TEXT="#000000"
-LINK="#0000FF"
-VLINK="#840084"
-ALINK="#0000FF"
-><DIV
-CLASS="NAVHEADER"
-><TABLE
-SUMMARY="Header navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TH
-COLSPAN="3"
-ALIGN="center"
->eCos User Guide</TH
-></TR
-><TR
-><TD
-WIDTH="10%"
-ALIGN="left"
-VALIGN="bottom"
-><A
-HREF="directory-and-file-system-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="80%"
-ALIGN="center"
-VALIGN="bottom"
->Chapter 4. Notation and Conventions</TD
-><TD
-WIDTH="10%"
-ALIGN="right"
-VALIGN="bottom"
-><A
-HREF="documentation-roadmap.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-></TABLE
-><HR
-ALIGN="LEFT"
-WIDTH="100%"></DIV
-><DIV
-CLASS="SECT1"
-><H1
-CLASS="SECT1"
-><A
-NAME="VERSION-CONVENTIONS">Version Conventions</H1
-><P
->This manual does not refer explicitly to any particular version of
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
->. However, version numbers form part of
-many file path names. In all of these places the version number will
-be shown like this: <TT
-CLASS="REPLACEABLE"
-><I
->&#60;version&#62;</I
-></TT
->.</P
-><P
->If you have used anonymous CVS to check
-<SPAN
-CLASS="PRODUCTNAME"
->eCos</SPAN
-> out of the CVS repository, the version
-number will always be <TT
-CLASS="LITERAL"
->current</TT
->, since that is the
-name of the directory in the repository. When a stable release is made
-this directory name is changed, in the release, to the number of the
-release, for example <TT
-CLASS="LITERAL"
->v2_0</TT
-> or
-<TT
-CLASS="LITERAL"
->v2_1</TT
->.</P
-></DIV
-><DIV
-CLASS="NAVFOOTER"
-><HR
-ALIGN="LEFT"
-WIDTH="100%"><TABLE
-SUMMARY="Footer navigation table"
-WIDTH="100%"
-BORDER="0"
-CELLPADDING="0"
-CELLSPACING="0"
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
-><A
-HREF="directory-and-file-system-conventions.html"
-ACCESSKEY="P"
->Prev</A
-></TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="ecos-user-guide.html"
-ACCESSKEY="H"
->Home</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
-><A
-HREF="documentation-roadmap.html"
-ACCESSKEY="N"
->Next</A
-></TD
-></TR
-><TR
-><TD
-WIDTH="33%"
-ALIGN="left"
-VALIGN="top"
->Directory and File System Conventions</TD
-><TD
-WIDTH="34%"
-ALIGN="center"
-VALIGN="top"
-><A
-HREF="notation-and-conventions.html"
-ACCESSKEY="U"
->Up</A
-></TD
-><TD
-WIDTH="33%"
-ALIGN="right"
-VALIGN="top"
->Documentation Roadmap</TD
-></TR
-></TABLE
-></DIV
-></BODY
-></HTML
->
\ No newline at end of file
diff --git a/packages/devs/eth/arm/innovator/v2_0/src/if_innovator.c b/packages/devs/eth/arm/innovator/v2_0/src/if_innovator.c
deleted file mode 100644 (file)
index 1f7ddd9..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-//==========================================================================
-//
-//      devs/eth/arm/innovator/if_innovator.c
-//
-//      Ethernet device driver for Innovator using SMSC LAN91C96
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//####BSDCOPYRIGHTBEGIN####
-//
-// -------------------------------------------
-//
-// Portions of this software may have been derived from OpenBSD or other sources,
-// and are covered by the appropriate copyright disclaimers included herein.
-//
-// -------------------------------------------
-//
-//####BSDCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    Jordi Colomer <jco@ict.es>, Patrick Doyle <wpd@delcomsys.com>
-// Contributors: Patrick Doyle <wpd@delcomsys.com>
-// Date:         2001-07-01
-// Purpose:      
-// Description:  hardware driver for Innovator/SMSC LAN91CXX ethernet
-//              
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/system.h>
-#include <pkgconf/devs_eth_arm_innovator.h>
-#include <pkgconf/io_eth_drivers.h>
-
-#if defined(CYGPKG_REDBOOT)
-#include <pkgconf/redboot.h>
-#endif
-
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_intr.h>
diff --git a/packages/devs/eth/arm/triton/v2_0/cdl/triton_eth_cs8900_drivers.cdl b/packages/devs/eth/arm/triton/v2_0/cdl/triton_eth_cs8900_drivers.cdl
deleted file mode 100755 (executable)
index 1be19e1..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-# ====================================================================
-#
-#      triton_eth_drivers.cdl
-#
-#      Ethernet drivers - support for CS8900A ethernet controller
-#      on the Ka-RO TRITON board.
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-cdl_package CYGPKG_DEVS_ETH_CL_CS8900_ARM_XSCALE_TRITON {
-
-    display       "TRITON CS8900A ethernet driver"
-
-    parent        CYGPKG_IO_ETH_DRIVERS
-    active_if    CYGPKG_IO_ETH_DRIVERS
-#    active_if     CYGPKG_HAL_ARM_XSCALE_TRITON_STK
-    
-
-    # chip wired in 16-bit mode, no EEPROM
-    implements    CYGHWR_NET_DRIVERS
-    implements    CYGHWR_NET_DRIVER_ETH0
-    implements    CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED
-    implements    CYGINT_DEVS_ETH_CL_CS8900A_STATIC_ESA
-    
-    requires      CYGPKG_DEVS_ETH_CL_CS8900A
-    description   "Ethernet driver for TRITON boards."
-
-    include_dir   cyg/io
-
-    define_proc {
-        puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_CL_CS8900A_INL <cyg/io/devs_eth_cs8900a_triton.inl>"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_CL_CS8900A_CFG <pkgconf/devs_eth_cl_cs8900_arm_xscale_triton.h>"
-        puts $::cdl_system_header "/*****  ethernet driver proc output end  *****/"
-    }
-    
-    # Arguably this should do in the generic package
-    # but then there is a logic loop so you can never enable it.
-
-    cdl_interface CYGINT_DEVS_ETH_CL_CS8900A_REQUIRED {
-        display   "CL CS8900A driver required"
-    }
-
-    cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-        display       "Device name for the ethernet driver"
-        flavor        data
-        default_value {"\"eth0\""}
-        description   "
-            This option sets the name of the ethernet device for the
-            ethernet port."
-    }
-
-    cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-        display       "The ethernet station address (MAC)"
-        flavor        data
-        default_value {"{0x00, 0x0C, 0xC6, 0x70, 0x00, 0x00}"}
-        description   "A static ethernet station address. 
-            Caution: Booting two systems with the same MAC on the same
-            network, will cause severe conflicts."
-        active_if     !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    }
-    
-    
-   
-    
-     cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-        display "Use the 1-WIRE device ESA (MAC address)"
-        default_value 1
-        flavor        bool
-        description   "
-            Use the ESA that is stored in the 1wire device instead of
-            a static ESA." 
-    }
-   
-    
-    
-    
-
-    cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-        display "Use the RedBoot ESA (MAC address)"
-        default_value 0
-        flavor        bool
-        description   "
-            Use the ESA that is stored as a RedBoot variable instead of
-            a static ESA." 
-    }
-
-}
-
-# EOF triton_eth_drivers.cdl
diff --git a/packages/devs/eth/arm/triton/v2_0/cdl/triton_eth_drivers.cdl b/packages/devs/eth/arm/triton/v2_0/cdl/triton_eth_drivers.cdl
deleted file mode 100755 (executable)
index 36a5461..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-# ====================================================================
-#
-#      triton_eth_drivers.cdl
-#
-#      Ethernet drivers - support for LAN91C111 ethernet controller
-#      on the Ka-RO TRITON board.
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      Jordi Colomer <jco@ict.es>, usteinkohl
-# Contributors:   Jordi Colomer, usteinkohl
-# Date:           14th January 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON {
-
-    display       "TRITON SMC91C111 ethernet driver"
-
-    parent        CYGPKG_IO_ETH_DRIVERS
-    active_if    CYGPKG_IO_ETH_DRIVERS
-#    active_if     CYGPKG_HAL_ARM_XSCALE_TRITON_STK
-    
-
-    # chip wired in 16-bit mode, no EEPROM
-    implements    CYGHWR_NET_DRIVERS
-    implements    CYGHWR_NET_DRIVER_ETH0
-    implements    CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    implements    CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA
-    
-    requires      CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    description   "Ethernet driver for TRITON boards."
-
-    include_dir   cyg/io
-
-    define_proc {
-        puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_SMSC_LAN91C111_INL <cyg/io/devs_eth_triton.inl>"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_SMSC_LAN91C111_CFG <pkgconf/devs_eth_arm_xscale_triton.h>"
-        puts $::cdl_system_header "/*****  ethernet driver proc output end  *****/"
-    }
-    
-    # Arguably this should do in the generic package
-    # but then there is a logic loop so you can never enable it.
-
-    cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-        display   "SMSC LAN91C111 driver required"
-    }
-
-    cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-        display       "Device name for the ethernet driver"
-        flavor        data
-        default_value {"\"eth0\""}
-        description   "
-            This option sets the name of the ethernet device for the
-            ethernet port."
-    }
-
-    cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-        display       "The ethernet station address (MAC)"
-        flavor        data
-        default_value {"{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"}
-        description   "A static ethernet station address. 
-            Caution: Booting two systems with the same MAC on the same
-            network, will cause severe conflicts."
-        active_if     !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    }
-    
-     cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-        display "Use the 1-WIRE device ESA (MAC address)"
-        default_value 1
-        flavor        bool
-        description   "
-            Use the ESA that is stored in the 1wire device instead of
-            a static ESA." 
-    }
-    
-
-    cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-        display "Use the RedBoot ESA (MAC address)"
-        default_value 0
-        flavor        bool
-        description   "
-            Use the ESA that is stored as a RedBoot variable instead of
-            a static ESA." 
-    }
-
-}
-
-# EOF triton_eth_drivers.cdl
diff --git a/packages/devs/eth/arm/triton/v2_0/include/devs_eth_cs8900a_triton.inl b/packages/devs/eth/arm/triton/v2_0/include/devs_eth_cs8900a_triton.inl
deleted file mode 100755 (executable)
index c083d0b..0000000
+++ /dev/null
@@ -1,219 +0,0 @@
-//==========================================================================
-//
-//      devs/eth/arm/triton/..../include/devs_eth_triton.inl
-//
-//      Triton ethernet I/O definitions.
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    Jordi Colomer <jco@ict.es>, usteinkohl
-// Contributors: Jordi Colomer, usteinkohl
-// Date:         14th January 2003
-// Purpose:      Triton ethernet definitions
-//####DESCRIPTIONEND####
-//==========================================================================
-
-#ifdef __WANT_DEVS
-
-
-
-#include <pkgconf/system.h>
-#include <pkgconf/devs_eth_cl_cs8900_arm_xscale_triton.h>
-#include <cyg/hal/hal_intr.h>          
-#include <cyg/hal/hal_triton.h>
-
-// MAC address is stored as a Redboot config option
-#ifdef CYGPKG_REDBOOT
-#include <pkgconf/redboot.h>
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-#include <redboot.h>
-#include <flash_config.h>
-#include <cyg/hal/triton_1w_dev.inl>
-
-
-
-
-
-
-
-
-static __inline__ void 
-post_reset(cyg_addrword_t base)
-{
-       cyg_uint8       value;
-    // Toggle  SBHE (connected to DQM1) line on the Crystal chip.
-    HAL_WRITE_UINT8(base-0x100, 0);
-    HAL_WRITE_UINT8(base-0x101, 0);
-    HAL_WRITE_UINT8(base-0x102, 0);
-    HAL_WRITE_UINT8(base-0x103, 0);
-    HAL_READ_UINT8(base-0x100, value);         // dummy read
-    
-}
-
-#undef  CYGHWR_CL_CS8900A_PLF_POST_RESET
-#define CYGHWR_CL_CS8900A_PLF_POST_RESET(base) post_reset(base)
-
-
-
-
-
-
-
-
-
-
-
-// ESA (Ethernet Station Address), when constant
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA
-       static unsigned char static_esa[] = CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA;
-#endif
-#endif
-
-
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA
-RedBoot_config_option("Network hardware address [MAC]",
-                      triton_esa,
-                      ALWAYS_ENABLED, true,
-                      CONFIG_ESA, (unsigned long long)0x000000c60c00
-    );
-#endif    
-    
-    
-    
-    
-    
-    
-#endif
-#endif
-
-
-
-
-
-
-
-
-
-// ESA address fetch function
-cyg_bool triton_get_ESA(struct cs8900a_priv_data *cpd)
-{
-#if defined(CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA)
-       // fetch hardware address from 1-wire device
-       cpd->hardwired_esa = false;
-       return get_esa_1w(cpd->esa);
-       
-       
-       
-    // Fetch hardware address from RedBoot config
-#elif defined(CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA)
-       #if defined(CYGPKG_REDBOOT) && defined(CYGSEM_REDBOOT_FLASH_CONFIG)
-       flash_get_config("triton_esa", cpd->esa, CONFIG_ESA);
-       return 1;
-       #else
-               #error "No RedBoot flash configuration to store ESA"
-       #endif
-#else
-    memcpy(cpd->esa, static_esa, 6);
-#endif
-}
-
-
-
-
-
-
-
-
-static cs8900a_priv_data_t cs8900a_eth0_priv_data = { 
-
-    provide_esa : &triton_get_ESA,
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA    
-    esa: CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA,
-    hardwired_esa : true,
-#else
-    hardwired_esa : false,
-#endif
-    base : (cyg_addrword_t) CS8900A_ETH_IOBASE,
-    interrupt : IRQ_GPIO_CS8900A 
-};
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-ETH_DRV_SC(cs8900a_sc,
-           &cs8900a_eth0_priv_data,          // Driver specific data
-           CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME, // Name for device
-           cs8900a_start,
-           cs8900a_stop,
-           cs8900a_control,
-           cs8900a_can_send,
-           cs8900a_send,
-           cs8900a_recv,
-           cs8900a_deliver,
-           cs8900a_poll,
-           cs8900a_int_vector
-);
-
-NETDEVTAB_ENTRY(cs8900a_netdev, 
-                "cs8900a_" CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME,
-                cs8900a_init,
-                &cs8900a_sc);
-
-
-
-
-#endif // __WANT_DEVS
-
-
-
-//EOF devs_eth_triton.inl
-
-
diff --git a/packages/devs/eth/arm/triton/v2_0/include/devs_eth_triton.inl b/packages/devs/eth/arm/triton/v2_0/include/devs_eth_triton.inl
deleted file mode 100755 (executable)
index a649b0c..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-//==========================================================================
-//
-//      devs/eth/arm/triton/..../include/devs_eth_triton.inl
-//
-//      Triton ethernet I/O definitions.
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    Jordi Colomer <jco@ict.es>, usteinkohl
-// Contributors: Jordi Colomer, usteinkohl
-// Date:         14th January 2003
-// Purpose:      Triton ethernet definitions
-//####DESCRIPTIONEND####
-//==========================================================================
-
-#include <pkgconf/system.h>
-#include <pkgconf/devs_eth_arm_xscale_triton.h>
-#include <cyg/hal/hal_intr.h>          
-#include <cyg/hal/hal_triton.h>
-
-#define CYGNUM_DEVS_ETH_SMSC_LAN91C111_SHIFT_ADDR    0
-
-// MAC address is stored as a Redboot config option
-#ifdef CYGPKG_REDBOOT
-#include <pkgconf/redboot.h>
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-#include <redboot.h>
-#include <flash_config.h>
-#include <cyg/hal/triton_1w_dev.inl>
-
-
-
-
-
-// ESA (Ethernet Station Address), when constant
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA
-       static unsigned char static_esa[] = CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA;
-#endif
-#endif
-
-
-
-
-
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA
-RedBoot_config_option("Network hardware address [MAC]",
-                      triton_esa,
-                      ALWAYS_ENABLED, true,
-                      CONFIG_ESA, (unsigned long long)0x000000c60c00
-    );
-#endif    
-    
-    
-    
-    
-#endif
-#endif
-
-
-
-
-
-
-// ESA address fetch function
-cyg_bool triton_get_ESA(struct lan91c111_priv_data *cpd)
-{
-#if defined(CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA)
-       // fetch hardware address from 1-wire device
-       return get_esa_1w(cpd->enaddr);
-       
-       
-       
-    // Fetch hardware address from RedBoot config
-#elif defined(CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA)
-       #if defined(CYGPKG_REDBOOT) && defined(CYGSEM_REDBOOT_FLASH_CONFIG)
-       flash_get_config("triton_esa", cpd->enaddr, CONFIG_ESA);
-       return 1;
-       #else
-               #error "No RedBoot flash configuration to store ESA"
-       #endif
-#else
-    memcpy(cpd->enaddr, static_esa, 6);
-#endif
-}
-
-
-
-
-
-
-static lan91c111_priv_data lan91c111_eth0_priv_data = { 
-
-    config_enaddr : triton_get_ESA,
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA    
-    enaddr: CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA,
-#endif
-    base : (unsigned short *) SMC91C111_ETH_IOBASE,
-    interrupt : IRQ_GPIO_ETH 
-};
-
-ETH_DRV_SC(lan91c111_sc,
-           &lan91c111_eth0_priv_data,          // Driver specific data
-           CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME, // Name for device
-           lan91c111_start,
-           lan91c111_stop,
-           lan91c111_control,
-           lan91c111_can_send,
-           lan91c111_send,
-           lan91c111_recv,
-           lan91c111_deliver,
-           lan91c111_poll,
-           lan91c111_int_vector
-);
-
-NETDEVTAB_ENTRY(lan91c111_netdev, 
-                "lan91c111_" CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME,
-                smsc_lan91c111_init,
-                &lan91c111_sc);
-
-//EOF devs_eth_triton.inl
-
-
diff --git a/packages/devs/eth/arm/triton270/v2_0/cdl/triton270_91c111_drivers.cdl b/packages/devs/eth/arm/triton270/v2_0/cdl/triton270_91c111_drivers.cdl
deleted file mode 100755 (executable)
index 5055c37..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-# ====================================================================
-#
-#      triton270_91c111_drivers.cdl
-#
-#      Ethernet drivers - support for LAN91C111 ethernet controller
-#      on the Ka-RO TRITON board.
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      Jordi Colomer <jco@ict.es>, usteinkohl
-# Contributors:   Jordi Colomer, usteinkohl
-# Date:           14th January 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_DEVS_ETH_ARM_XSCALE_TRITON270_91C111 {
-
-    display       "TRITON SMC91C111 ethernet driver"
-
-    parent        CYGPKG_IO_ETH_DRIVERS
-    active_if    CYGPKG_IO_ETH_DRIVERS
-#    active_if     CYGPKG_HAL_ARM_XSCALE_TRITON_STK
-    
-
-    # chip wired in 16-bit mode, no EEPROM
-    implements    CYGHWR_NET_DRIVERS
-    implements    CYGHWR_NET_DRIVER_ETH0
-    implements    CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-    implements    CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA
-    
-    requires      CYGPKG_DEVS_ETH_SMSC_LAN91C111
-    description   "Ethernet driver for TRITON boards."
-
-    include_dir   cyg/io
-
-    define_proc {
-        puts $::cdl_system_header "/***** ethernet driver proc output start *****/"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_SMSC_LAN91C111_INL <cyg/io/devs_triton270_91c111.inl>"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_ETH_SMSC_LAN91C111_CFG <pkgconf/devs_eth_arm_xscale_triton270_91c111.h>"
-        puts $::cdl_system_header "/*****  ethernet driver proc output end  *****/"
-    }
-    
-    # Arguably this should do in the generic package
-    # but then there is a logic loop so you can never enable it.
-
-    cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED {
-        display   "SMSC LAN91C111 driver required"
-    }
-
-    cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME {
-        display       "Device name for the ethernet driver"
-        flavor        data
-        default_value {"\"eth0\""}
-        description   "
-            This option sets the name of the ethernet device for the
-            ethernet port."
-    }
-
-    cdl_option CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA {
-        display       "The ethernet station address (MAC)"
-        flavor        data
-        default_value {"{0x00, 0x0c, 0xc6, 0x69, 0x00, 0x00}"}
-        description   "A static ethernet station address. 
-            Caution: Booting two systems with the same MAC on the same
-            network, will cause severe conflicts."
-        active_if     !CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-    }
-    
-     cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA {
-        display "Use the 1-WIRE device ESA (MAC address)"
-        default_value 1
-        flavor        bool
-        description   "
-            Use the ESA that is stored in the 1wire device instead of
-            a static ESA." 
-    }
-    
-
-    cdl_option CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA {
-        display "Use the RedBoot ESA (MAC address)"
-        default_value 0
-        flavor        bool
-        description   "
-            Use the ESA that is stored as a RedBoot variable instead of
-            a static ESA." 
-    }
-
-}
-
-# EOF triton_eth_drivers.cdl
diff --git a/packages/devs/eth/arm/triton270/v2_0/include/devs_triton270_91c111.inl b/packages/devs/eth/arm/triton270/v2_0/include/devs_triton270_91c111.inl
deleted file mode 100755 (executable)
index 30b607d..0000000
+++ /dev/null
@@ -1,157 +0,0 @@
-//==========================================================================
-//
-//      devs/eth/arm/triton/..../include/devs_eth_triton.inl
-//
-//      Triton ethernet I/O definitions.
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    Jordi Colomer <jco@ict.es>, usteinkohl
-// Contributors: Jordi Colomer, usteinkohl
-// Date:         14th January 2003
-// Purpose:      Triton ethernet definitions
-//####DESCRIPTIONEND####
-//==========================================================================
-
-#include <pkgconf/system.h>
-#include <pkgconf/devs_eth_arm_xscale_triton270_91c111.h>
-#include <cyg/hal/hal_intr.h>          
-#include <cyg/hal/hal_triton270.h>
-
-#define CYGNUM_DEVS_ETH_SMSC_LAN91C111_SHIFT_ADDR    0
-
-// MAC address is stored as a Redboot config option
-#ifdef CYGPKG_REDBOOT
-#include <pkgconf/redboot.h>
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-#include <redboot.h>
-#include <flash_config.h>
-#include <cyg/hal/triton270_1w_dev.inl>
-
-
-
-
-
-
-
-
-
-
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA
-RedBoot_config_option("Network hardware address [MAC]",
-                      triton_esa,
-                      ALWAYS_ENABLED, true,
-                      CONFIG_ESA, (unsigned long long)0x000000c60c00
-    );
-#endif    
-    
-    
-    
-    
-#endif
-#endif
-
-
-
-// ESA (Ethernet Station Address), when constant
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA
-       static unsigned char static_esa[] = CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA;
-#endif
-#endif
-
-
-
-// ESA address fetch function
-cyg_bool triton_get_ESA(struct lan91c111_priv_data *cpd) {
-
-#if defined(CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_1WIRE_ESA)
-       // fetch hardware address from 1-wire device
-       return get_esa_1w(cpd->enaddr);
-       
-       
-       
-    // Fetch hardware address from RedBoot config
-#elif defined(CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA)
-       #if defined(CYGPKG_REDBOOT) && defined(CYGSEM_REDBOOT_FLASH_CONFIG)
-       flash_get_config("triton_esa", cpd->enaddr, CONFIG_ESA);
-       return 1;
-       #else
-               #error "No RedBoot flash configuration to store ESA"
-       #endif
-#else
-    memcpy(cpd->enaddr, static_esa, 6);
-#endif
-}
-
-
-
-
-
-
-static lan91c111_priv_data lan91c111_eth0_priv_data = { 
-
-    config_enaddr : triton_get_ESA,
-#ifndef CYGSEM_DEVS_ETH_ARM_XSCALE_TRITON_REDBOOT_ESA    
-    enaddr: CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_ESA,
-#endif
-    base : (unsigned short *) SMC91C111_ETH_IOBASE,
-    interrupt : IRQ_GPIO_ETH 
-};
-
-ETH_DRV_SC(lan91c111_sc,
-           &lan91c111_eth0_priv_data,          // Driver specific data
-           CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME, // Name for device
-           lan91c111_start,
-           lan91c111_stop,
-           lan91c111_control,
-           lan91c111_can_send,
-           lan91c111_send,
-           lan91c111_recv,
-           lan91c111_deliver,
-           lan91c111_poll,
-           lan91c111_int_vector
-);
-
-NETDEVTAB_ENTRY(lan91c111_netdev, 
-                "lan91c111_" CYGDAT_DEVS_ETH_ARM_XSCALE_TRITON_NAME,
-                smsc_lan91c111_init,
-                &lan91c111_sc);
-
-//EOF devs_eth_triton.inl
-
-
index 00a6197a18b562990d476d6d792467092ee91803..dabc3fd3db141bd4dfc500c6993b4458ae453dd8 100644 (file)
@@ -37,9 +37,9 @@
  ***********************************************************************/
 /**********************************************************************
  * File:
- *     $RCSfile$
- *     $Revision$
- *     $Date$
+ *     $RCSfile: types.h,v $
+ *     $Revision: 1.1.1.2 $
+ *     $Date: 2002/03/14 17:54:24 $
  *
  * Purpose:
  *      This file defines basic types used in the ITU-T G.729A Speech
  *
  *            GNUWIN32 compiled with GCC
  *
- * $Log$
- * Revision 1.1.9.1  2009-06-15 13:39:30  lothar
- * unified MX27, MX25, MX37 trees
- *
+ * $Log: types.h,v $
  * Revision 1.1.1.2  2002/03/14 17:54:24  pfine
  * Fixed CR/LF Problem
  *
diff --git a/packages/devs/eth/smsc/lan91c111/v2_0/cdl/smsc_lan91c111_eth_drivers.cdl b/packages/devs/eth/smsc/lan91c111/v2_0/cdl/smsc_lan91c111_eth_drivers.cdl
deleted file mode 100755 (executable)
index 7f04b0d..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-# ====================================================================
-#
-#      smsc_lan91c111_eth_drivers.cdl
-#
-#      Ethernet drivers - support for LAN91C111 compatible ethernet controllers
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      gthomas, usteinkohl
-# Contributors:   gthomas, jskov, usteinkohl
-# Date:           14th January 2003 (last modification)
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_DEVS_ETH_SMSC_LAN91C111 {
-    display       "SMSC LAN91C111 compatible ethernet driver"
-    description   "Ethernet driver for SMSC LAN91C111 compatible controllers."
-
-    parent        CYGPKG_IO_ETH_DRIVERS
-    active_if    CYGPKG_IO_ETH_DRIVERS
-
-    active_if     CYGINT_DEVS_ETH_SMSC_LAN91C111_REQUIRED
-
-    include_dir   .
-    include_files ; # none _exported_ whatsoever
-    compile       -library=libextras.a if_lan91c111.c
-
-    define_proc {
-        puts $::cdl_header "#include <pkgconf/system.h>";
-        puts $::cdl_header "#include CYGDAT_DEVS_ETH_SMSC_LAN91C111_CFG";
-    }
-
-
-
-    cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT {
-       display "use 32 bit data access"
-       default_value 0
-       description   "
-           The device driver uses 32 bit data access if
-           this option is enabled, otherwise 16 bit data access is
-           used."
-    }
-
-
-    cdl_option CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM {
-       display "SIOCSIFHWADDR records ESA (MAC address) in EEPROM"
-       default_value 0
-       description   "
-           The ioctl() socket call with operand SIOCSIFHWADDR sets the
-           interface hardware address - the MAC address or Ethernet Station
-           Address (ESA).  This option causes the new MAC address to be written
-           into the EEPROM associated with the interface, so that the new
-           MAC address is permanently recorded.  Doing this should be a
-           carefully chosen decision, hence this option."
-    }
-
-    cdl_interface CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA {
-       display "ESA is statically configured"
-       description "
-           If this is nonzero, then the ESA (MAC address) is statically
-            configured in the platform-specific package which instantiates
-           this driver with all its details."
-    }
-
-
-    cdl_component CYGPKG_DEVS_ETH_SMSC_LAN91C111_OPTIONS {
-        display "LAN91C111 ethernet driver build options"
-        flavor  none
-       no_define
-
-        cdl_option CYGPKG_DEVS_ETH_SMSC_LAN91C111_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "-O2 -D_KERNEL -D__ECOS" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the LAN91C111 ethernet driver package.
-                These flags are used in addition
-                to the set of global flags."
-        }
-    }
-}
diff --git a/packages/devs/eth/smsc/lan91c111/v2_0/src/if_lan91c111.c b/packages/devs/eth/smsc/lan91c111/v2_0/src/if_lan91c111.c
deleted file mode 100755 (executable)
index c7ecd37..0000000
+++ /dev/null
@@ -1,1472 +0,0 @@
-//==========================================================================
-//
-//     dev/if_lan91c111.c
-//
-//     Ethernet device driver for SMSC LAN91C111 compatible controllers
-//
-//==========================================================================
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-//
-//     Original:       lan91cxyz.c
-//
-//
-
-// Author(s):   hmt, based on lan900 (for LAN91C110) driver by jskov
-//              jskov, based on CS8900 driver by Gary Thomas
-// Contributors: gthomas, jskov, hmt, jco@ict.es
-
-//     modified by usteinkohl, KaRo electronics GmbH, Germany
-
-// last modification:  2002-05-14
-// Purpose:     
-// Description:         hardware driver for LAN91C111 "LAN9000" ethernet
-// Notes:       Pointer register is not saved/restored on receive interrupts.
-//              The pointer is shared by both receive/transmit code.
-//              But the net stack manages atomicity for you here.
-//
-//              The controller has an autorelease mode that allows TX packets
-//              to be freed automatically on successful transmission - but
-//              that is not used since we're only sending one packet at a
-//              time anyway.
-//              We may want to pingpong in future for throughput reasons.
-//
-//              <jco@ict.es> Added support for PCMCIA mode and shifted
-//              address buses.
-//
-//                              <us@karo-electronics.de> added support for LAN91C111 (reading writing phy-registers)
-
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-// Based on LAN91C110 and LAN91C96
-
-#include <pkgconf/system.h>
-#include <pkgconf/devs_eth_smsc_lan91c111.h>
-#include <cyg/infra/cyg_type.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_diag.h>
-#include <cyg/infra/cyg_ass.h>
-#include <cyg/infra/diag.h>
-#include <cyg/hal/drv_api.h>
-#include <cyg/io/eth/netdev.h>
-#include <cyg/io/eth/eth_drv.h>
-#ifdef CYGPKG_NET
-#include <pkgconf/net.h>
-#include <cyg/kernel/kapi.h>
-#include <net/if.h>  /* Needed for struct ifnet */
-#endif
-
-#include "smsc_lan91c111.h"
-#include CYGDAT_DEVS_ETH_SMSC_LAN91C111_INL
-
-#ifdef CYGPKG_INFRA_DEBUG
-// Then we log, OOI, the number of times we get a bad packet number
-// from the tx done fifo.
-int lan91c111_txfifo_good = 0;
-int lan91c111_txfifo_bad = 0;
-#endif
-
-#if DEBUG_SMSC
-#define DEBUG_FUNCTION() do { diag_printf("%s\n", __FUNCTION__); } while (0)
-#else
-#define DEBUG_FUNCTION() CYG_EMPTY_STATEMENT
-#endif
-
-#if defined(ETH_DRV_GET_IF_STATS) || defined (ETH_DRV_GET_IF_STATS_UD)
-#define KEEP_STATISTICS
-#endif
-
-#ifdef KEEP_STATISTICS
-#define INCR_STAT(_x_)       (cpd->stats._x_++)
-#else
-#define INCR_STAT(_x_)       CYG_EMPTY_STATEMENT
-#endif
-
-static void lan91c111_poll(struct eth_drv_sc *sc);
-static cyg_interrupt lan91c111_interrupt;
-static cyg_handle_t  lan91c111_interrupt_handle;
-
-// This ISR is called when the ethernet interrupt occurs
-static int
-lan91c111_isr(cyg_vector_t vector, cyg_addrword_t data
-            /* , HAL_SavedRegisters *regs */ )
-{
-       struct eth_drv_sc *sc = (struct eth_drv_sc *)data;
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-
-       DEBUG_FUNCTION();
-
-       INCR_STAT(interrupts);
-
-       cyg_drv_interrupt_mask(cpd->interrupt);
-       cyg_drv_interrupt_acknowledge(cpd->interrupt);
-       return CYG_ISR_HANDLED | CYG_ISR_CALL_DSR;  // Run the DSR
-}
-
-// The deliver function (ex-DSR)  handles the ethernet [logical] processing
-static void
-lan91c111_deliver(struct eth_drv_sc *sc)
-{
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-
-       DEBUG_FUNCTION();
-
-       // Service the interrupt:
-       lan91c111_poll(sc);
-       // Allow interrupts to happen again
-       cyg_drv_interrupt_unmask(cpd->interrupt);
-}
-
-static int
-lan91c111_int_vector(struct eth_drv_sc *sc)
-{
-    struct lan91c111_priv_data *cpd =
-       (struct lan91c111_priv_data *)sc->driver_private;
-
-    return cpd->interrupt;
-}
-
-/*
- . Function: smc_enable
- . Purpose: let the chip talk to the outside work
- . Method:
- .     1.  Enable the transmitter
- .     2.  Enable the receiver
- .     3.  Enable interrupts
-*/
-static void smc_enable( struct eth_drv_sc *sc )
-{
-       /* see the header file for options in TCR/RCR DEFAULT*/
-       put_reg(sc, LAN91C111_TCR, LAN91C111_TCR_TXENA  | LAN91C111_TCR_PAD_EN);
-       put_reg(sc, LAN91C111_RCR, LAN91C111_RCR_RXEN);
-
-       /* now, enable interrupts */
-//     SMC_SELECT_BANK( 2 );
-//     outb( SMC_INTERRUPT_MASK, ioaddr + IM_REG );
-}
-
-static void smc_reset(struct eth_drv_sc *sc )
-{
-       /* This resets the registers mostly to defaults, but doesn't
-          affect EEPROM.  That seems unnecessary */
-       put_reg(sc, LAN91C111_RCR , LAN91C111_RCR_SOFT_RST);
-
-       /* Setup the Configuration Register */
-       /* This is necessary because the CONFIG_REG is not affected */
-       /* by a soft reset */
-
-       put_reg(sc, LAN91C111_CONFIG, 0xb0b1);
-
-       /* this should pause enough for the chip to be happy */
-       //mdelay(10);
-       CYGACC_CALL_IF_DELAY_US((cyg_int32)10000);
-
-       /* Disable transmit and receive functionality */
-       put_reg(sc, LAN91C111_RCR, 0);
-       put_reg(sc, LAN91C111_TCR, 0);
-
-       /* set the control register to automatically
-          release successfully transmitted packets, to make the best
-          use out of our limited memory */
-//     put_reg(sc, LAN91C111_CONTROL, get_reg(sc, LAN91C111_CONTROL) | LAN91C111_CONTROL_AUTO_RELEASE);
-
-       /* Reset the MMU */
-       put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_reset_mmu);
-
-       /* Note:  It doesn't seem that waiting for the MMU busy is needed here,
-          but this is a place where future chipsets _COULD_ break.  Be wary
-          of issuing another MMU command right after this */
-
-       /* Disable all interrupts */
-       put_reg(sc, LAN91C111_INTERRUPT, 0);
-}
-
-/*------------------------------------------------------------
- . Reads a register from the MII Management serial interface
- .-------------------------------------------------------------*/
-static unsigned short
-smc_read_phy_register(struct eth_drv_sc *sc, unsigned char phyaddr, unsigned char phyreg)
-{
-       int i;
-       unsigned char mask;
-       unsigned short mii_reg;
-       unsigned short bits[64];
-       int clk_idx = 0;
-       int input_idx;
-       unsigned short phydata;
-
-       // 32 consecutive ones on MDO to establish sync
-       for (i = 0; i < 32; ++i)
-               bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-
-       // Start code <01>
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-
-       // Read command <10>
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-
-       // Output the PHY address, msb first
-       mask = (unsigned char)0x10;
-       for (i = 0; i < 5; ++i) {
-               if (phyaddr & mask)
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-               else
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-
-               // Shift to next lowest bit
-               mask >>= 1;
-       }
-
-       // Output the phy register number, msb first
-       mask = (unsigned char)0x10;
-       for (i = 0; i < 5; ++i) {
-               if (phyreg & mask)
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-               else
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-
-               // Shift to next lowest bit
-               mask >>= 1;
-       }
-
-       // Tristate and turnaround (2 bit times)
-       bits[clk_idx++] = 0;
-       //bits[clk_idx++] = 0;
-
-       // Input starts at this bit time
-       input_idx = clk_idx;
-
-       // Will input 16 bits
-       for (i = 0; i < 16; ++i)
-               bits[clk_idx++] = 0;
-
-       // Final clock bit
-       bits[clk_idx++] = 0;
-
-       // Save the current bank
-//     oldBank = inw( ioaddr+BANK_SELECT );
-
-       // Select bank 3
-//     SMC_SELECT_BANK( 3 );
-
-       // Get the current MII register value
-       mii_reg = get_reg(sc, LAN91C111_MGMT);
-       //diag_printf("\n\nMIIREG: %04X\n\n", mii_reg);
-
-       // Turn off all MII Interface bits
-       mii_reg &= ~(LAN91C111_MGMT__MDOE|LAN91C111_MGMT__MCLK|LAN91C111_MGMT__MDI|LAN91C111_MGMT__MDO);
-
-       // Clock all 64 cycles
-       for (i = 0; i < 64; ++i) {
-               // Clock Low - output data
-               put_reg(sc, LAN91C111_MGMT, mii_reg | bits[i]);
-               CYGACC_CALL_IF_DELAY_US((cyg_int32)50);
-
-               // Clock Hi - input data
-               put_reg(sc, LAN91C111_MGMT, mii_reg | bits[i] | LAN91C111_MGMT__MCLK);
-               CYGACC_CALL_IF_DELAY_US((cyg_int32)50);
-               bits[i] |= get_reg(sc, LAN91C111_MGMT) & LAN91C111_MGMT__MDI;
-       }
-
-       // Return to idle state
-       // Set clock to low, data to low, and output tristated
-       put_reg(sc, LAN91C111_MGMT, mii_reg);
-       CYGACC_CALL_IF_DELAY_US((cyg_int32)50);
-
-       // Restore original bank select
-       //SMC_SELECT_BANK( oldBank );
-
-       // Recover input data
-       phydata = 0;
-       for (i = 0; i < 16; ++i) {
-               phydata <<= 1;
-
-               if (bits[input_idx++] & LAN91C111_MGMT__MDI)
-                       phydata |= 0x0001;
-       }
-       return phydata;
-}
-
-/*------------------------------------------------------------
- . Finds and reports the PHY address
- .-------------------------------------------------------------*/
-static int smc_detect_phy(struct eth_drv_sc *sc)
-{
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-       unsigned short phy_id1;
-       unsigned short phy_id2;
-       int phyaddr;
-       int found = 0;
-
-       // Scan all 32 PHY addresses if necessary
-       for (phyaddr = 0; phyaddr < 32; ++phyaddr) {
-               // Read the PHY identifiers
-               phy_id1  = smc_read_phy_register(sc, phyaddr, PHY_ID1_REG);
-               phy_id2  = smc_read_phy_register(sc, phyaddr, PHY_ID2_REG);
-
-#if DEBUG_SMSC
-               diag_printf("Phy_address %02X: phy_id1=%04x, phy_id2=%04x\n",
-                       phyaddr, phy_id1, phy_id2);
-#endif
-               // Make sure it is a valid identifier
-               if ((phy_id2 > 0x0000) && (phy_id2 < 0xffff) &&
-                   (phy_id1 > 0x0000) && (phy_id1 < 0xffff)) {
-                       if ((phy_id1 != 0x8000) && (phy_id2 != 0x8000)) {
-                               // Save the PHY's address
-                               cpd->phyaddr = phyaddr;
-                               found = 1;
-                               break;
-                       }
-               }
-       }
-
-       if (!found) {
-               diag_printf("No PHY found\n");
-               return 0;
-       }
-
-       // Set the PHY type
-       if ((phy_id1 == 0x0016) && ((phy_id2 & 0xFFF0) == 0xF840)) {
-               cpd->phytype = PHY_LAN83C183;
-#if DEBUG_SMSC
-               diag_printf("PHY=LAN83C183 (LAN91C111 Internal)\n");
-#endif
-       }
-
-       if ((phy_id1 == 0x0282) && ((phy_id2 & 0xFFF0) == 0x1C50)) {
-               cpd->phytype = PHY_LAN83C180;
-#if DEBUG_SMSC
-               diag_printf("PHY=LAN83C180\n");
-#endif
-       }
-       return 1;
-}
-
-/*------------------------------------------------------------
- . Writes a register to the MII Management serial interface
- .-------------------------------------------------------------*/
-static void
-smc_write_phy_register(struct eth_drv_sc *sc, unsigned char phyaddr, unsigned char phyreg, unsigned short phydata)
-{
-       //int oldBank;
-       int i;
-       unsigned short mask;
-       unsigned short mii_reg;
-       unsigned char bits[65];
-       int clk_idx = 0;
-
-       // 32 consecutive ones on MDO to establish sync
-       for (i = 0; i < 32; ++i)
-               bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-
-       // Start code <01>
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-
-       // Write command <01>
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-
-       // Output the PHY address, msb first
-       mask = (unsigned short)0x10;
-       for (i = 0; i < 5; ++i) {
-               if (phyaddr & mask)
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-               else
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-
-               // Shift to next lowest bit
-               mask >>= 1;
-       }
-
-       // Output the phy register number, msb first
-       mask = (unsigned short)0x10;
-       for (i = 0; i < 5; ++i) {
-               if (phyreg & mask)
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-               else
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-
-               // Shift to next lowest bit
-               mask >>= 1;
-       }
-
-       // Tristate and turnaround (2 bit times)
-       bits[clk_idx++] = 0;
-       bits[clk_idx++] = 0;
-
-       // Write out 16 bits of data, msb first
-       mask = 0x8000;
-       for (i = 0; i < 16; ++i) {
-               if (phydata & mask)
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MDO;
-               else
-                       bits[clk_idx++] = LAN91C111_MGMT__MDOE;
-
-               // Shift to next lowest bit
-               mask >>= 1;
-       }
-
-       // Final clock bit (tristate)
-       bits[clk_idx++] = 0;
-
-       // Save the current bank
-//     oldBank = inw( ioaddr+BANK_SELECT );
-
-       // Select bank 3
-//     SMC_SELECT_BANK( 3 );
-
-       // Get the current MII register value
-       mii_reg = get_reg(sc, LAN91C111_MGMT);
-
-       // Turn off all MII Interface bits
-       mii_reg &= ~(LAN91C111_MGMT__MDOE | LAN91C111_MGMT__MCLK | LAN91C111_MGMT__MDI | LAN91C111_MGMT__MDO);
-
-       // Clock all cycles
-       for (i = 0; i < sizeof bits; ++i) {
-               // Clock Low - output data
-               put_reg(sc, LAN91C111_MGMT, mii_reg | bits[i]);
-               CYGACC_CALL_IF_DELAY_US((cyg_int32)50);
-
-               // Clock Hi - input data
-               put_reg(sc, LAN91C111_MGMT, mii_reg | bits[i] | LAN91C111_MGMT__MCLK );
-               CYGACC_CALL_IF_DELAY_US((cyg_int32)50);
-               bits[i] |= get_reg(sc, LAN91C111_MGMT) & LAN91C111_MGMT__MDI;
-       }
-
-       // Return to idle state
-       // Set clock to low, data to low, and output tristated
-       put_reg(sc, LAN91C111_MGMT, mii_reg);
-       CYGACC_CALL_IF_DELAY_US((cyg_int32)50);
-
-       // Restore original bank select
-       //SMC_SELECT_BANK(oldBank);
-}
-
-static bool
-smsc_lan91c111_init(struct cyg_netdevtab_entry *tab)
-{
-       struct eth_drv_sc *sc = (struct eth_drv_sc *)tab->device_instance;
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-       unsigned short val;
-       int i, time_out;
-
-       DEBUG_FUNCTION();
-
-       cpd->txbusy = cpd->within_send = 0;
-
-#ifdef CYGNUM_DEVS_ETH_SMSC_LAN91C111_SHIFT_ADDR
-       cpd->addrsh = CYGNUM_DEVS_ETH_SMSC_LAN91C111_SHIFT_ADDR;
-#else
-       cpd->addrsh = 0;
-#endif
-       // Initialize environment, setup interrupt handler
-       cyg_drv_interrupt_create(cpd->interrupt,
-                                99, // Priority - what goes here?
-                                (cyg_addrword_t)sc, //  Data item passed to interrupt handler
-                                (cyg_ISR_t *)lan91c111_isr,
-                                (cyg_DSR_t *)eth_drv_dsr, // The logical driver DSR
-                                &lan91c111_interrupt_handle,
-                                &lan91c111_interrupt);
-       cyg_drv_interrupt_attach(lan91c111_interrupt_handle);
-       cyg_drv_interrupt_acknowledge(cpd->interrupt);
-       cyg_drv_interrupt_unmask(cpd->interrupt);
-
-       // probe chip by reading the signature in BS register
-       val = get_banksel(sc);
-#if DEBUG_SMSC
-       diag_printf("LAN91C111 base address is %08X\n", cpd->base);
-       diag_printf("%04X\n", LAN91C111_BS);
-       diag_printf("LAN91C111 - supposed BankReg at address  %x = %04x\n",
-                   cpd->base + LAN91C111_BS, val );
-#endif
-       if (0x3300 != (0xff00 & val)) {
-               diag_printf("no LAN91C111 chip found ...\n");
-               return false;
-       }
-       CYG_ASSERT(0x3300 == (0xff00 & val), "No 91C111 signature");
-
-       val = get_reg(sc, LAN91C111_REVISION);
-#if DEBUG_SMSC & 9
-       diag_printf("LAN91C111 - type: %01x, rev: %01x\n",
-                   (val >> 4) & 0xf, val & 0xf);
-#endif
-       // The controller may provide a function used to set up the ESA
-       if (cpd->config_enaddr) {
-               if (!cpd->config_enaddr(cpd)) {
-                       diag_printf("\nLAN91C111 - failed to get valid ESA!\n");
-                       return false;
-               }
-       }
-       // Reset chip
-       put_reg(sc, LAN91C111_RCR, LAN91C111_RCR_SOFT_RST);
-       put_reg(sc, LAN91C111_RCR, 0);
-
-       val = get_reg(sc, LAN91C111_EPH_STATUS);
-#if DEBUG_SMSC & 9
-       diag_printf("LAN91C111 - status: %04x\n", val);
-#endif
-#if 0 < CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA
-       // Use statically configured ESA from the private data
-#if DEBUG_SMSC & 9
-       diag_printf("LAN91C111 - static ESA: %02x:%02x:%02x:%02x:%02x:%02x\n",
-                   cpd->enaddr[0],
-                   cpd->enaddr[1],
-                   cpd->enaddr[2],
-                   cpd->enaddr[3],
-                   cpd->enaddr[4],
-                   cpd->enaddr[5] );
-#endif // DEBUG_SMSC
-       // Set up hardware address
-       for (i = 0; i < sizeof(cpd->enaddr); i += 2)
-               put_reg(sc, LAN91C111_IA01+i/2,
-                       cpd->enaddr[i] | (cpd->enaddr[i+1] << 8));
-#else // not CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA
-       // Use the address from the serial EEPROM
-
-       // Read out hardware address
-       for (i = 0; i < sizeof(cpd->enaddr); i += 2) {
-               unsigned short z = get_reg(sc, LAN91C111_IA01+i/2 );
-               cpd->enaddr[i] =   (unsigned char)(0xff & z);
-               cpd->enaddr[i+1] = (unsigned char)(0xff & (z >> 8));
-       }
-#if DEBUG_SMSC & 9
-       diag_printf("LAN91C111 - eeprom ESA: %02x:%02x:%02x:%02x:%02x:%02x\n",
-                   cpd->enaddr[0],
-                   cpd->enaddr[1],
-                   cpd->enaddr[2],
-                   cpd->enaddr[3],
-                   cpd->enaddr[4],
-                   cpd->enaddr[5] );
-#endif // DEBUG_SMSC
-#endif // !CYGINT_DEVS_ETH_SMSC_LAN91C111_STATIC_ESA
-       smc_reset(sc);
-       smc_enable(sc);
-       //      diag_printf("select external PHY .......\n");
-       //      put_reg(sc, LAN91C111_CONFIG, get_reg(sc, LAN91C111_CONFIG) | LAN91C111_CONFIG_EXT_PHY);
-#if DEBUG_SMSC
-       diag_printf("revision_reg: %04X\n", get_reg(sc, LAN91C111_REVISION));
-
-       diag_printf("read receive_control_reg: %04X\n", get_reg(sc, LAN91C111_RCR));
-
-       diag_printf("read config_reg: %04X\n", get_reg(sc, LAN91C111_CONFIG));
-       diag_printf("searching for phy ..... \n");
-#endif
-       smc_detect_phy(sc);
-       //CYGACC_CALL_IF_DELAY_US((cyg_int32)1000000);
-       smc_write_phy_register(sc, 0, 0, 0x3000);
-
-       // Init PHY
-       put_reg(sc, LAN91C111_RPCR, LAN91C111_RPCR_ANEG | 0x80);        // do auto-negotiation
-       //put_reg(sc, LAN91C111_RPCR, 0);                               // do 10 MBit
-#if 0
-       diag_printf("phy_register0 is: %04X\n", smc_read_phy_register(sc, 0, 0));
-       diag_printf("phy_register1 is: %04X\n", smc_read_phy_register(sc, 0, 1));
-       diag_printf("phy_register2 is: %04X\n", smc_read_phy_register(sc, 0, 2));
-       diag_printf("phy_register3 is: %04X\n", smc_read_phy_register(sc, 0, 3));
-       diag_printf("phy_register4 is: %04X\n", smc_read_phy_register(sc, 0, 4));
-       diag_printf("phy_register5 is: %04X\n", smc_read_phy_register(sc, 0, 5));
-#endif
-       time_out = 0;
-       val = smc_read_phy_register(sc, 0, 1);
-       while (!(smc_read_phy_register(sc, 0, 1) & PHY_STAT_LINK)) {
-               time_out++;
-               if (time_out == 50) {                                   /* 5 seconds */
-                       diag_printf("\n\nLAN91C111: cannot get valid link, check cabels, hubs ... \n\n");
-                       return false;
-               }
-               CYGACC_CALL_IF_DELAY_US((cyg_int32)100000);             /* wait 0,1 seconds */
-       }
-       // Initialize upper level driver
-       sc->funs->eth_drv->init(sc, cpd->enaddr);
-       return true;
-}
-
-static void
-lan91c111_stop(struct eth_drv_sc *sc)
-{
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-       DEBUG_FUNCTION();
-
-       CYG_ASSERT(cpd->within_send < 10, "stop: Excess send recursions");
-       cpd->within_send++;
-       // Complete any outstanding activity:
-       if (cpd->txbusy) {
-               cpd->txbusy = 0;
-#if DEBUG_SMSC & 9
-               diag_printf("LAN91C111 - Stopping, cleaning up pending TX\n");
-#endif
-               sc->funs->eth_drv->tx_done(sc, cpd->txkey, 0);
-       }
-       // Reset chip
-       put_reg(sc, LAN91C111_RCR, LAN91C111_RCR_SOFT_RST);
-       put_reg(sc, LAN91C111_RCR, 0);
-       cpd->txbusy = cpd->within_send = 0;
-}
-
-//
-// This function is called to "start up" the interface.         It may be called
-// multiple times, even when the hardware is already running.  It will be
-// called whenever something "hardware oriented" changes and should leave
-// the hardware ready to send/receive packets.
-//
-static void
-lan91c111_start(struct eth_drv_sc *sc, unsigned char *enaddr, int flags)
-{
-#ifdef CYGPKG_NET
-       struct ifnet *ifp = &sc->sc_arpcom.ac_if;
-#endif
-       DEBUG_FUNCTION();
-       put_reg(sc, LAN91C111_INTERRUPT, 0);    // disable interrupts
-       put_reg(sc, LAN91C111_INTERRUPT,        // ack old interrupts
-               LAN91C111_INTERRUPT_TX_INT | LAN91C111_INTERRUPT_TX_EMPTY_INT |
-               LAN91C111_INTERRUPT_RX_OVRN_INT | LAN91C111_INTERRUPT_ERCV_INT);
-       put_reg(sc, LAN91C111_RCR,
-#ifdef RCR_HAS_ABORT_ENB // 91C96 does not - page 46.
-               LAN91C111_RCR_ABORT_ENB |
-#endif
-               LAN91C111_RCR_STRIP_CRC |
-               LAN91C111_RCR_RXEN);
-       put_reg(sc, LAN91C111_TCR, LAN91C111_TCR_TXENA | LAN91C111_TCR_PAD_EN);
-       put_reg(sc, LAN91C111_CONTROL, 0);
-       put_reg(sc, LAN91C111_INTERRUPT,       // enable interrupts
-               LAN91C111_INTERRUPT_RCV_INT_M);
-#ifdef CYGPKG_NET
-       if ((0
-#ifdef ETH_DRV_FLAGS_PROMISC_MODE
-            != (flags & ETH_DRV_FLAGS_PROMISC_MODE)
-#endif
-            ) || (ifp->if_flags & IFF_PROMISC)
-           ) {
-               // Then we select promiscuous mode.
-               unsigned short rcr;
-               rcr = get_reg(sc, LAN91C111_RCR );
-               rcr |= LAN91C111_RCR_PRMS;
-               put_reg(sc, LAN91C111_RCR, rcr );
-       }
-#endif
-}
-
-//
-// This routine is called to perform special "control" operations
-//
-static int
-lan91c111_control(struct eth_drv_sc *sc, unsigned long key,
-              void *data, int data_length)
-{
-       unsigned char *esa = (unsigned char *)data;
-       int i;
-       unsigned short reg;
-       struct lan91c111_priv_data *cpd =
-               (struct lan91c111_priv_data *)sc->driver_private;
-
-       DEBUG_FUNCTION();
-
-       switch (key) {
-       case ETH_DRV_SET_MAC_ADDRESS:
-#if 9 & DEBUG_SMSC
-               diag_printf("LAN91C111 - set ESA: %02x:%02x:%02x:%02x:%02x:%02x\n",
-                           esa[0],
-                           esa[1],
-                           esa[2],
-                           esa[3],
-                           esa[4],
-                           esa[5] );
-#ifndef CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM
-               diag_printf("*** PERMANENT EEPROM WRITE NOT ENABLED ***\n");
-#endif
-#endif // DEBUG_SMSC
-
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM
-               // Only now can we command the chip to perform EEPROM writes:
-
-               // select arbitrary writing to the EEPROM
-               reg = get_reg(sc, LAN91C111_CONTROL);
-               reg |= LAN91C111_CONTROL_EEPROM_SELECT;
-               put_reg(sc, LAN91C111_CONTROL, reg );
-
-               for (i = 0; i < sizeof(cpd->enaddr); i += 2) {
-                       int j;
-                       // Set the address register
-                       put_reg(sc, LAN91C111_POINTER, LAN91C111_ESA_EEPROM_OFFSET + i/2);
-                       // Poke the data
-                       put_reg(sc, LAN91C111_GENERAL, esa[i] | (esa[i+1] << 8));
-                       // Command the store
-                       reg = get_reg(sc, LAN91C111_CONTROL);
-                       reg |= LAN91C111_CONTROL_STORE;
-                       put_reg(sc, LAN91C111_CONTROL, reg );
-                       // and poll for completion
-                       for ( j = 1024 * 1024; 0 < j ; j-- ) {
-                               reg = get_reg(sc, LAN91C111_CONTROL);
-                               if ( 0 == (reg & LAN91C111_CONTROL_EEPROM_BUSY) )
-                                       break;
-                       }
-                       CYG_ASSERT( 0 < j, "EEPROM write timout!" );
-               }
-
-               reg = get_reg(sc, LAN91C111_CONTROL);
-               CYG_ASSERT( 0 == (reg & LAN91C111_CONTROL_EEPROM_BUSY),
-                           "EEPROM still busy!" );
-               // Clear the EEPROM selection bit
-               reg &=~LAN91C111_CONTROL_EEPROM_SELECT;
-               put_reg(sc, LAN91C111_CONTROL, reg );
-               // and check it "took"
-               reg = get_reg(sc, LAN91C111_CONTROL);
-               CYG_ASSERT(0 == (reg & LAN91C111_CONTROL_EEPROM_SELECT),
-                           "EEPROM still selected!");
-               // and command a complete reload
-               reg |= LAN91C111_CONTROL_RELOAD;
-               put_reg(sc, LAN91C111_CONTROL, reg);
-               for (i = 1024 * 1024; 0 < i ; i--) {
-                       reg = get_reg(sc, LAN91C111_CONTROL);
-                       if (0 == (reg & LAN91C111_CONTROL_EEPROM_BUSY))
-                               break;
-               }
-               CYG_ASSERT( 0 < i, "EEPROM reload timout!" );
-               // Now extract the MAC address that is in the chip, and tell the
-               // system about it.
-               for (i = 0; i < sizeof(cpd->enaddr); i += 2) {
-                       unsigned short z = get_reg(sc, LAN91C111_IA01+i/2 );
-                       cpd->enaddr[i] =   (unsigned char)(0xff & z);
-                       cpd->enaddr[i+1] = (unsigned char)(0xff & (z >> 8));
-               }
-#if DEBUG_SMSC & 9
-               diag_printf("LAN91C111 - eeprom new ESA: %02x:%02x:%02x:%02x:%02x:%02x\n",
-                           cpd->enaddr[0],
-                           cpd->enaddr[1],
-                           cpd->enaddr[2],
-                           cpd->enaddr[3],
-                           cpd->enaddr[4],
-                           cpd->enaddr[5] );
-#endif // DEBUG_SMSC
-               for (i = 0; i < sizeof(cpd->enaddr); i++ ) {
-                       CYG_ASSERT( esa[i] == cpd->enaddr[i], "ESA not written correctly" );
-                       if ( esa[i] != cpd->enaddr[i] )
-                               return 1; // the operation failed.
-               }
-#else // not CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM
-               // Whatever, we can write the MAC address into the interface info,
-               // and the chip registers no problem.
-               for ( i = 0; i < sizeof(cpd->enaddr); i++ )
-                       cpd->enaddr[i] = esa[i];
-               for (i = 0; i < sizeof(cpd->enaddr); i += 2) {
-                       reg = cpd->enaddr[i] | (cpd->enaddr[i+1] << 8);
-                       put_reg(sc, LAN91C111_IA01+i/2, reg );
-               }
-#endif // !CYGSEM_DEVS_ETH_SMSC_LAN91C111_WRITE_EEPROM
-               return 0;
-
-#ifdef ETH_DRV_GET_MAC_ADDRESS
-       case ETH_DRV_GET_MAC_ADDRESS:
-               // Extract the MAC address that is in the chip, and tell the
-               // system about it.
-               for (i = 0; i < sizeof(cpd->enaddr); i += 2) {
-                       unsigned short z = get_reg(sc, LAN91C111_IA01+i/2 );
-                       esa[i] =   (unsigned char)(0xff & z);
-                       esa[i+1] = (unsigned char)(0xff & (z >> 8));
-               }
-               return 0;
-#endif
-
-#ifdef ETH_DRV_GET_IF_STATS_UD
-       case ETH_DRV_GET_IF_STATS_UD: // UD == UPDATE
-#endif
-               // drop through
-#ifdef ETH_DRV_GET_IF_STATS
-       case ETH_DRV_GET_IF_STATS:
-#endif
-#if defined(ETH_DRV_GET_IF_STATS) || defined (ETH_DRV_GET_IF_STATS_UD)
-               {
-                       struct ether_drv_stats *p = (struct ether_drv_stats *)data;
-                       // Chipset entry is no longer supported; RFC1573.
-                       for (i = 0; i < SNMP_CHIPSET_LEN; i++)
-                               p->snmp_chipset[i] = 0;
-
-                       // This perhaps should be a config opt, so you can make up your own
-                       // description, or supply it from the instantiation.
-                       strcpy( p->description, "SMSC LAN91C111" );
-                       // CYG_ASSERT( 48 > strlen(p->description), "Description too long" );
-
-                       reg = smc_read_phy_register(sc, 0, 1);
-
-                       if ((reg & PHY_STAT_LINK) == 0) {
-                               p->operational = 2;     // LINK DOWN
-                               p->duplex = 1;          // UNKNOWN
-                               p->speed = 0;
-                       } else {
-                               p->operational = 3;     // LINK UP
-                               p->duplex = 2;          // 2 = SIMPLEX, 3 = DUPLEX
-                               p->speed = 10 * 1000000;// it's only a 10Mbit device
-                       }
-#ifdef KEEP_STATISTICS
-                       {
-                               struct smsc_lan91c111_stats *ps = &cpd->stats;
-
-                               // Admit to it...
-                               p->supports_dot3        = true;
-
-                               p->tx_good              = ps->tx_good             ;
-                               p->tx_max_collisions    = ps->tx_max_collisions   ;
-                               p->tx_late_collisions   = ps->tx_late_collisions  ;
-                               p->tx_underrun          = ps->tx_underrun         ;
-                               p->tx_carrier_loss      = ps->tx_carrier_loss     ;
-                               p->tx_deferred          = ps->tx_deferred         ;
-                               p->tx_sqetesterrors     = ps->tx_sqetesterrors    ;
-                               p->tx_single_collisions = ps->tx_single_collisions;
-                               p->tx_mult_collisions   = ps->tx_mult_collisions  ;
-                               p->tx_total_collisions  = ps->tx_total_collisions ;
-                               p->rx_good              = ps->rx_good             ;
-                               p->rx_crc_errors        = ps->rx_crc_errors       ;
-                               p->rx_align_errors      = ps->rx_align_errors     ;
-                               p->rx_resource_errors   = ps->rx_resource_errors  ;
-                               p->rx_overrun_errors    = ps->rx_overrun_errors   ;
-                               p->rx_collisions        = ps->rx_collisions       ;
-                               p->rx_short_frames      = ps->rx_short_frames     ;
-                               p->rx_too_long_frames   = ps->rx_too_long_frames  ;
-                               p->rx_symbol_errors     = ps->rx_symbol_errors    ;
-
-                               p->interrupts           = ps->interrupts          ;
-                               p->rx_count             = ps->rx_count            ;
-                               p->rx_deliver           = ps->rx_deliver          ;
-                               p->rx_resource          = ps->rx_resource         ;
-                               p->rx_restart           = ps->rx_restart          ;
-                               p->tx_count             = ps->tx_count            ;
-                               p->tx_complete          = ps->tx_complete         ;
-                               p->tx_dropped           = ps->tx_dropped          ;
-                       }
-#endif // KEEP_STATISTICS
-                       p->tx_queue_len = 1;
-                       return 0; // OK
-               }
-#endif
-       }
-       return 1;
-}
-
-//
-// This routine is called to see if it is possible to send another packet.
-// It will return non-zero if a transmit is possible, zero otherwise.
-//
-static int lan91c111_can_send(struct eth_drv_sc *sc)
-{
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-#ifdef CHECK_LINK_STAT
-       unsigned short stat;
-#endif
-       int tcr;
-
-       DEBUG_FUNCTION();
-#ifdef CHECK_LINK_STAT
-       // You don't want to do this normally on every packet
-       stat = smc_read_phy_register(sc, 0, 1);
-       if ((stat & PHY_STAT_LINK) == 0) {
-               return false;  // Link not connected
-       }
-#endif
-       CYG_ASSERT( cpd->within_send < 10, "can_send: Excess send recursions" );
-       cpd->within_send++;
-
-       tcr = get_reg(sc, LAN91C111_TCR);
-       if (0 == (LAN91C111_TCR_TXENA & tcr)) {
-#if DEBUG_SMSC & 1
-               diag_printf("%s: ENGINE RESTART: tcr %x\n", __FUNCTION__, tcr );
-#endif
-               // Complete any outstanding activity:
-               if (cpd->txbusy) {
-                       cpd->txbusy = 0;
-#if DEBUG_SMSC & 9
-                       diag_printf("LAN91C111 - can_send, cleaning up pending TX\n" );
-#endif
-                       sc->funs->eth_drv->tx_done(sc, cpd->txkey, 0);
-               }
-
-               tcr |= LAN91C111_TCR_TXENA;
-               put_reg(sc, LAN91C111_TCR, tcr);
-       }
-
-       // This helps unstick deadly embraces.
-       lan91c111_poll(sc); // Deal with any outstanding rx state
-       cpd->within_send--;
-
-       return (cpd->txbusy == 0) && (0 == cpd->within_send);
-}
-
-//
-// This routine is called to send data to the hardware.
-static void
-lan91c111_send(struct eth_drv_sc *sc, struct eth_drv_sg *sg_list, int sg_len,
-              int total_len, unsigned long key)
-{
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-       int i, len, plen, tcr;
-
-       unsigned short *sdata = NULL;
-       unsigned short ints, control;
-       cyg_uint16 packet, status;
-
-       DEBUG_FUNCTION();
-
-       INCR_STAT(tx_count);
-
-       // Worry about the TX engine stopping.
-       tcr = get_reg(sc, LAN91C111_TCR);
-       if (0 == (LAN91C111_TCR_TXENA & tcr)) {
-#if DEBUG_SMSC & 1
-               diag_printf("%s: ENGINE RESTART: tcr %x\n", __FUNCTION__, tcr );
-#endif
-               tcr |= LAN91C111_TCR_TXENA;
-               put_reg(sc, LAN91C111_TCR, tcr);
-       }
-
-       // This helps unstick deadly embraces.
-       CYG_ASSERT(cpd->within_send < 10, "send: Excess send recursions" );
-       cpd->within_send++;
-       lan91c111_poll(sc); // Deal with any outstanding rx state
-       cpd->within_send--;
-
-       cpd->txbusy = 1;
-       cpd->txkey = key;
-
-       // Find packet length
-       plen = 0;
-       for (i = 0; i < sg_len; i++) {
-               plen += sg_list[i].len;
-       }
-       CYG_ASSERT(plen == total_len, "sg data length mismatch");
-
-       // Alloc new TX packet
-       do {
-               //put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_alloc_for_tx | ((plen >> 8) & 0x07));
-               put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_alloc_for_tx);
-
-               i = 1024 * 1024;
-               do {
-                       status = get_reg(sc, LAN91C111_INTERRUPT);
-               } while (0 == (status & LAN91C111_INTERRUPT_ALLOC_INT) && (--i > 0) );
-               if (i) {
-                       packet = get_reg(sc, LAN91C111_PNR);
-               } else {
-                       packet = 0xffff;
-               }
-#if DEBUG_SMSC & 1
-               diag_printf("%s: allocated packet %04x\n", __FUNCTION__, packet);
-#endif
-               packet = packet >> 8;
-               if (packet & 0x80) {
-                       // Hm.. Isn't this a dead end?
-#if 0 //DEBUG_SMSC & 1
-                       diag_printf("%s: Allocation failed! Retrying...\n", __FUNCTION__ );
-#endif
-                       // Not if we can make progress with what's filling memory.
-                       lan91c111_poll(sc); // Deal with any outstanding state
-                       continue;
-               }
-       } while (0);
-
-#if DEBUG_SMSC & 4
-       diag_printf("#####Tx packet allocated %x (previous %x)\n",
-                   packet, cpd->txpacket);
-#endif
-       cpd->txpacket = packet;
-
-       put_reg(sc, LAN91C111_PNR, packet);
-       // Note: Check FIFO state here before continuing?
-       put_reg(sc, LAN91C111_POINTER, LAN91C111_POINTER_AUTO_INCR | 0x0000);
-       // Pointer is now set, and the proper bank is selected for
-       // data writes.
-
-       // Prepare header:
-       put_data(sc, 0);        // reserve space for status word
-       // packet length (includes status, byte-count and control shorts)
-       put_data(sc, 0x7FE & (plen + 6) ); // Always even, always < 15xx(dec)
-
-#if DEBUG_SMSC & 16
-       diag_printf("writing packet data into Tx-FIFO ...\n");
-       diag_printf("interrupt status is: %04X\n", get_reg(sc, LAN91C111_INTERRUPT));
-       diag_printf("%02X %02X %02X %02X ", 0, 0, (0x7FE & (plen + 6)) & 0xff, (0x7FE & (plen + 6))>>8);
-       u=4;
-#endif
-       // Put data into buffer
-       for (i = 0;  i < sg_len;  i++) {
-               sdata = (unsigned short *)sg_list[i].buf;
-               len = sg_list[i].len;
-
-               CYG_ASSERT(0 == (len & 1) || (i == (sg_len-1)), "odd length");
-               CYG_ASSERT( sdata, "No sg data pointer here" );
-               while (len >= sizeof(*sdata)) {
-                       put_data(sc, *sdata++);
-#if DEBUG_SMSC & 16 // dump packet written into FIFO
-                       diag_printf("%02X ", *(sdata-1)&0xff);
-                       diag_printf("%02X ", (*(sdata-1)>>8)&0xff);
-                       u++;
-                       u++;
-                       if (u==16) {
-                               u=0;
-                               diag_printf("\n");
-                       }
-#endif
-                       len -= sizeof(*sdata);
-               }
-       }
-
-       CYG_ASSERT( sdata, "No sg data pointer outside" );
-
-       // Lay down the control short unconditionally at the end.
-       // (or it might use random memory contents)
-       control = 0;
-
-       if (1 & plen) {
-               // Need to set ODD flag and insert the data
-               unsigned char onebyte = *(unsigned char*)sdata;
-               control = onebyte;
-               control |= LAN91C111_CONTROLBYTE_ODD;
-       }
-       control |= LAN91C111_CONTROLBYTE_CRC; // Just in case...
-       put_data(sc, control);
-#if DEBUG_SMSC & 16
-       diag_printf("%02X %02X\n", control & 0xff, (control>>8)&0xff);
-#endif
-       // Enqueue the packet
-       // put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_enq_packet);
-
-       // Ack TX empty int and unmask it.
-       ints = get_reg(sc, LAN91C111_INTERRUPT);
-
-       ints |= LAN91C111_INTERRUPT_TX_SET_ACK;  // Do we really need the TX ack here ????
-       put_reg(sc, LAN91C111_INTERRUPT, ints);
-
-       ints |= LAN91C111_INTERRUPT_TX_SET_M;
-       put_reg(sc, LAN91C111_INTERRUPT, ints);
-
-       // Enqueue the packet
-       put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_enq_packet);
-
-#if DEBUG_SMSC & 1
-       ints = get_reg(sc, LAN91C111_INTERRUPT);
-       diag_printf("%s:END: ints at TX: %04x\n", __FUNCTION__, ints);
-#endif
-}
-
-static void
-lan91c111_TxEvent(struct eth_drv_sc *sc, int stat)
-{
-       unsigned short packet, ints, tcr;
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-       int success = 1;
-
-       DEBUG_FUNCTION();
-
-       INCR_STAT(tx_complete);
-
-       // Ack and mask TX interrupt set
-       ints = get_reg(sc, LAN91C111_INTERRUPT);
-
-       ints &=~LAN91C111_INTERRUPT_TX_FIFO_ACK; // Do NOT ACK this one here.
-       ints |= LAN91C111_INTERRUPT_TX_SET_ACK; // Also ACKs other sources!
-       ints &= ~LAN91C111_INTERRUPT_TX_SET_M;
-       put_reg(sc, LAN91C111_INTERRUPT, ints);
-
-       // Get number of completed packet and read the status word
-       packet = get_reg(sc, LAN91C111_FIFO_PORTS);
-#if DEBUG_SMSC & 1
-       diag_printf("%s:START: fifo %04x ints %04x\n", __FUNCTION__, packet, ints);
-#endif
-
-#ifdef KEEP_STATISTICS
-       {
-               unsigned short reg;
-
-               reg = get_reg( sc, LAN91C111_EPH_STATUS );
-
-               // Covering each bit in turn...
-               if ( reg & LAN91C111_STATUS_TX_UNRN   ) INCR_STAT( tx_underrun );
-               //if ( reg & LAN91C111_STATUS_LINK_OK ) INCR_STAT(  );
-               //if ( reg & LAN91C111_STATUS_CTR_ROL ) INCR_STAT(  );
-               //if ( reg & LAN91C111_STATUS_EXC_DEF ) INCR_STAT(  );
-               if ( reg & LAN91C111_STATUS_LOST_CARR ) INCR_STAT( tx_carrier_loss );
-               if ( reg & LAN91C111_STATUS_LATCOL    ) INCR_STAT( tx_late_collisions );
-               //if ( reg & LAN91C111_STATUS_WAKEUP  ) INCR_STAT(  );
-               if ( reg & LAN91C111_STATUS_TX_DEFR   ) INCR_STAT( tx_deferred );
-               //if ( reg & LAN91C111_STATUS_LTX_BRD ) INCR_STAT(  );
-               if ( reg & LAN91C111_STATUS_SQET      ) INCR_STAT( tx_sqetesterrors );
-               if ( reg & LAN91C111_STATUS_16COL     ) INCR_STAT( tx_max_collisions );
-               //if ( reg & LAN91C111_STATUS_LTX_MULT) INCR_STAT(  );
-               if ( reg & LAN91C111_STATUS_MUL_COL   ) INCR_STAT( tx_mult_collisions );
-               if ( reg & LAN91C111_STATUS_SNGL_COL  ) INCR_STAT( tx_single_collisions );
-               if ( reg & LAN91C111_STATUS_TX_SUC    ) INCR_STAT( tx_good );
-
-               cpd->stats.tx_total_collisions =
-                       cpd->stats.tx_late_collisions +
-                       cpd->stats.tx_max_collisions +
-                       cpd->stats.tx_mult_collisions +
-                       cpd->stats.tx_single_collisions;
-
-               // We do not need to look in the Counter Register (LAN91C111_COUNTER)
-               // because it just mimics the info we already have above.
-       }
-#endif // KEEP_STATISTICS
-
-#if DEBUG_SMSC & 16
-       diag_printf("transmit status is: %04X\n", get_reg(sc, LAN91C111_EPH_STATUS));
-#endif
-       // We do not really care about Tx failure.  Ethernet is not a reliable
-       // medium.  But we do care about the TX engine stopping.
-       tcr = get_reg(sc, LAN91C111_TCR);
-       if (0 == (LAN91C111_TCR_TXENA & tcr)) {
-#if DEBUG_SMSC & 1
-               diag_printf("%s: ENGINE RESTART: tcr %x ints %04x\n", __FUNCTION__, tcr, ints);
-#endif
-               tcr |= LAN91C111_TCR_TXENA;
-               put_reg(sc, LAN91C111_TCR, tcr);
-               success = 0; // And treat this as an error...
-       }
-
-       packet &= 0xff;
-
-       // Ack the TX int which is supposed to clear the packet from the TX
-       // completion queue.
-       ints = get_reg(sc, LAN91C111_INTERRUPT);
-       ints |= LAN91C111_INTERRUPT_TX_FIFO_ACK;
-       put_reg(sc, LAN91C111_INTERRUPT, ints);
-
-       // It certainly appears that occasionally the tx fifo tells lies; we
-       // get the wrong packet number.  Freeing the one we allocated seems to
-       // give correct operation.
-#ifdef CYGPKG_INFRA_DEBUG
-       // Then we log, OOI, the number of times we get a bad packet number
-       // from the tx done fifo.
-       if (cpd->txpacket != packet )
-               lan91c111_txfifo_bad++;
-       else
-               lan91c111_txfifo_good++;
-#endif
-#if DEBUG_SMSC & 4
-       diag_printf("#####Tx packet freed %x (expected %x)\n", packet, cpd->txpacket );
-#endif
-       // and then free the packet
-       put_reg(sc, LAN91C111_PNR, cpd->txpacket);
-       put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_rel_packet);
-
-#if DEBUG_SMSC & 1
-       // Hm... The free doesn't seem to have the desired effect?!?
-       ints = get_reg(sc, LAN91C111_INTERRUPT);
-       packet = get_reg(sc, LAN91C111_FIFO_PORTS);
-       diag_printf("%s:END: fifo %04x ints %04x\n", __FUNCTION__, packet, ints);
-#endif
-       if (cpd->txbusy) {
-               cpd->txbusy = 0;
-               sc->funs->eth_drv->tx_done(sc, cpd->txkey, success);
-       }
-}
-
-//
-// This function is called when a packet has been received.  Its job is
-// to prepare to unload the packet from the hardware.  Once the length of
-// the packet is known, the upper layer of the driver can be told.  When
-// the upper layer is ready to unload the packet, the internal function
-// 'lan91c111_recv' will be called to actually fetch it from the hardware.
-//
-static void
-lan91c111_RxEvent(struct eth_drv_sc *sc)
-{
-       struct lan91c111_priv_data *cpd = (struct lan91c111_priv_data *)sc->driver_private;
-       unsigned short stat, len, controlbyte;
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-       unsigned long result;
-#endif
-       DEBUG_FUNCTION();
-
-       stat = get_reg(sc, LAN91C111_FIFO_PORTS);
-#if DEBUG_SMSC & 1
-       diag_printf("RxEvent - FIFOs: 0x%04x\n", stat);
-#endif
-       if (0x8000 & stat)
-               // Then the Rx FIFO is empty
-               return;
-
-       INCR_STAT(rx_count);
-
-#if DEBUG_SMSC & 4
-       diag_printf("#####Rx packet allocated %x (previous %x)\n",
-                   0xff & (stat >> 8), cpd->rxpacket );
-#endif
-       // There is an Rx Packet ready
-       cpd->rxpacket = 0xff & (stat >> 8);
-
-       // Read status and (word) length
-       put_reg(sc, LAN91C111_POINTER, (LAN91C111_POINTER_RCV | LAN91C111_POINTER_READ |
-                                       LAN91C111_POINTER_AUTO_INCR | 0x0000));
-
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-       result = get_data32(sc);
-       stat = (unsigned short)(result & 0xffff);
-       len = (unsigned short)(result >> 16);
-#else
-       stat = get_data(sc);
-       len = get_data(sc);             // minus header/footer words
-#endif
-       len &= 0x7ff;
-       len = len - 6;             // minus header/footer words
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-       // Read control byte at end of packet to get last bit of length
-       put_reg(sc, LAN91C111_POINTER, (LAN91C111_POINTER_RCV | LAN91C111_POINTER_READ |
-                                       LAN91C111_POINTER_AUTO_INCR | (len + 4)));
-       if (!(len % 4)) {
-               put_reg(sc, LAN91C111_POINTER, (LAN91C111_POINTER_RCV | LAN91C111_POINTER_READ |
-                                               LAN91C111_POINTER_AUTO_INCR | (len + 2)));
-               result = get_data32(sc);
-               controlbyte = (unsigned short)((result >> 16) & 0xffff);
-       } else {
-               put_reg(sc, LAN91C111_POINTER, (LAN91C111_POINTER_RCV | LAN91C111_POINTER_READ |
-                                               LAN91C111_POINTER_AUTO_INCR | (len + 4)));
-               result = get_data32(sc);
-               controlbyte = (unsigned short)((result) & 0xffff);
-       }
-#else
-       // Read control byte at end of packet to get last bit of length
-       put_reg(sc, LAN91C111_POINTER, (LAN91C111_POINTER_RCV | LAN91C111_POINTER_READ |
-                                       LAN91C111_POINTER_AUTO_INCR | (len + 4)));
-       controlbyte = get_data(sc);
-#endif
-#ifdef KEEP_STATISTICS
-       if ( stat & LAN91C111_RX_STATUS_ALIGNERR ) INCR_STAT( rx_align_errors );
-       //if ( stat & LAN91C111_RX_STATUS_BCAST    ) INCR_STAT(  );
-       if ( stat & LAN91C111_RX_STATUS_BADCRC   ) INCR_STAT( rx_crc_errors );
-       if ( stat & LAN91C111_RX_STATUS_TOOLONG  ) INCR_STAT( rx_too_long_frames );
-       if ( stat & LAN91C111_RX_STATUS_TOOSHORT ) INCR_STAT( rx_short_frames );
-       //if ( stat & LAN91C111_RX_STATUS_MCAST    ) INCR_STAT(  );
-#endif // KEEP_STATISTICS
-       if (controlbyte & LAN91C111_CONTROLBYTE_RX) {
-               INCR_STAT( rx_good );
-               // Then it's OK
-               if (controlbyte & LAN91C111_CONTROLBYTE_ODD)
-                       len++;
-#if DEBUG_SMSC & 32
-               diag_printf("RxEvent good rx - stat: 0x%04x, len: 0x%04x\n", stat, len);
-#endif
-               // Check for bogusly short packets; can happen in promisc mode:
-               // Asserted against and checked by upper layer driver.
-#ifdef CYGPKG_NET
-               if (len > sizeof(struct ether_header))
-                       // then it is acceptable; offer the data to the network stack
-#endif
-                       sc->funs->eth_drv->recv(sc, len);
-               return;
-       }
-       // Not OK for one reason or another...
-#if DEBUG_SMSC & 32
-       diag_printf("RxEvent - No RX bit: stat: 0x%04x, len: %d, control'byte' 0x%04x\n",
-                   stat, len, controlbyte);
-#endif
-#if DEBUG_SMSC & 4
-       stat = get_reg(sc, LAN91C111_FIFO_PORTS);
-       if ( 0x8000 & stat ) // Then the Rx FIFO is empty
-               diag_printf("#####Rx packet (bad controlbyte) NOT freed, stat is %x (expected %x)\n",
-                           stat, cpd->rxpacket );
-       else
-               diag_printf("#####Rx packet (bad controlbyte) freed %x (expected %x)\n",
-                           0xff & (stat >> 8), cpd->rxpacket );
-#endif
-       // Free packet
-       put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_remrel_rx_frame);
-}
-
-//
-// This function is called as a result of the "eth_drv_recv()" call above.
-// Its job is to actually fetch data for a packet from the hardware once
-// memory buffers have been allocated for the packet.  Note that the buffers
-// may come in pieces, using a scatter-gather list.  This allows for more
-// efficient processing in the upper layers of the stack.
-//
-static void
-lan91c111_recv(struct eth_drv_sc *sc, struct eth_drv_sg *sg_list, int sg_len)
-{
-#if (4 & DEBUG_SMSC) || defined(CYGPKG_INFRA_DEBUG) || defined(KEEP_STATISTICS)
-       struct lan91c111_priv_data *cpd =
-               (struct lan91c111_priv_data *)sc->driver_private;
-#endif
-       int i, mlen=0, plen;
-       unsigned short *data = NULL, val;
-       unsigned char *cp, cval;
-       int u, wleft = 0;
-       unsigned long result = 0;
-       unsigned short stat;
-       int dump_buf = 0;
-
-       DEBUG_FUNCTION();
-#if DEBUG_SMSC & 32
-       diag_printf("\n\n\nreceiving package .... \n");
-#endif
-       INCR_STAT(rx_deliver);
-
-       put_reg(sc, LAN91C111_POINTER, (LAN91C111_POINTER_RCV | LAN91C111_POINTER_READ |
-                                       LAN91C111_POINTER_AUTO_INCR | 0x0000));
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-       result = get_data32(sc);
-       stat = (unsigned short)(result & 0xffff);
-       plen = (unsigned short)(result >> 16) -6;
-#else
-       stat = get_data(sc);
-       plen = get_data(sc) -6;         // minus header/footer words
-#endif
-       if (!((stat & 0x4000) || (stat & 0x0001))) {
-               dump_buf=1;             // don't want to see BroadCast and Multicast
-       }
-       u = 0;
-
-       for (i = 0;  i < sg_len;  i++) {
-               data = (unsigned short *)sg_list[i].buf;
-               mlen = sg_list[i].len;
-
-               CYG_ASSERT(0 == (mlen & 1) || (i == (sg_len-1)), "odd length");
-#if DEBUG_SMSC & 1
-               diag_printf("%s : mlen %x, plen %x\n", __FUNCTION__, mlen, plen);
-#endif
-#if (DEBUG_SMSC & 128)
-               if (dump_buf) {
-                       diag_printf("\n\n\ndumping receive buffer:\n");
-                       diag_printf("Status of packet is 0x%04X\n", stat);
-                       diag_printf("Data length of packet is %d\n", plen);
-               }
-#endif
-               wleft = 0;
-               if (data) {
-                       while (mlen >= sizeof(*data)) {
-                               if (!wleft) {
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-                                       result = get_data32(sc);
-#else
-                                       result = get_data(sc) & 0xffff;
-                                       result |= (get_data(sc)<<16);
-#endif
-                                       wleft = 2;
-                               }
-
-                               if (wleft == 2) {
-                                       *data++ = (unsigned short)(result & 0xffff);
-                                       wleft--;
-                               } else {
-                                       *data++ = (unsigned short)((result>>16) & 0xffff);
-                                       wleft--;
-                               }
-
-#if (DEBUG_SMSC & 128)
-                               if (dump_buf) {
-                                       diag_printf("%02X ", *(data-1)& 0xff);                  // low byte
-                                       diag_printf("%02X ", (*(data-1)& 0xff00)>>8);   // high byte
-
-                                       u++;
-                                       if (u==16) {
-                                               diag_printf("\n");
-                                               u=0;
-                                       }
-                               }
-
-#endif
-
-                               mlen -= sizeof(*data);
-                               plen -= sizeof(*data);
-                       }
-               } else { // must actively discard ie. read it from the chip anyway.
-                       while (mlen >= sizeof(*data)) {
-
-                               if (!wleft) {
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-                                       result = get_data32(sc);
-#else
-                                       result = get_data(sc);
-                                       result = get_data(sc);
-#endif
-                                       wleft = 1;
-                               }
-
-                               mlen -= sizeof(*data);
-                               plen -= sizeof(*data);
-                       }
-               }
-       }
-       if (wleft == 1) {
-               val = (unsigned short)((result>>16) & 0xffff); // Read control word unconditionally
-       } else {
-#ifdef CYGSEM_DEVS_ETH_SMSC_LAN91C111_USE_32BIT
-               val = (unsigned short)(get_data32(sc) & 0xffff);
-#else
-               val = get_data(sc);
-#endif
-       }
-
-       CYG_ASSERT(val & LAN91C111_CONTROLBYTE_RX,
-                  "Controlbyte is not for Rx");
-       CYG_ASSERT( (1 == mlen) == (0 != (val & LAN91C111_CONTROLBYTE_ODD)),
-                   "Controlbyte does not match");
-       if (data && (1 == mlen) && (val & LAN91C111_CONTROLBYTE_ODD)) {
-               cval = val & 0x00ff;    // last byte contains data
-               cp = (unsigned char*)data;
-               *cp = cval;
-
-#if (DEBUG_SMSC & 128)
-               if (dump_buf) {
-                       diag_printf("\nlast byte written to buffer: %02X \n",cval);
-               }
-#endif
-       }
-
-       val = get_reg(sc, LAN91C111_FIFO_PORTS);
-#if DEBUG_SMSC & 4
-       if (0x8000 & val) { // Then the Rx FIFO is empty
-               diag_printf("#####Rx packet NOT freed, stat is %x (expected %x)\n",
-                           val, cpd->rxpacket);
-       } else {
-               diag_printf("#####Rx packet freed %x (expected %x)\n",
-                           0xff & (val >> 8), cpd->rxpacket);
-       }
-#endif
-       CYG_ASSERT((0xff & (val >> 8)) == cpd->rxpacket, "Unexpected rx packet");
-
-       // Free packet
-       put_reg(sc, LAN91C111_MMU_COMMAND, LAN91C111_MMU_remrel_rx_frame);
-}
-
-static void
-lan91c111_poll(struct eth_drv_sc *sc)
-{
-       unsigned short event;
-
-       DEBUG_FUNCTION();
-
-       while (1) {
-               // Get the (unmasked) requests
-               event = get_reg(sc, LAN91C111_INTERRUPT);
-
-               //diag_printf("LAN91C111_INTERRUPT_REGISTER: %04X\n", event);
-
-               event &= event >> 8;
-               //diag_printf("event: %04X\n", event);
-
-               if (0 == event) {
-                       break;
-               } else if (event & LAN91C111_INTERRUPT_ERCV_INT) {
-                       // Early receive interrupt
-               } else if (event & LAN91C111_INTERRUPT_EPH_INT) {
-                       // ethernet protocol handler failures
-               } else if (event & LAN91C111_INTERRUPT_RX_OVRN_INT) {
-                       // receive overrun
-               } else if (event & LAN91C111_INTERRUPT_ALLOC_INT) {
-                       // allocation interrupt
-               } else if (event & LAN91C111_INTERRUPT_TX_SET) {
-                       lan91c111_TxEvent(sc, event);
-               } else if (event & LAN91C111_INTERRUPT_RCV_INT) {
-                       lan91c111_RxEvent(sc);
-               } else {
-                       diag_printf("%s: Unknown interrupt: 0x%04x\n",
-                                   __FUNCTION__, event);
-               }
-       }
-}
diff --git a/packages/devs/eth/smsc/lan91c111/v2_0/src/smsc_lan91c111.h b/packages/devs/eth/smsc/lan91c111/v2_0/src/smsc_lan91c111.h
deleted file mode 100755 (executable)
index 11d20b4..0000000
+++ /dev/null
@@ -1,550 +0,0 @@
-#ifndef CYGONCE_DEVS_ETH_SMSC_LAN91C111_LAN91C111_H
-#define CYGONCE_DEVS_ETH_SMSC_LAN91C111_LAN91C111_H
-//==========================================================================
-//
-//      lan91c111.h
-//
-//      SMCS LAN91C111 (LAN91C111 compatible) Ethernet chip
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//####BSDCOPYRIGHTBEGIN####
-//
-// -------------------------------------------
-//
-// Portions of this software may have been derived from OpenBSD or other sources,
-// and are covered by the appropriate copyright disclaimers included herein.
-//
-// -------------------------------------------
-//
-//####BSDCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    jskov, usteinkohl
-// Contributors: jskov, hmt, jco, usteinkohl
-// Date:         2001-01-22
-// Purpose:      Hardware description of LAN9000 series, LAN91C96/110.
-//                              modified by usteinkohl for LAN91C111 chip
-// Description:  
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <cyg/hal/hal_io.h>
-
-
-
-// Set to perms of:
-// 0 disables all debug output
-// 1 for process debug output
-// 2 for added data IO output: get_reg, put_reg
-// 4 for packet allocation/free output
-// 8 for only startup status, so we can tell we're installed OK
-
-// 128 dump Rx buffer
-#define DEBUG_SMSC (0x00)
-
-#define PHY_LAN83C183  0x0016f840
-#define PHY_LAN83C180  0x02821c50
-
-#define LAN91C111_TCR         0x00
-#define LAN91C111_EPH_STATUS  0x01
-#define LAN91C111_RCR         0x02
-#define LAN91C111_COUNTER     0x03
-#define LAN91C111_MIR         0x04
-#define LAN91C111_RPCR        0x05             // for 91C110 this was MCR
-#define LAN91C111_RESERVED_0  0x06
-#define LAN91C111_BS          0x07
-
-
-
-#define LAN91C111_CONFIG      0x08
-#define LAN91C111_BASE_REG    0x09
-#define LAN91C111_IA01        0x0a
-#define LAN91C111_IA23        0x0b
-#define LAN91C111_IA45        0x0c
-#define LAN91C111_GENERAL     0x0d // 91C96 - was "RESERVED_1" for others
-#define LAN91C111_CONTROL     0x0e
-#define LAN91C111_BS2         0x0f
-
-
-
-#define LAN91C111_MMU_COMMAND 0x10
-#define LAN91C111_PNR         0x11
-#define LAN91C111_FIFO_PORTS  0x12
-#define LAN91C111_POINTER     0x13
-#define LAN91C111_DATA        0x15
-#define LAN91C111_DATA_HIGH   0x14
-#define LAN91C111_INTERRUPT   0x16
-#define LAN91C111_BS3         0x17
-
-
-
-#define LAN91C111_MT01        0x18
-#define LAN91C111_MT23        0x19
-#define LAN91C111_MT45        0x1a
-#define LAN91C111_MT67        0x1b
-#define LAN91C111_MGMT        0x1c
-#define LAN91C111_REVISION    0x1d
-#define LAN91C111_ERCV        0x1e
-#define LAN91C111_BS4         0x1f
-
-#define LAN91C111_RCR_SOFT_RST   0x8000    // soft reset
-#define LAN91C111_RCR_FILT_CAR   0x4000    // filter carrier
-#define LAN91C111_RCR_ABORT_ENB  0x2000    // abort on collision
-#define LAN91C111_RCR_STRIP_CRC  0x0200    // strip CRC
-#define LAN91C111_RCR_RXEN       0x0100    // enable RX
-#define LAN91C111_RCR_ALMUL      0x0004    // receive all muticasts
-#define LAN91C111_RCR_PRMS       0x0002    // promiscuous
-#define LAN91C111_RCR_RX_ABORT   0x0001    // set when abort due to long frame
-
-
-
-#define LAN91C111_RPCR_SPEED                   0x2000    // Speed select
-#define LAN91C111_RPCR_DPLX            0x1000    // Speed select
-#define LAN91C111_RPCR_ANEG            0x0800    // Speed select
-
-
-#define LAN91C111_MGMT__MDOE           0x0008
-#define LAN91C111_MGMT__MCLK           0x0004
-#define LAN91C111_MGMT__MDI                    0x0002
-#define LAN91C111_MGMT__MDO                    0x0001
-
-
-#define LAN91C111_CONFIG_EXT_PHY       0x0200
-#define        LAN91C111_CONFIG_POW_EN         0x8000
-#define LAN91C111_CONFIG_NO_WAIT       0x1000
-
-
-
-#define LAN91C111_TCR_SWFDUP     0x8000    // Switched Full Duplex mode
-//#define LAN91CXX_TCR_ETEN_TYPE  0x4000    // ETEN type (91C96) 0 <=> like a 91C94
-#define LAN91C111_TCR_EPH_LOOP   0x2000    // loopback mode
-#define LAN91C111_TCR_STP_SQET   0x1000    // Stop transmission on SQET error
-#define LAN91C111_TCR_FDUPLX     0x0800    // full duplex
-#define LAN91C111_TCR_MON_CSN    0x0400    // monitor carrier during tx (91C96)
-#define LAN91C111_TCR_NOCRC      0x0100    // does not append CRC to frames
-#define LAN91C111_TCR_PAD_EN     0x0080    // pads frames with 00 to min length
-#define LAN91C111_TCR_FORCOL     0x0004    // force collision
-#define LAN91C111_TCR_LLOOP      0x0002    // local loopback (91C96)
-#define LAN91C111_TCR_TXENA      0x0001    // enable
-
-
-
-
-#define LAN91C111_POINTER_RCV        0x8000
-#define LAN91C111_POINTER_AUTO_INCR  0x4000
-#define LAN91C111_POINTER_READ       0x2000
-#define LAN91C111_POINTER_ETEN       0x1000
-#define LAN91C111_POINTER_NOT_EMPTY  0x0800
-
-
-#define LAN91C111_INTERRUPT_MD_INT_M       0x8000 // (91C111)
-#define LAN91C111_INTERRUPT_ERCV_INT_M     0x4000
-#define LAN91C111_INTERRUPT_EPH_INT_M      0x2000
-#define LAN91C111_INTERRUPT_RX_OVRN_INT_M  0x1000
-#define LAN91C111_INTERRUPT_ALLOC_INT_M    0x0800
-#define LAN91C111_INTERRUPT_TX_EMPTY_INT_M 0x0400
-#define LAN91C111_INTERRUPT_TX_INT_M       0x0200
-#define LAN91C111_INTERRUPT_RCV_INT_M      0x0100
-
-
-
-#define LAN91C111_INTERRUPT_MD_INT         0x0080 // (91C111) also ack
-#define LAN91C111_INTERRUPT_ERCV_INT       0x0040 // also ack
-#define LAN91C111_INTERRUPT_EPH_INT        0x0020
-#define LAN91C111_INTERRUPT_RX_OVRN_INT    0x0010 // also ack
-#define LAN91C111_INTERRUPT_ALLOC_INT      0x0008
-#define LAN91C111_INTERRUPT_TX_EMPTY_INT   0x0004 // also ack
-#define LAN91C111_INTERRUPT_TX_INT         0x0002 // also ack
-#define LAN91C111_INTERRUPT_RCV_INT        0x0001
-
-
-
-
-
-#if 0 // Whichever we choose, the behaviour is the same.
-#define LAN91CXX_INTERRUPT_TX_SET         0x0002 // TX
-#define LAN91CXX_INTERRUPT_TX_SET_ACK     0x0000 // -none-
-#define LAN91CXX_INTERRUPT_TX_FIFO_ACK    0x0002 // TX alone
-#define LAN91CXX_INTERRUPT_TX_SET_M       0x0200 // TX alone
-#else
-#define LAN91C111_INTERRUPT_TX_SET         0x0006 // TX_EMPTY + TX
-#define LAN91C111_INTERRUPT_TX_SET_ACK     0x0004 // TX_EMPTY and not plain TX
-#define LAN91C111_INTERRUPT_TX_FIFO_ACK    0x0002 // TX alone
-#define LAN91C111_INTERRUPT_TX_SET_M       0x0600 // TX_EMPTY + TX
-#endif
-
-
-
-
-
-
-#define LAN91C111_CONTROL_RCV_BAD       0x4000
-#define LAN91C111_CONTROL_AUTO_RELEASE  0x0800
-#define LAN91C111_CONTROL_LE_ENABLE     0x0080
-#define LAN91C111_CONTROL_CR_ENABLE     0x0040
-#define LAN91C111_CONTROL_TE_ENABLE     0x0020
-
-// These are for setting the MAC address in the 91C96 serial EEPROM
-#define LAN91C111_CONTROL_EEPROM_SELECT 0x0004
-#define LAN91C111_CONTROL_RELOAD        0x0002
-#define LAN91C111_CONTROL_STORE         0x0001
-
-
-//#define LAN91CXX_CONTROL_EEPROM_BUSY   0x0003
-//#define LAN91CXX_ESA_EEPROM_OFFSET     0x0020
-
-
-
-#define LAN91C111_STATUS_TX_UNRN        0x8000
-#define LAN91C111_STATUS_LINK_OK        0x4000 // do not use this to check Link status, its just a general purpose input pin
-#define LAN91C111_STATUS_CTR_ROL        0x1000
-#define LAN91C111_STATUS_EXC_DEF        0x0800
-#define LAN91C111_STATUS_LOST_CARR      0x0400
-#define LAN91C111_STATUS_LATCOL         0x0200
-//#define LAN91CXX_STATUS_WAKEUP         0x0100
-#define LAN91C111_STATUS_TX_DEFR        0x0080
-#define LAN91C111_STATUS_LTX_BRD        0x0040
-#define LAN91C111_STATUS_SQET           0x0020
-#define LAN91C111_STATUS_16COL          0x0010
-#define LAN91C111_STATUS_LTX_MULT       0x0008
-#define LAN91C111_STATUS_MUL_COL        0x0004
-#define LAN91C111_STATUS_SNGL_COL       0x0002
-#define LAN91C111_STATUS_TX_SUC         0x0001
-
-
-
-
-#define LAN91C111_MMU_noop              0x0000
-#define LAN91C111_MMU_alloc_for_tx      0x0020
-#define LAN91C111_MMU_reset_mmu         0x0040
-#define LAN91C111_MMU_rem_rx_frame      0x0060
-//#define LAN91CXX_MMU_rem_tx_frame      0x0070 // (91C96) only when TX stopped
-#define LAN91C111_MMU_remrel_rx_frame   0x0080
-#define LAN91C111_MMU_rel_packet        0x00a0
-#define LAN91C111_MMU_enq_packet        0x00c0
-#define LAN91C111_MMU_reset_tx_fifo     0x00e0
-
-
-
-
-
-
-
-#define LAN91C111_CONTROLBYTE_CRC       0x1000
-#define LAN91C111_CONTROLBYTE_ODD       0x2000
-#define LAN91C111_CONTROLBYTE_RX        0x4000
-
-
-
-
-
-#define LAN91C111_RX_STATUS_ALIGNERR    0x8000
-#define LAN91C111_RX_STATUS_BCAST       0x4000
-#define LAN91C111_RX_STATUS_BADCRC      0x2000
-#define LAN91C111_RX_STATUS_ODDFRM      0x1000
-#define LAN91C111_RX_STATUS_TOOLONG     0x0800
-#define LAN91C111_RX_STATUS_TOOSHORT    0x0400
-#define LAN91C111_RX_STATUS_HASHVALMASK 0x007e // MASK
-#define LAN91C111_RX_STATUS_MCAST       0x0001
-
-
-
-// PHY Register Addresses (LAN91C111 Internal PHY)
-
-// PHY Control Register
-#define PHY_CNTL_REG           0x00
-#define PHY_CNTL_RST           0x8000  // 1=PHY Reset
-#define PHY_CNTL_LPBK          0x4000  // 1=PHY Loopback
-#define PHY_CNTL_SPEED         0x2000  // 1=100Mbps, 0=10Mpbs
-#define PHY_CNTL_ANEG_EN       0x1000 // 1=Enable Auto negotiation
-#define PHY_CNTL_PDN           0x0800  // 1=PHY Power Down mode
-#define PHY_CNTL_MII_DIS       0x0400  // 1=MII 4 bit interface disabled
-#define PHY_CNTL_ANEG_RST      0x0200 // 1=Reset Auto negotiate
-#define PHY_CNTL_DPLX          0x0100  // 1=Full Duplex, 0=Half Duplex
-#define PHY_CNTL_COLTST                0x0080  // 1= MII Colision Test
-
-// PHY Status Register
-#define PHY_STAT_REG           0x01
-#define PHY_STAT_CAP_T4                0x8000  // 1=100Base-T4 capable
-#define PHY_STAT_CAP_TXF       0x4000  // 1=100Base-X full duplex capable
-#define PHY_STAT_CAP_TXH       0x2000  // 1=100Base-X half duplex capable
-#define PHY_STAT_CAP_TF                0x1000  // 1=10Mbps full duplex capable
-#define PHY_STAT_CAP_TH                0x0800  // 1=10Mbps half duplex capable
-#define PHY_STAT_CAP_SUPR      0x0040  // 1=recv mgmt frames with not preamble
-#define PHY_STAT_ANEG_ACK      0x0020  // 1=ANEG has completed
-#define PHY_STAT_REM_FLT       0x0010  // 1=Remote Fault detected
-#define PHY_STAT_CAP_ANEG      0x0008  // 1=Auto negotiate capable
-#define PHY_STAT_LINK          0x0004  // 1=valid link
-#define PHY_STAT_JAB           0x0002  // 1=10Mbps jabber condition
-#define PHY_STAT_EXREG         0x0001  // 1=extended registers implemented
-
-// PHY Identifier Registers
-#define PHY_ID1_REG            0x02    // PHY Identifier 1
-#define PHY_ID2_REG            0x03    // PHY Identifier 2
-
-// PHY Auto-Negotiation Advertisement Register
-#define PHY_AD_REG             0x04
-#define PHY_AD_NP              0x8000  // 1=PHY requests exchange of Next Page
-#define PHY_AD_ACK             0x4000  // 1=got link code word from remote
-#define PHY_AD_RF              0x2000  // 1=advertise remote fault
-#define PHY_AD_T4              0x0200  // 1=PHY is capable of 100Base-T4
-#define PHY_AD_TX_FDX          0x0100  // 1=PHY is capable of 100Base-TX FDPLX
-#define PHY_AD_TX_HDX          0x0080  // 1=PHY is capable of 100Base-TX HDPLX
-#define PHY_AD_10_FDX          0x0040  // 1=PHY is capable of 10Base-T FDPLX
-#define PHY_AD_10_HDX          0x0020  // 1=PHY is capable of 10Base-T HDPLX
-#define PHY_AD_CSMA            0x0001  // 1=PHY is capable of 802.3 CMSA
-
-// PHY Auto-negotiation Remote End Capability Register
-#define PHY_RMT_REG            0x05
-// Uses same bit definitions as PHY_AD_REG
-
-// PHY Configuration Register 1
-#define PHY_CFG1_REG           0x10
-#define PHY_CFG1_LNKDIS                0x8000  // 1=Rx Link Detect Function disabled
-#define PHY_CFG1_XMTDIS                0x4000  // 1=TP Transmitter Disabled
-#define PHY_CFG1_XMTPDN                0x2000  // 1=TP Transmitter Powered Down
-#define PHY_CFG1_BYPSCR                0x0400  // 1=Bypass scrambler/descrambler
-#define PHY_CFG1_UNSCDS                0x0200  // 1=Unscramble Idle Reception Disable
-#define PHY_CFG1_EQLZR         0x0100  // 1=Rx Equalizer Disabled
-#define PHY_CFG1_CABLE         0x0080  // 1=STP(150ohm), 0=UTP(100ohm)
-#define PHY_CFG1_RLVL0         0x0040  // 1=Rx Squelch level reduced by 4.5db
-#define PHY_CFG1_TLVL_SHIFT    2       // Transmit Output Level Adjust
-#define PHY_CFG1_TLVL_MASK     0x003C
-#define PHY_CFG1_TRF_MASK      0x0003  // Transmitter Rise/Fall time
-
-
-// PHY Configuration Register 2
-#define PHY_CFG2_REG           0x11
-#define PHY_CFG2_APOLDIS       0x0020  // 1=Auto Polarity Correction disabled
-#define PHY_CFG2_JABDIS                0x0010  // 1=Jabber disabled
-#define PHY_CFG2_MREG          0x0008  // 1=Multiple register access (MII mgt)
-#define PHY_CFG2_INTMDIO       0x0004  // 1=Interrupt signaled with MDIO pulseo
-
-// PHY Status Output (and Interrupt status) Register
-#define PHY_INT_REG            0x12    // Status Output (Interrupt Status)
-#define PHY_INT_INT            0x8000  // 1=bits have changed since last read
-#define        PHY_INT_LNKFAIL         0x4000  // 1=Link Not detected
-#define PHY_INT_LOSSSYNC       0x2000  // 1=Descrambler has lost sync
-#define PHY_INT_CWRD           0x1000  // 1=Invalid 4B5B code detected on rx
-#define PHY_INT_SSD            0x0800  // 1=No Start Of Stream detected on rx
-#define PHY_INT_ESD            0x0400  // 1=No End Of Stream detected on rx
-#define PHY_INT_RPOL           0x0200  // 1=Reverse Polarity detected
-#define PHY_INT_JAB            0x0100  // 1=Jabber detected
-#define PHY_INT_SPDDET         0x0080  // 1=100Base-TX mode, 0=10Base-T mode
-#define PHY_INT_DPLXDET                0x0040  // 1=Device in Full Duplex
-
-// PHY Interrupt/Status Mask Register
-#define PHY_MASK_REG           0x13    // Interrupt Mask
-// Uses the same bit definitions as PHY_INT_REG
-
-
-
-
-
-
-// ------------------------------------------------------------------------
-
-#ifdef KEEP_STATISTICS
-struct smsc_lan91c111_stats {
-    unsigned int tx_good             ;
-    unsigned int tx_max_collisions   ;
-    unsigned int tx_late_collisions  ;
-    unsigned int tx_underrun         ;
-    unsigned int tx_carrier_loss     ;
-    unsigned int tx_deferred         ;
-    unsigned int tx_sqetesterrors    ;
-    unsigned int tx_single_collisions;
-    unsigned int tx_mult_collisions  ;
-    unsigned int tx_total_collisions ;
-    unsigned int rx_good             ;
-    unsigned int rx_crc_errors       ;
-    unsigned int rx_align_errors     ;
-    unsigned int rx_resource_errors  ;
-    unsigned int rx_overrun_errors   ;
-    unsigned int rx_collisions       ;
-    unsigned int rx_short_frames     ;
-    unsigned int rx_too_long_frames  ;
-    unsigned int rx_symbol_errors    ;
-    unsigned int interrupts          ;
-    unsigned int rx_count            ;
-    unsigned int rx_deliver          ;
-    unsigned int rx_resource         ;
-    unsigned int rx_restart          ;
-    unsigned int tx_count            ;
-    unsigned int tx_complete         ;
-    unsigned int tx_dropped          ;
-};
-#endif
-
-typedef struct lan91c111_priv_data {
-       int txbusy;                     // A packet has been sent
-       unsigned long txkey;            // Used to ack when packet sent
-       volatile unsigned short* base;  // Base I/O address of controller
-                                       // (as it comes out of reset)
-       
-       int interrupt;                  // Interrupt vector used by controller
-       unsigned char enaddr[6];        // Controller ESA
-       // Function to configure the ESA - may fetch ESA from EPROM or 
-       // RedBoot config option.
-       cyg_bool (*config_enaddr)(struct lan91c111_priv_data* cpd);
-       int txpacket;
-       int rxpacket;
-       int within_send;
-       int addrsh;                     // Address bits to shift
-#ifdef KEEP_STATISTICS
-       struct smsc_lan91c111_stats stats;
-#endif
-       int phytype;
-       int phyaddr;
-} lan91c111_priv_data;
-
-// ------------------------------------------------------------------------
-
-static __inline__ unsigned short
-get_reg(struct eth_drv_sc *sc, int regno)
-{
-    struct lan91c111_priv_data *cpd =
-        (struct lan91c111_priv_data *)sc->driver_private;
-    unsigned short val;
-    
-    HAL_WRITE_UINT16(cpd->base+(LAN91C111_BS << cpd->addrsh), regno>>3);
-    HAL_READ_UINT16(cpd->base+((regno&0x7) << cpd->addrsh), val);
-#if DEBUG_SMSC & 2
-    diag_printf("read reg %02X val 0x%04x\n", regno, val);
-#endif
-    return val;
-}
-
-static __inline__ void
-put_reg(struct eth_drv_sc *sc, int regno, unsigned short val)
-{
-    struct lan91c111_priv_data *cpd =
-        (struct lan91c111_priv_data *)sc->driver_private;
-       
-    HAL_WRITE_UINT16(cpd->base+(LAN91C111_BS << cpd->addrsh), regno>>3);
-    HAL_WRITE_UINT16(cpd->base+((regno&0x7) << cpd->addrsh), val);
-
-#if DEBUG_SMSC & 2
-    diag_printf("write reg %02X val 0x%04x\n", regno, val);
-#endif
-}
-
-// ------------------------------------------------------------------------
-// Assumes bank2 has been selected
-static __inline__ void
-put_data(struct eth_drv_sc *sc, unsigned short val)
-{
-    struct lan91c111_priv_data *cpd =
-        (struct lan91c111_priv_data *)sc->driver_private;
-       
-    HAL_WRITE_UINT16(cpd->base+((LAN91C111_DATA & 0x7) << cpd->addrsh), val);
-
-#if DEBUG_SMSC & 2
-    diag_printf("write data 0x%04x\n", val);
-#endif
-}
-
-// Assumes bank2 has been selected
-static __inline__ unsigned short
-get_data(struct eth_drv_sc *sc)
-{
-    unsigned short val;
-    struct lan91c111_priv_data *cpd =
-        (struct lan91c111_priv_data *)sc->driver_private;
-       
-    HAL_READ_UINT16(cpd->base+((LAN91C111_DATA & 0x7) << cpd->addrsh), val);
-
-#if DEBUG_SMSC & 2
-    diag_printf("read data 0x%04x\n", val);
-#endif
-    return val;
-}
-
-
-// Assumes bank2 has been selected
-static __inline__ unsigned long
-get_data32(struct eth_drv_sc *sc)
-{
-    unsigned long val;
-    //unsigned long ret_val = 0;
-    struct lan91c111_priv_data *cpd =
-        (struct lan91c111_priv_data *)sc->driver_private;
-       
-    HAL_READ_UINT32(cpd->base+((0x04) << cpd->addrsh), val);
-    //ret_val =((val&0xffff0000)>>16) | ((val&0xffff)<<16);
-    //diag_printf("val:   %08X         ret_val:  %08X \n", val, ret_val);
-
-#if DEBUG_SMSC & 2
-    diag_printf("read data 0x%08x\n", val);
-#endif
-    return val;
-}
-
-
-
-
-
-
-
-
-// ------------------------------------------------------------------------
-// Read the bank register (this one is bank-independent)
-static __inline__ unsigned short
-get_banksel(struct eth_drv_sc *sc)
-{
-       
-
-    struct lan91c111_priv_data *cpd =
-        (struct lan91c111_priv_data *)sc->driver_private;
-    unsigned short val;
-
-    
-    HAL_READ_UINT16(cpd->base+(LAN91C111_BS << cpd->addrsh), val);
-#if DEBUG_SMSC & 2
-    diag_printf("read bank val 0x%04x\n", val);
-#endif
-
-
-    return val;
-}
-
-
-
-// ------------------------------------------------------------------------
-#endif // CYGONCE_DEVS_ETH_SMSC_LAN91C111_LAN91C111_H
-// EOF smsc_lan91c111.h
diff --git a/packages/devs/flash/arm/at91/v2_0/src/flash.h b/packages/devs/flash/arm/at91/v2_0/src/flash.h
deleted file mode 100644 (file)
index 48f197d..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-//==========================================================================
-//
-//      flash.h
-//
-//      Flash programming - device constants, etc.
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2001-07-17
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#ifndef _FLASH_HWR_H_
-#define _FLASH_HWR_H_
-
-// Atmel AT29LV1024
-
-#define FLASH_Read_ID      0x9090
-#define FLASH_Program      0xA0A0
-#define FLASH_Reset        0xF0F0
-
-#define FLASH_Key_Addr0    0x5555
-#define FLASH_Key_Addr1    0x2AAA
-#define FLASH_Key0         0xAAAA
-#define FLASH_Key1         0x5555
-
-#define FLASH_Atmel_code      0x1F
-#define FLASH_ATMEL_29LV1024  0x26
-
-#define FLASH_PROGRAM_OK    0x0000
-#define FLASH_LENGTH_ERROR  0x0001
-#define FLASH_PROGRAM_ERROR 0x0002
-
-#define FLASH_PAGE_SIZE    0x100
-#define FLASH_PAGE_MASK   ~(FLASH_PAGE_SIZE-1)
-#define FLASH_PAGE_OFFSET  (FLASH_PAGE_SIZE-1)
-
-#endif  // _FLASH_HWR_H_
diff --git a/packages/devs/flash/arm/at91/v2_0/src/flash_erase_block.c b/packages/devs/flash/arm/at91/v2_0/src/flash_erase_block.c
deleted file mode 100644 (file)
index 851e4bd..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-//==========================================================================
-//
-//      flash_erase_block.c
-//
-//      Flash programming
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2001-07-17
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include "flash.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-int flash_erase_block(volatile unsigned long *block)
-{
-
-// This device is implicitly erased as each sector needs to be written
-// as a whole.  Thus, this is a NOP
-
-    return 0;
-}
diff --git a/packages/devs/flash/arm/at91/v2_0/src/flash_program_buf.c b/packages/devs/flash/arm/at91/v2_0/src/flash_program_buf.c
deleted file mode 100644 (file)
index 864353e..0000000
+++ /dev/null
@@ -1,127 +0,0 @@
-//==========================================================================
-//
-//      flash_program_buf.c
-//
-//      Flash programming
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2001-07-17
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include "flash.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-int
-flash_program_buf(volatile unsigned short *addr, unsigned short *data, int len)
-{
-    volatile unsigned short *PAGE, *ROM;
-    int timeout = 50000;
-    int cache_on;
-    int i, offset;
-    unsigned short hold[FLASH_PAGE_SIZE/2];
-
-    HAL_DCACHE_IS_ENABLED(cache_on);
-    if (cache_on) {
-        HAL_DCACHE_SYNC();
-        HAL_DCACHE_DISABLE();
-    }
-
-    if (len != FLASH_PAGE_SIZE) {
-        return FLASH_LENGTH_ERROR;
-    }
-
-    ROM = (volatile unsigned short *)((unsigned long)addr & 0xFFFF0000);
-    PAGE = (volatile unsigned short *)((unsigned long)addr & FLASH_PAGE_MASK);
-
-    // Copy current contents (allows for partial updates)
-    for (i = 0;  i < FLASH_PAGE_SIZE/2;  i++) {
-        hold[i] = PAGE[i];
-    }
-
-    // Merge data into holding buffer
-    offset = (unsigned long)addr & FLASH_PAGE_OFFSET;
-    for (i = 0;  i < (len/2);  i++) {
-        hold[offset+i] = data[i];
-    }
-
-    // Now write the data
-
-    // Send lead-in sequence
-    ROM[FLASH_Key_Addr0] = FLASH_Key0;
-    ROM[FLASH_Key_Addr1] = FLASH_Key1;
-
-    // Send 'write' command
-    ROM[FLASH_Key_Addr0] = FLASH_Program;
-
-    // Send one page/sector of data
-    for (i = 0;  i < FLASH_PAGE_SIZE/2;  i++) {
-        PAGE[i] = hold[i];
-    }
-
-    // Wait for data to be programmed
-    while (timeout-- > 0) {
-        if (PAGE[(FLASH_PAGE_SIZE/2)-1] == hold[(FLASH_PAGE_SIZE/2)-1]) {
-            break;
-        }
-    }
-
-    if (timeout <= 0) {
-        return FLASH_PROGRAM_ERROR;
-    }
-
-    if (cache_on) {
-        HAL_DCACHE_ENABLE();
-    }
-
-    return FLASH_PROGRAM_OK;
-}
diff --git a/packages/devs/flash/arm/at91/v2_0/src/flash_query.c b/packages/devs/flash/arm/at91/v2_0/src/flash_query.c
deleted file mode 100644 (file)
index da53191..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-//==========================================================================
-//
-//      flash_query.c
-//
-//      Flash programming - query device
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2001-07-17
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include "flash.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-#include CYGHWR_MEMORY_LAYOUT_H
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-#define CNT 2000*1000*10  // At least 20ms
-
-int
-flash_query(unsigned short *data)
-{
-    volatile unsigned short *ROM;
-    int cnt, cache_on;
-
-    HAL_DCACHE_IS_ENABLED(cache_on);
-    if (cache_on) {
-        HAL_DCACHE_SYNC();
-        HAL_DCACHE_DISABLE();
-    }
-
-    ROM = (volatile unsigned short *)0x01010000;
-
-    // Send lead-in sequence
-    ROM[FLASH_Key_Addr0] = FLASH_Key0;
-    ROM[FLASH_Key_Addr1] = FLASH_Key1;
-
-    // Send 'identify' command
-    ROM[FLASH_Key_Addr0] = FLASH_Read_ID;
-
-    // Need a delay of 20ms!
-    for (cnt = 0;  cnt < 50000;  cnt++) ;
-
-    data[0] = ROM[0];  // Manufacturer code
-    data[1] = ROM[1];  // Device identifier
-
-    // Send lead-in sequence
-    ROM[FLASH_Key_Addr0] = FLASH_Key0;
-    ROM[FLASH_Key_Addr1] = FLASH_Key1;
-
-    // Send 'reset' command
-    ROM[FLASH_Key_Addr0] = FLASH_Reset;
-
-    // Need a delay of 20ms!
-    for (cnt = 0;  cnt < 50000;  cnt++) ;
-
-    if (cache_on) {
-        HAL_DCACHE_ENABLE();
-    }
-
-    return 0;
-}
diff --git a/packages/devs/flash/arm/triton/v2_0/cdl/flash_arm_xscale_triton.cdl b/packages/devs/flash/arm/triton/v2_0/cdl/flash_arm_xscale_triton.cdl
deleted file mode 100755 (executable)
index 12ed57c..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-# ====================================================================
-#
-#      flash_arm_xscale_triton.cdl
-#
-#      FLASH memory - Hardware support on Ka-Ro TRITON
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      gthomas, usteinkohl
-# Original data:  gthomas, usteinkohl
-# Contributors:
-# Date:           14th January 2003 (last modification)
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON {
-    display       "TRITON FLASH memory support"
-
-    parent        CYGPKG_IO_FLASH
-    active_if    CYGPKG_IO_FLASH
-    
-    
-    #requires    CYGPKG_HAL_ARM_XSCALE_TRITON
-
-    requires      CYGPKG_DEVS_FLASH_STRATA
-
-    implements    CYGHWR_IO_FLASH_BLOCK_LOCKING
-
-    include_dir   cyg/io
-
-    # Arguably this should do in the generic package
-    # but then there is a logic loop so you can never enable it.
-    cdl_interface CYGINT_DEVS_FLASH_STRATA_REQUIRED {
-        display   "Generic StrataFLASH driver required"
-    }
-
-    implements    CYGINT_DEVS_FLASH_STRATA_REQUIRED
-
-    define_proc {
-        puts $::cdl_system_header "/***** strataflash driver proc output start *****/"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_FLASH_STRATA_INL <cyg/io/triton_strataflash.inl>"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_FLASH_STRATA_CFG <pkgconf/devs_flash_arm_xscale_triton.h>"
-        puts $::cdl_system_header "/*****  strataflash driver proc output end  *****/"
-    }
-}
-
diff --git a/packages/devs/flash/arm/triton/v2_0/include/triton_strataflash.inl b/packages/devs/flash/arm/triton/v2_0/include/triton_strataflash.inl
deleted file mode 100755 (executable)
index 8a05dc8..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef CYGONCE_DEVS_FLASH_TRITON_STRATAFLASH_INL
-#define CYGONCE_DEVS_FLASH_TRITON_STRATAFLASH_INL
-//==========================================================================
-//
-//      triton_strataflash.inl
-//
-//      Flash programming - device constants, etc.
-//
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    usteinkohl
-// Contributors: usteinkohl
-// Date:         14th January 2003 (last modification)
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/system.h>             // System-wide configuration info
-
-#ifdef TRITON_FLASH32_32
-       #define CYGNUM_FLASH_DEVICES     (2)
-       #define CYGNUM_FLASH_BASE        (0x00000000u)
-       #define CYGNUM_FLASH_BASE_MASK   (0xFE000000u) // 2 * 16Mb devices
-       #define CYGNUM_FLASH_WIDTH       (16)
-       #define CYGNUM_FLASH_BLANK       (1)
-
-       #define FLASH_P2V(x) ((volatile flash_t *)(((unsigned)(x) < 0x1000) ? \
-                            ((unsigned)(x) | 0xa0000000) : \
-                            (unsigned)(x)))
-#endif
-
-#ifdef TRITON_FLASH16_16
-       #define CYGNUM_FLASH_DEVICES     (1)
-       #define CYGNUM_FLASH_BASE        (0x00000000u)
-       #define CYGNUM_FLASH_BASE_MASK   (0xFF000000u) // 1 * 16Mb devices
-       #define CYGNUM_FLASH_WIDTH       (16)
-       #define CYGNUM_FLASH_BLANK       (1)
-
-
-       #define FLASH_P2V(x) ((volatile flash_t *)(((unsigned)(x) < 0x1000) ? \
-                            ((unsigned)(x) | 0xa0000000) : \
-                            (unsigned)(x)))
-       
-       
-       
-       
-       
-#endif
-
-
-               
-               
-
-
-
-
-
-#endif // CYGONCE_DEVS_FLASH_TRITON_STRATAFLASH_INL
-// ------------------------------------------------------------------------
-// EOF triton_strataflash.inl
diff --git a/packages/devs/flash/arm/triton270/v2_0/cdl/flash_arm_xscale_triton270.cdl b/packages/devs/flash/arm/triton270/v2_0/cdl/flash_arm_xscale_triton270.cdl
deleted file mode 100755 (executable)
index fc9f02e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-# ====================================================================
-#
-#      flash_arm_xscale_triton270.cdl
-#
-#      FLASH memory - Hardware support on Ka-Ro TRITON
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      gthomas, usteinkohl
-# Original data:  gthomas, usteinkohl
-# Contributors:
-# Date:           14th January 2003 (last modification)
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_DEVS_FLASH_ARM_XSCALE_TRITON270 {
-    display       "TRITON270 FLASH memory support"
-
-    parent        CYGPKG_IO_FLASH
-    active_if    CYGPKG_IO_FLASH
-    
-    
-    #requires    CYGPKG_HAL_ARM_XSCALE_TRITON
-
-    requires      CYGPKG_DEVS_FLASH_INTEL_28FXXX
-
-    implements    CYGHWR_IO_FLASH_BLOCK_LOCKING
-
-    include_dir   cyg/io
-
-    compile       triton270_wirelessflash.c
-
-
-
-    # Arguably this should do in the generic package
-    # but then there is a logic loop so you can never enable it.
-    cdl_interface CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED {
-        display   "Generic INTEL 28fxxx driver required"
-    }
-
-    implements    CYGINT_DEVS_FLASH_INTEL_28FXXX_REQUIRED
-
-    define_proc {
-        puts $::cdl_system_header "/***** intel 28fxxx driver proc output start *****/"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_FLASH_INTEL_28FXXX_INL <cyg/io/triton270_wirelessflash.inl>"
-        puts $::cdl_system_header "#define CYGDAT_DEVS_FLASH_INTEL_28FXXX_CFG <pkgconf/devs_flash_arm_xscale_triton270.h>"
-        puts $::cdl_system_header "/*****  intel 28fxxx driver proc output end  *****/"
-    }
-}
-
diff --git a/packages/devs/flash/arm/triton270/v2_0/src/triton270_wirelessflash.c b/packages/devs/flash/arm/triton270/v2_0/src/triton270_wirelessflash.c
deleted file mode 100755 (executable)
index 1b39592..0000000
+++ /dev/null
@@ -1,113 +0,0 @@
-#ifndef CYGONCE_DEVS_FLASH_TRITON270_WIRELESSFLASH_INL
-#define CYGONCE_DEVS_FLASH_TRITON270_WIRELESSFLASH_INL
-//==========================================================================
-//
-//      triton270_wirelessflash.c
-//
-//      Flash programming - device constants, etc.
-//
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    usteinkohl
-// Contributors: usteinkohl
-// Date:         14th January 2003 (last modification)
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/system.h>            // System-wide configuration info
-
-#ifdef TRITON270_FLASH16_16
-       // Platform code must define the below
-#define CYGNUM_FLASH_INTERLEAVE                (1)                     // Number of interleaved devices (in parallel)
-#define CYGNUM_FLASH_SERIES            (1)                     // Number of devices in series
-#define CYGNUM_FLASH_WIDTH             (16)                    // Width of devices on platform
-#define CYGNUM_FLASH_BASE              (0x00000000u)   // Address of first device
-
-#define FLASH_P2V(x) ((volatile flash_data_t *)(((unsigned)(x) < 0x1000) ? \
-                           ((unsigned)(x) | 0xa0000000) : \
-                           (unsigned)(x)))
-
-#include "cyg/io/flash_28fxxx_w18.inl"
-#endif
-
-#ifdef TRITON270_FLASH16_16_P30
-       // Platform code must define the below
-#define CYGNUM_FLASH_INTERLEAVE                (1)                     // Number of interleaved devices (in parallel)
-#define CYGNUM_FLASH_SERIES            (1)                     // Number of devices in series
-#define CYGNUM_FLASH_WIDTH             (16)                    // Width of devices on platform
-#define CYGNUM_FLASH_BASE              (0x00000000u)   // Address of first device
-
-#define FLASH_P2V(x) ((volatile flash_data_t *)(((unsigned)(x) < 0x1000) ? \
-                           ((unsigned)(x) | 0xa0000000) : \
-                           (unsigned)(x)))
-
-#include "cyg/io/flash_28fxxx_p30.inl"
-#endif
-
-#ifdef TRITON270_FLASH16_64
-       // Platform code must define the below
-#define CYGNUM_FLASH_INTERLEAVE                (1)                     // Number of interleaved devices (in parallel)
-#define CYGNUM_FLASH_SERIES            (2)                     // Number of devices in series
-#define CYGNUM_FLASH_WIDTH             (16)                    // Width of devices on platform
-#define CYGNUM_FLASH_BASE              (0x00000000u)   // Address of first device
-
-#define FLASH_P2V(x) ((volatile flash_data_t *)(((unsigned)(x) < 0x1000) ? \
-                           ((unsigned)(x) | 0xa0000000) : \
-                           (unsigned)(x)))
-
-#include "cyg/io/flash_28fxxx_p30.inl"
-#endif
-
-#ifdef TRITON270_FLASH16_32
-       // Platform code must define the below
-#define CYGNUM_FLASH_INTERLEAVE                (1)                     // Number of interleaved devices (in parallel)
-#define CYGNUM_FLASH_SERIES            (1)                     // Number of devices in series
-#define CYGNUM_FLASH_WIDTH             (16)                    // Width of devices on platform
-#define CYGNUM_FLASH_BASE              (0x00000000u)   // Address of first device
-
-#define FLASH_P2V(x) ((volatile flash_data_t *)(((unsigned)(x) < 0x1000) ? \
-                           ((unsigned)(x) | 0xa0000000) : \
-                           (unsigned)(x)))
-
-#include "cyg/io/flash_28fxxx_p30.inl"
-#endif
-#endif // CYGONCE_DEVS_FLASH_TRITON270_WIRELESSFLASH_INL
-// ------------------------------------------------------------------------
-// EOF triton270_wirelessflash.inl
diff --git a/packages/devs/flash/intel/28fxxx/v2_0/include/flash_28fxxx_p30.inl b/packages/devs/flash/intel/28fxxx/v2_0/include/flash_28fxxx_p30.inl
deleted file mode 100755 (executable)
index 4fecc86..0000000
+++ /dev/null
@@ -1,869 +0,0 @@
-#ifndef CYGONCE_DEVS_FLASH_INTEL_28FXXX_INL
-#define CYGONCE_DEVS_FLASH_INTEL_28FXXX_INL
-//==========================================================================
-//
-//     flash_28fxxx.inl
-//
-//     Intel 28Fxxx series flash driver
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-// Copyright (C) 2002 Gary Thomas
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   jskov
-// Contributors: jskov
-// Date:        2001-03-21
-// Purpose:
-// Description:
-//
-// Notes:       Device table could use unions of flags to save some space
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/io_flash.h>
-#include <pkgconf/devs_flash_intel_28fxxx.h>
-
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-#include CYGHWR_MEMORY_LAYOUT_H
-
-#include <cyg/hal/hal_io.h>
-
-#define         _FLASH_PRIVATE_
-#include <cyg/io/flash.h>
-
-#define nDEBUG
-
-#define nRAM_VERSION
-
-typedef void (*call_t)(char* str, ...);
-extern void diag_printf(char* str, ...);
-call_t d_print = &diag_printf;
-
-//----------------------------------------------------------------------------
-// Common device details.
-
-#define FLASH_BOOTBLOCKS_PER_BLOCK             4
-
-#define FLASH_Read_ID                  FLASHWORD( 0x90 )
-#define FLASH_Reset                    FLASHWORD( 0xFF )
-#define FLASH_Program                  FLASHWORD( 0x40 )
-#define FLASH_Write_Buffer             FLASHWORD( 0xe8 )
-#define FLASH_Block_Erase              FLASHWORD( 0x20 )
-#define FLASH_Confirm                  FLASHWORD( 0xD0 )
-#define FLASH_Resume                   FLASHWORD( 0xD0 )
-
-#define FLASH_Set_Lock                 FLASHWORD( 0x60 )
-#define FLASH_Set_Lock_Confirm         FLASHWORD( 0x01 )
-#define FLASH_Clear_Lock               FLASHWORD( 0x60 )
-#define FLASH_Clear_Lock_Confirm       FLASHWORD( 0xd0 )
-#define FLASH_Lock_State_Mask                  FLASHWORD( 0x03 )
-#define FLASH_Status_Locked                            FLASHWORD( 0x01 )
-
-#define FLASH_Read_Status              FLASHWORD( 0x70 )
-#define FLASH_Clear_Status             FLASHWORD( 0x50 )
-#define FLASH_Status_Ready             FLASHWORD( 0x80 )
-
-// Status that we read back:
-#define FLASH_ErrorMask                        FLASHWORD( 0x7E )
-#define FLASH_ErrorProgram             FLASHWORD( 0x10 )
-#define FLASH_ErrorErase               FLASHWORD( 0x20 )
-#define FLASH_ErrorLock                        FLASHWORD( 0x30 )
-#define FLASH_ErrorLowVoltage          FLASHWORD( 0x08 )
-#define FLASH_ErrorLocked              FLASHWORD( 0x02 )
-
-// Platform code must define the below
-// #define CYGNUM_FLASH_INTERLEAVE     : Number of interleaved devices (in parallel)
-// #define CYGNUM_FLASH_SERIES         : Number of devices in series
-// #define CYGNUM_FLASH_WIDTH          : Width of devices on platform
-// #define CYGNUM_FLASH_BASE           : Address of first device
-
-#define CYGNUM_FLASH_BLANK             (1)
-#define CYGNUM_FLASH_DEVICES           (CYGNUM_FLASH_INTERLEAVE*CYGNUM_FLASH_SERIES)
-
-#ifndef FLASH_P2V
-# define FLASH_P2V( _a_ ) ((volatile flash_data_t *)((CYG_ADDRWORD)(_a_)))
-#endif
-#ifndef CYGHWR_FLASH_28FXXX_PLF_INIT
-# define CYGHWR_FLASH_28FXXX_PLF_INIT()
-#endif
-#ifndef CYGHWR_FLASH_WRITE_ENABLE
-#define CYGHWR_FLASH_WRITE_ENABLE()
-#endif
-#ifndef CYGHWR_FLASH_WRITE_DISABLE
-#define CYGHWR_FLASH_WRITE_DISABLE()
-#endif
-
-//----------------------------------------------------------------------------
-// Now that device properties are defined, include magic for defining
-// accessor type and constants.
-#include <cyg/io/flash_dev.h>
-
-//----------------------------------------------------------------------------
-// Information about supported devices
-typedef struct flash_dev_info {
-    flash_data_t device_id;
-    cyg_uint32  block_size;
-    cyg_int32   block_count;
-    cyg_uint32  base_mask;
-    cyg_uint32  device_size;
-    cyg_bool    locking;               // supports locking
-    cyg_bool    buffered_w;            // supports buffered writes
-    cyg_bool    bootblock;
-    cyg_uint32  bootblocks[12];         // 0 is bootblock offset, 1-11 sub-sector sizes (or 0)
-    cyg_bool    banked;
-    cyg_uint32  banks[2];               // bank offets, highest to lowest (lowest should be 0)
-                                        // (only one entry for now, increase to support devices
-                                        // with more banks).
-} flash_dev_info_t;
-
-// Information about stacked die devices
-typedef struct flash_stacked_die_dev_info {
-    flash_data_t device_id;
-    cyg_uint32  num_blocks_1;
-    cyg_uint32  num_blocks_2;
-    cyg_uint32 num_bytes_1;
-    cyg_uint32 num_bytes_2;
-    cyg_uint32 dev_size;
-    cyg_uint32 dev_start;
-} flash_stacked_die_dev_info_t;
-
-static const flash_dev_info_t* flash_dev_info;
-static const flash_dev_info_t supported_devices[] = {
-#include <cyg/io/flash_28fxxx_parts.inl>
-};
-
-static flash_stacked_die_dev_info_t sdi[CYGNUM_FLASH_SERIES];
-
-#define NUM_DEVICES (sizeof(supported_devices)/sizeof(flash_dev_info_t))
-
-#if 1
-//----------------------------------------------------------------------------
-// Functions that put the flash device into non-read mode must reside
-// in RAM.
-
-void flash_query(void* data) __attribute__ ((section (".2ram.flash_query")));
-
-int flash_erase_block(void* block, unsigned int size)
-     __attribute__ ((section (".2ram.flash_erase_block")));
-int flash_program_buf(void* addr, void* data, int len,
-                      unsigned long block_mask, int buffer_size)
-     __attribute__ ((section (".2ram.flash_program_buf")));
-int flash_lock_block(void* addr)
-     __attribute__ ((section (".2ram.flash_lock_block")));
-int flash_unlock_block(void* block, int block_size, int blocks, void *)
-     __attribute__ ((section (".2ram.flash_unlock_block")));
-//----------------------------------------------------------------------------
-#endif
-
-// Initialize driver details
-int
-flash_hwr_init(void)
-{
-       int i;
-       flash_data_t id[2];
-
-       CYGHWR_FLASH_28FXXX_PLF_INIT();
-
-       flash_dev_query(id);
-
-       // Look through table for device data
-       flash_dev_info = supported_devices;
-       for (i = 0; i < NUM_DEVICES; i++) {
-
-               if (flash_dev_info->device_id == id[1])
-                       break;
-               flash_dev_info++;
-       }
-
-       // Did we find the device? If not, return error.
-       if (NUM_DEVICES == i){
-               return FLASH_ERR_DRV_WRONG_PART;
-       }
-
-       // Hard wired for now
-       flash_info.block_size = flash_dev_info->block_size;
-       flash_info.blocks = flash_dev_info->block_count * CYGNUM_FLASH_SERIES;
-       flash_info.start = (void *)CYGNUM_FLASH_BASE;
-       flash_info.end = (void *)(CYGNUM_FLASH_BASE+ (flash_dev_info->device_size * CYGNUM_FLASH_SERIES));
-
-       return FLASH_ERR_OK;
-}
-
-//----------------------------------------------------------------------------
-// Map a hardware status to a package error
-int
-flash_hwr_map_error(int e)
-{
-       return e;
-}
-
-//----------------------------------------------------------------------------
-// See if a range of FLASH addresses overlaps currently running code
-bool
-flash_code_overlaps(void *start, void *end)
-{
-       extern unsigned char _stext[], _etext[];
-
-       return ((((unsigned long)&_stext >= (unsigned long)start) &&
-                ((unsigned long)&_stext < (unsigned long)end)) ||
-               (((unsigned long)&_etext >= (unsigned long)start) &&
-                ((unsigned long)&_etext < (unsigned long)end)));
-}
-
-//----------------------------------------------------------------------------
-// Flash Query
-//
-// Only reads the manufacturer and part number codes for the first
-// device(s) in series. It is assumed that any devices in series
-// will be of the same type.
-
-void
-flash_query(void* data)
-{
-       volatile flash_data_t *ROM;
-       flash_data_t* id = (flash_data_t*) data;
-       flash_data_t w;
-       unsigned long flash_base;
-       unsigned long max_erase_time;
-       unsigned long dsize;
-       unsigned long max_write_buffer;
-       unsigned long block_size;
-       unsigned short  val1, val2;
-       unsigned long   nblocks1;                       // number of blocks in 1st section
-       unsigned long   nblocks2;                       // number of blocks in 2nd section
-       unsigned long   bsize1;                         // blocksize in 1st section
-       unsigned long   bsize2;                         // blocksize in 2nd section
-       int             j;
-
-       ROM = FLASH_P2V(CYGNUM_FLASH_BASE);
-
-       w = ROM[0];
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       ROM[0] = FLASH_Read_ID;
-
-       // Manufacturers' code
-       id[0] = ROM[0];
-       // Part number
-       id[1] = ROM[1];
-
-       ROM[0] = FLASH_Reset;
-       //Stall, waiting for flash to return to read mode.
-       while (w != ROM[0]);
-
-       flash_base = CYGNUM_FLASH_BASE;
-       for (j = 0; j < CYGNUM_FLASH_SERIES; j++) {
-               ROM = FLASH_P2V(flash_base);
-               ROM[0] =  0x0050;                               // clear status register
-               ROM[0] =  0x0098;                               // read query
-               ROM = FLASH_P2V(flash_base + (0x10 << 1));
-               if (ROM[0] != 0x0051) {                 //Q
-#ifdef RAM_VERSION
-                       d_print("error reading flash attribute space Q\n");
-#endif
-                       ROM = FLASH_P2V(flash_base);
-                       ROM[0] = 0x00ff;                                // read array / reset
-                       //return        FLASH_ERR_DRV_WRONG_PART;
-               } else {
-#ifdef RAM_VERSION
-                       d_print("read flash attribute space Q ok\n");
-#endif
-               }
-               ROM = FLASH_P2V(flash_base + (0x11 << 1));
-               if (ROM[0] != 0x0052) {                 //R
-#ifdef RAM_VERSION
-                       d_print("error reading flash attribute space R\n");
-#endif
-                       ROM = FLASH_P2V(flash_base);
-                       ROM[0] = 0x00ff;                                // read array / reset
-                       //return        FLASH_ERR_DRV_WRONG_PART;
-               } else {
-#ifdef RAM_VERSION
-                       d_print("read flash attribute space R ok\n");
-#endif
-               }
-               ROM = FLASH_P2V(flash_base + (0x12 << 1));
-               if (ROM[0] != 0x0059) {                 //Y
-#ifdef RAM_VERSION
-                       d_print("error reading flash attribute space Y\n");
-#endif
-                       ROM = FLASH_P2V(flash_base);
-                       ROM[0] = 0x00ff;                // read array / reset
-                       //return        FLASH_ERR_DRV_WRONG_PART;
-               } else {
-#ifdef RAM_VERSION
-                       d_print("read flash attribute space Y ok\n");
-#endif
-               }
-               ROM = FLASH_P2V(flash_base + (0x25 << 1));
-               max_erase_time = ROM[0];        // "n" such that the max block erase time = 2^n
-               max_erase_time = 1 << (max_erase_time & 0xffff);        // convert erase time 2^n to the number of seconds
-
-               ROM = FLASH_P2V(flash_base + (0x27 << 1));
-               dsize = ROM[0];                 // "n" such that the device size = 2^n in number of bytes
-               dsize = 1 << (dsize & 0xffff);  // convert data size from 2^n to the number of bytes
-
-               ROM = FLASH_P2V(flash_base + (0x2a << 1));
-               max_write_buffer = ROM[0];      // "n" such that the max num of bytes in write buffer = 2^n
-               max_write_buffer = (1 << (max_write_buffer & 0xffff)) / 2;  // convert from 2^n bytes to the number of words
-
-               ROM = FLASH_P2V(flash_base + (0x2d << 1));
-               val1    =       ROM[0];
-               ROM = FLASH_P2V(flash_base + (0x2e << 1));
-               val2    =       ROM[0];
-               nblocks1        =       (val1 + (val2 << 8)) + 1;
-
-               ROM = FLASH_P2V(flash_base + (0x31 << 1));
-               val1    =       ROM[0]&0xff;
-               ROM = FLASH_P2V(flash_base + (0x32 << 1));
-               val2    =       ROM[0]&0xff;
-               nblocks2        =       (val1 + (val2 << 8)) + 1;
-
-               ROM = FLASH_P2V(flash_base + (0x2f << 1));
-               val1    =       ROM[0]&0xff;
-               ROM = FLASH_P2V(flash_base + (0x30 << 1));
-               val2    =       ROM[0]&0xff;
-               bsize1  =       (val1 + (val2 << 8)) * 256;
-
-               ROM = FLASH_P2V(flash_base + (0x33 << 1));
-               val1    =       ROM[0]&0xff;
-               ROM = FLASH_P2V(flash_base + (0x34 << 1));
-               val2    =       ROM[0]&0xff;
-               bsize2  =       (val1 + (val2 << 8)) * 256;
-
-               block_size = bsize1/2;
-
-               ROM = FLASH_P2V(flash_base);
-               ROM[0] = 0x00ff;                                // read array / reset
-
-               sdi[j].device_id        = 0;
-               sdi[j].num_blocks_1     = nblocks1;
-               sdi[j].num_blocks_2     = nblocks2;
-               sdi[j].num_bytes_1      = bsize1;
-               sdi[j].num_bytes_2      = bsize2;
-               sdi[j].dev_size         = dsize;
-               sdi[j].dev_start        = flash_base;
-#ifdef RAM_VERSION
-               d_print("number of blocks in region 1: %d\n", sdi[j].num_blocks_1);
-               d_print("number of blocks in region 2: %d\n", sdi[j].num_blocks_2);
-               d_print("number of bytes in region 1: %lu  (0x%04X)\n", sdi[j].num_bytes_1, sdi[j].num_bytes_1);
-               d_print("number of bytes in region 2: %lu  (0x%04X)\n", sdi[j].num_bytes_2, sdi[j].num_bytes_2);
-               d_print("Device size = %ld Mbytes (0x%lx)\n",sdi[j].dev_size/1024/1024 ,sdi[j].dev_size);
-               d_print("max. erase time is %d nseconds\n", max_erase_time);
-               d_print("number of words for write buffer are %d\n\n\n\n", max_write_buffer);
-#endif
-               flash_info.buffer_size = max_write_buffer;
-               flash_base += dsize;
-       }
-       CYGHWR_FLASH_WRITE_DISABLE();
-}
-
-//----------------------------------------------------------------------------
-// Erase Block
-int
-flash_erase_block(void* block, unsigned int block_size)
-{
-       int res = FLASH_ERR_OK;
-       int timeout;
-       unsigned long len;
-       flash_data_t stat;
-       volatile flash_data_t *ROM;
-       int j, die_number, blocks_to_do;
-       unsigned long   phys_block_length;
-       volatile flash_data_t *b_p = (flash_data_t*) block;
-       volatile flash_data_t *b_v;
-       cyg_bool bootblock;
-
-       ROM = FLASH_P2V((unsigned long)block & flash_dev_info->base_mask);
-
-       // check out which die we have to handle
-       die_number = 0;
-       for (j = 0; j < CYGNUM_FLASH_SERIES; j++) {
-               if (((unsigned long)block >= sdi[j].dev_start) &&
-                   ((unsigned long)block < (sdi[j].dev_start + sdi[j].dev_size))) {
-                       die_number = j + 1;
-                       break;
-               }
-       }
-       if (die_number == 0) {
-#ifdef RAM_VERSION
-               d_print("\n\ndid not found a valid die number \n\n");
-#endif
-               return  FLASH_ERR_DRV_WRONG_PART;
-       }
-
-       // check out which area we have to handle inside the die
-       if ((unsigned long)block < sdi[die_number - 1].dev_start +
-           sdi[die_number - 1].num_blocks_1 *
-           sdi[die_number - 1].num_bytes_1) {
-               // we stay in flash region 1
-               phys_block_length = sdi[die_number - 1].num_bytes_1;
-               if (sdi[die_number - 1].num_bytes_1 > sdi[die_number - 1].num_bytes_2) {
-                       blocks_to_do = 1;               // this is no boot block area
-                       bootblock = 0;
-               } else {
-                       blocks_to_do = FLASH_BOOTBLOCKS_PER_BLOCK; //sdi[die_number - 1].num_bytes_2 / sdi[die_number - 1].num_bytes_1; // this is a bootblock area
-                       bootblock = 1;
-               }
-       } else {
-               // we stay in flash region 2
-               phys_block_length = sdi[die_number - 1].num_bytes_2;
-               if (sdi[die_number - 1].num_bytes_2 > sdi[die_number - 1].num_bytes_1) {
-                       blocks_to_do = 1;               // this is no boot block area
-                       bootblock = 0;
-               } else {
-                       blocks_to_do = FLASH_BOOTBLOCKS_PER_BLOCK; //sdi[die_number - 1].num_bytes_1 / sdi[die_number - 1].num_bytes_2; // this is a bootblock area
-                       bootblock = 1;
-               }
-       }
-
-       len = phys_block_length;
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-       while (len > 0) {
-               b_v = FLASH_P2V(b_p);
-
-               // Clear any error conditions
-               *b_v = FLASH_Clear_Status;
-
-               // Erase block
-               *b_v = FLASH_Block_Erase;
-               *b_v = FLASH_Confirm;
-
-               timeout = 5000000;
-               while (((stat = *b_v) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-                       if (--timeout == 0) break;
-               }
-
-               // Restore ROM to "normal" mode
-               *b_v = FLASH_Reset;
-
-               if (stat & FLASH_ErrorMask) {
-                       if (!(stat & FLASH_ErrorErase)) {
-                               res = FLASH_ERR_HWR;    // Unknown error
-                       } else {
-                               if (stat & FLASH_ErrorLowVoltage)
-                                       res = FLASH_ERR_LOW_VOLTAGE;
-                               else if (stat & FLASH_ErrorLocked)
-                                       res = FLASH_ERR_PROTECT;
-                               else
-                                       res = FLASH_ERR_ERASE;
-                       }
-               }
-
-               // Check if block got erased
-
-               while (len > 0) {
-                       b_v = FLASH_P2V(b_p);
-                       b_p++;
-                       if (*b_v != FLASH_BlankValue ) {
-                               // Only update return value if erase operation was OK
-                               if (FLASH_ERR_OK == res) res = FLASH_ERR_DRV_VERIFY;
-                               return res;
-                       }
-                       len -= sizeof(*b_p);
-               }
-
-               blocks_to_do--;
-               if (blocks_to_do) {
-                       len = phys_block_length;
-               } else {
-                       len = 0;
-               }
-       }
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       return res;
-}
-
-//----------------------------------------------------------------------------
-// Program Buffer
-int
-flash_program_buf(void* addr, void* data, int len,
-                 unsigned long block_mask, int buffer_size)
-{
-       flash_data_t stat = 0;
-       int timeout;
-       int words_to_write;
-       volatile flash_data_t* ROM;
-       int i;
-       volatile flash_data_t* addr_v;
-       volatile flash_data_t* addr_p = (flash_data_t*) addr;
-       volatile flash_data_t* data_p = (flash_data_t*) data;
-       int res = FLASH_ERR_OK;
-
-#ifdef RAM_VERSION
-       d_print("programming at address: 0x%08X length: 0x%08X   buffer_size: 0x%08X\n",
-               (unsigned long)addr, (unsigned long)len, (unsigned long)buffer_size);
-#endif
-       // Base address of device(s) being programmed.
-       ROM = FLASH_P2V((unsigned long)addr & flash_dev_info->base_mask);
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       // Clear any error conditions
-       ROM[0] = FLASH_Clear_Status;
-       while (len > 0) {
-               if (len/sizeof( flash_data_t ) >= buffer_size){
-                       words_to_write = buffer_size; //full buffer
-               } else {
-                       words_to_write = len / sizeof( flash_data_t );
-                       if (len&1)
-                               words_to_write++;
-               }
-
-               addr_v = FLASH_P2V(addr_p);
-               addr_p += words_to_write;
-               timeout = 5000000;
-
-               while (--timeout>0) {
-                       *addr_v = FLASH_Write_Buffer;
-                       stat=*addr_v;
-                       //d_print("\nstatus after FLASH_WRITE_BUFFER command is 0x%08X\n", stat);
-                       if (stat & FLASH_Status_Ready)
-                               break;
-               }
-               if (timeout==0){
-                       res = FLASH_ERR_DRV_TIMEOUT;
-                       goto bad;
-               }
-
-               *addr_v = words_to_write - 1;           // write word count
-
-               for (i = 0; i < words_to_write; i++) {
-                       *(addr_v+i) = *(data_p+i);
-               }
-
-               *addr_v = FLASH_Confirm;
-
-               timeout = 5000000;
-               while (((stat = *addr_v) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-                       if (--timeout == 0) {
-#ifdef DEBUG
-                               d_print("status is 0x%08X \n", stat);
-#endif
-                               res = FLASH_ERR_DRV_TIMEOUT;
-                               goto bad;
-                       }
-               }
-#if 0
-               d_print("address pointer : 0x%08X\n", (unsigned long)addr_v);
-               d_print("status register is: 0x%08X\n", stat);
-#endif
-               if (stat & FLASH_ErrorMask) {
-                       if (!(stat & FLASH_ErrorProgram))
-                               res = FLASH_ERR_HWR;    // Unknown error
-                       else {
-                               if (stat & FLASH_ErrorLowVoltage)
-                                       res = FLASH_ERR_LOW_VOLTAGE;
-                               else if (stat & FLASH_ErrorLocked)
-                                       res = FLASH_ERR_PROTECT;
-                               else
-                                       res = FLASH_ERR_PROGRAM;
-                       }
-                       break;
-               }
-               *addr_v = FLASH_Clear_Status;
-               *addr_v = FLASH_Reset;
-               for (i = 0; i < words_to_write; i++) {
-                       if (*(addr_v+i) != *(data_p+i)) {
-                               res = FLASH_ERR_DRV_VERIFY;
-                               break;
-                       }
-               }
-               data_p += words_to_write;
-               if (words_to_write == buffer_size) {
-                       len -= (buffer_size*sizeof(flash_data_t));
-               } else {
-                       len = 0;
-               }
-       }
-
-       // Restore ROM to "normal" mode
- bad:
-       ROM[0] = FLASH_Reset;
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       // Ideally, we'd want to return not only the failure code, but also
-       // the address/device that reported the error.
-       return res;
-}
-
-#ifdef CYGHWR_IO_FLASH_BLOCK_LOCKING
-//----------------------------------------------------------------------------
-// Lock block
-int
-flash_lock_block(void* block)
-{
-       volatile flash_data_t *ROM;
-       int res = FLASH_ERR_OK;
-       flash_data_t state;
-       int timeout = 5000000;
-       volatile flash_data_t* b_p = (flash_data_t*) block;
-       volatile flash_data_t *b_v;
-       cyg_bool bootblock;
-       int len;
-       int j, die_number, blocks_to_do;
-       unsigned long   phys_block_length;
-
-       if (!flash_dev_info->locking)
-               return res;
-
-#ifdef DEBUG
-       d_print("flash_lock_block %08x\n", block);
-#endif
-       ROM = FLASH_P2V((unsigned long)block & flash_dev_info->base_mask);
-
-       // check out which die we have to handle
-       die_number = 0;
-       for (j = 0; j < CYGNUM_FLASH_SERIES; j++) {
-               if (((unsigned long)block >= sdi[j].dev_start)&&((unsigned long)block < (sdi[j].dev_start + sdi[j].dev_size))) {
-                       die_number = j + 1;
-                       break;
-               }
-       }
-       if (die_number == 0) {
-#ifdef RAM_VERSION
-               d_print("\n\ndid not found a valid die number \n\n");
-#endif
-               return  FLASH_ERR_DRV_WRONG_PART;
-       }
-
-       // check out which area we have to handle inside the die
-       if ((unsigned long)block < sdi[die_number - 1].dev_start +      sdi[die_number - 1].num_blocks_1 * sdi[die_number - 1].num_bytes_1) {
-               // we stay in flash region 1
-               phys_block_length = sdi[die_number - 1].num_bytes_1;
-               if (sdi[die_number - 1].num_bytes_1 > sdi[die_number - 1].num_bytes_2) {
-                       blocks_to_do = 1;               // this is no boot block area
-                       bootblock = 0;
-               } else {
-                       blocks_to_do = FLASH_BOOTBLOCKS_PER_BLOCK; //sdi[die_number - 1].num_bytes_2 / sdi[die_number - 1].num_bytes_1; // this is a bootblock area
-                       bootblock = 1;
-               }
-       } else {
-               // we stay in flash region 2
-               phys_block_length = sdi[die_number - 1].num_bytes_2;
-               if (sdi[die_number - 1].num_bytes_2 > sdi[die_number - 1].num_bytes_1) {
-                       blocks_to_do = 1;               // this is no boot block area
-                       bootblock = 0;
-               } else {
-                       blocks_to_do = FLASH_BOOTBLOCKS_PER_BLOCK; //sdi[die_number - 1].num_bytes_1 / sdi[die_number - 1].num_bytes_2; // this is a bootblock area
-                       bootblock = 1;
-               }
-       }
-       len = phys_block_length;
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       while (len > 0) {
-#ifdef RAM_VERSION
-               d_print("locking block at address 0x%08X\n", (unsigned long)b_p);
-#endif
-               b_v = FLASH_P2V(b_p);
-
-               // Clear any error conditions
-               *b_v = FLASH_Clear_Status;
-
-               // Set lock bit
-               *b_v = FLASH_Set_Lock;
-               *b_v = FLASH_Set_Lock_Confirm;  // Confirmation
-               *(b_v + 2) = FLASH_Read_ID ;
-               while (((state = *(b_v + 2)) & FLASH_Lock_State_Mask) != FLASH_Status_Locked) {
-                       if (--timeout == 0) {
-                               res = FLASH_ERR_DRV_TIMEOUT;
-                               break;
-                       }
-               }
-
-               // Restore ROM to "normal" mode
-               *b_v = FLASH_Reset;
-
-               // Go to next block
-               b_p += len / sizeof( flash_data_t );
-
-               if (FLASH_ErrorLock == (state & FLASH_ErrorLock))
-                       res = FLASH_ERR_LOCK;
-
-               if (res != FLASH_ERR_OK)
-                       break;
-
-               blocks_to_do--;
-               if (blocks_to_do) {
-                       len = phys_block_length;
-               } else {
-                       len = 0;
-               }
-       }
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       return res;
-}
-
-//----------------------------------------------------------------------------
-// Unlock block
-
-int
-flash_unlock_block(void* block, int block_size, int blocks, void *myprint)
-{
-       volatile flash_data_t *ROM;
-       int res = FLASH_ERR_OK;
-       flash_data_t state;
-       int timeout = 5000000;
-       volatile flash_data_t* b_p = (flash_data_t*) block;
-       volatile flash_data_t *b_v;
-       int j, die_number, blocks_to_do;
-       unsigned long   phys_block_length;
-       cyg_bool bootblock;
-       int len;
-#ifdef DEBUG
-       void (*func_ptr)(void) = myprint;
-#endif
-
-#ifdef DEBUG
-       d_print("flash_unlock_block function entered ....\n");
-#endif
-       if (!flash_dev_info->locking)
-               return res;
-
-       ROM = FLASH_P2V((unsigned long)block & flash_dev_info->base_mask);
-#ifdef DEBUG
-       d_print("flash_unlock_block dev %08x block %08x size %08x count %08x\n", ROM, block, block_size, blocks);
-#endif
-       // check out which die we have to handle
-       die_number = 0;
-       for (j = 0; j < CYGNUM_FLASH_SERIES; j++) {
-               if (((unsigned long)block >= sdi[j].dev_start)&&((unsigned long)block < (sdi[j].dev_start + sdi[j].dev_size))) {
-                       die_number = j+1;
-                       break;
-               }
-       }
-       if (die_number == 0) {
-#ifdef RAM_VERSION
-               d_print("\n\ndid not found a valid die number \n\n");
-#endif
-               return  FLASH_ERR_DRV_WRONG_PART;
-       }
-
-       // check out which area we have to handle inside the die
-       if ((unsigned long)block < sdi[die_number - 1].dev_start +      sdi[die_number - 1].num_blocks_1 * sdi[die_number - 1].num_bytes_1) {
-               // we stay in flash region 1
-               phys_block_length = sdi[die_number - 1].num_bytes_1;
-               if (sdi[die_number - 1].num_bytes_1 > sdi[die_number - 1].num_bytes_2) {
-                       blocks_to_do = 1;               // this is no boot block area
-                       bootblock = 0;
-               } else {
-                       blocks_to_do = FLASH_BOOTBLOCKS_PER_BLOCK; //sdi[die_number - 1].num_bytes_2 / sdi[die_number - 1].num_bytes_1; // this is a bootblock area
-                       bootblock = 1;
-               }
-       } else {
-               // we stay in flash region 2
-               phys_block_length = sdi[die_number - 1].num_bytes_2;
-               if (sdi[die_number - 1].num_bytes_2 > sdi[die_number - 1].num_bytes_1) {
-                       blocks_to_do = 1;               // this is no boot block area
-                       bootblock = 0;
-               } else {
-                       blocks_to_do = FLASH_BOOTBLOCKS_PER_BLOCK; //sdi[die_number - 1].num_bytes_1 / sdi[die_number - 1].num_bytes_2; // this is a bootblock area
-                       bootblock = 1;
-               }
-       }
-#ifdef RAM_VERSION
-       d_print("\n\n");
-       d_print("unlocking block: ....... 0x%08X\n", (unsigned long)block);
-       d_print("block size: ............ 0x%08X\n", (unsigned long)block_size);
-       d_print("die number: ............ %d\n", die_number);
-       d_print("physical block length: . 0x%08X\n", phys_block_length);
-       d_print("blocks to do: .......... 0x%08X\n", blocks_to_do);
-#endif
-       len = phys_block_length;
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       while (len > 0) {
-#ifdef RAM_VERSION
-               d_print("unlocking block at address 0x%08X\n", (unsigned long)b_p);
-#endif
-               b_v = FLASH_P2V(b_p);
-
-               // Clear any error conditions
-               *b_v = FLASH_Clear_Status;
-
-               // Clear lock bit
-               *b_v = FLASH_Clear_Lock;
-               *b_v = FLASH_Clear_Lock_Confirm;  // Confirmation
-
-               *(b_v+2) = FLASH_Read_ID;
-
-               while ((state = *(b_v+2)) & FLASH_Lock_State_Mask)  {
-                       if (--timeout == 0) {
-                               res = FLASH_ERR_DRV_TIMEOUT;
-                               break;
-                       }
-               }
-
-               // Restore ROM to "normal" mode
-               *b_v = FLASH_Reset;
-
-               // Go to next block
-               b_p += len / sizeof( flash_data_t );
-
-               if (FLASH_ErrorLock == (state & FLASH_ErrorLock))
-                       res = FLASH_ERR_LOCK;
-
-               if (res != FLASH_ERR_OK)
-                       break;
-
-               blocks_to_do--;
-               if (blocks_to_do) {
-                       len = phys_block_length;
-               } else {
-                       len = 0;
-               }
-       }
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       return res;
-}
-#endif // CYGHWR_IO_FLASH_BLOCK_LOCKING
-#endif // CYGONCE_DEVS_FLASH_INTEL_28FXXX_INL
diff --git a/packages/devs/flash/intel/28fxxx/v2_0/include/flash_28fxxx_w18.inl b/packages/devs/flash/intel/28fxxx/v2_0/include/flash_28fxxx_w18.inl
deleted file mode 100755 (executable)
index 0998044..0000000
+++ /dev/null
@@ -1,697 +0,0 @@
-#ifndef CYGONCE_DEVS_FLASH_INTEL_28FXXX_INL
-#define CYGONCE_DEVS_FLASH_INTEL_28FXXX_INL
-//==========================================================================
-//
-//      flash_28fxxx.inl
-//
-//      Intel 28Fxxx series flash driver
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-// Copyright (C) 2002 Gary Thomas
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    jskov
-// Contributors: jskov
-// Date:         2001-03-21
-// Purpose:
-// Description:
-//
-// Notes:        Device table could use unions of flags to save some space
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/io_flash.h>
-#include <pkgconf/devs_flash_intel_28fxxx.h>
-
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-#include CYGHWR_MEMORY_LAYOUT_H
-
-#include <cyg/hal/hal_io.h>
-
-#define  _FLASH_PRIVATE_
-#include <cyg/io/flash.h>
-
-#define nDEBUG
-
-#ifdef DEBUG
-typedef void (*call_t)(char* str, ...);
-extern void diag_printf(char* str, ...);
-call_t d_print = &diag_printf;
-#endif
-
-
-
-
-
-
-//----------------------------------------------------------------------------
-// Common device details.
-#define FLASH_Read_ID                   FLASHWORD( 0x90 )
-#define FLASH_Reset                     FLASHWORD( 0xFF )
-#define FLASH_Program                   FLASHWORD( 0x40 )
-#define FLASH_Write_Buffer              FLASHWORD( 0xe8 )
-#define FLASH_Block_Erase               FLASHWORD( 0x20 )
-#define FLASH_Confirm                   FLASHWORD( 0xD0 )
-#define FLASH_Resume                    FLASHWORD( 0xD0 )
-
-#define FLASH_Set_Lock                  FLASHWORD( 0x60 )
-#define FLASH_Set_Lock_Confirm          FLASHWORD( 0x01 )
-#define FLASH_Clear_Lock                FLASHWORD( 0x60 )
-#define FLASH_Clear_Lock_Confirm        FLASHWORD( 0xd0 )
-#define FLASH_Lock_State_Mask                  FLASHWORD( 0x03 )
-#define FLASH_Status_Locked                            FLASHWORD( 0x01 )
-
-#define FLASH_Read_Status               FLASHWORD( 0x70 )
-#define FLASH_Clear_Status              FLASHWORD( 0x50 )
-#define FLASH_Status_Ready              FLASHWORD( 0x80 )
-
-// Status that we read back:
-#define FLASH_ErrorMask                 FLASHWORD( 0x7E )
-#define FLASH_ErrorProgram              FLASHWORD( 0x10 )
-#define FLASH_ErrorErase                FLASHWORD( 0x20 )
-#define FLASH_ErrorLock                 FLASHWORD( 0x30 )
-#define FLASH_ErrorLowVoltage           FLASHWORD( 0x08 )
-#define FLASH_ErrorLocked               FLASHWORD( 0x02 )
-
-// Platform code must define the below
-// #define CYGNUM_FLASH_INTERLEAVE      : Number of interleaved devices (in parallel)
-// #define CYGNUM_FLASH_SERIES          : Number of devices in series
-// #define CYGNUM_FLASH_WIDTH           : Width of devices on platform
-// #define CYGNUM_FLASH_BASE            : Address of first device
-
-#define CYGNUM_FLASH_BLANK              (1)
-#define CYGNUM_FLASH_DEVICES            (CYGNUM_FLASH_INTERLEAVE*CYGNUM_FLASH_SERIES)
-
-
-#ifndef FLASH_P2V
-# define FLASH_P2V( _a_ ) ((volatile flash_data_t *)((CYG_ADDRWORD)(_a_)))
-#endif
-#ifndef CYGHWR_FLASH_28FXXX_PLF_INIT
-# define CYGHWR_FLASH_28FXXX_PLF_INIT()
-#endif
-#ifndef CYGHWR_FLASH_WRITE_ENABLE
-#define CYGHWR_FLASH_WRITE_ENABLE()
-#endif
-#ifndef CYGHWR_FLASH_WRITE_DISABLE
-#define CYGHWR_FLASH_WRITE_DISABLE()
-#endif
-
-//----------------------------------------------------------------------------
-// Now that device properties are defined, include magic for defining
-// accessor type and constants.
-#include <cyg/io/flash_dev.h>
-
-//----------------------------------------------------------------------------
-// Information about supported devices
-typedef struct flash_dev_info {
-    flash_data_t device_id;
-    cyg_uint32   block_size;
-    cyg_int32    block_count;
-    cyg_uint32   base_mask;
-    cyg_uint32   device_size;
-    cyg_bool     locking;               // supports locking
-    cyg_bool     buffered_w;            // supports buffered writes
-    cyg_bool     bootblock;
-    cyg_uint32   bootblocks[12];         // 0 is bootblock offset, 1-11 sub-sector sizes (or 0)
-    cyg_bool     banked;
-    cyg_uint32   banks[2];               // bank offets, highest to lowest (lowest should be 0)
-                                         // (only one entry for now, increase to support devices
-                                         // with more banks).
-} flash_dev_info_t;
-
-static const flash_dev_info_t* flash_dev_info;
-static const flash_dev_info_t supported_devices[] = {
-       #include <cyg/io/flash_28fxxx_parts.inl>
-};
-
-
-
-#define NUM_DEVICES (sizeof(supported_devices)/sizeof(flash_dev_info_t))
-
-
-
-#if 1
-//----------------------------------------------------------------------------
-// Functions that put the flash device into non-read mode must reside
-// in RAM.
-
-
-void print_string(unsigned char *sp)
-    __attribute__ ((section (".2ram.print_string")));
-
-void flash_query(void* data) __attribute__ ((section (".2ram.flash_query")));
-
-int  flash_erase_block(void* block, unsigned int size)
-    __attribute__ ((section (".2ram.flash_erase_block")));
-int  flash_program_buf(void* addr, void* data, int len,
-                       unsigned long block_mask, int buffer_size)
-    __attribute__ ((section (".2ram.flash_program_buf")));
-int  flash_lock_block(void* addr)
-    __attribute__ ((section (".2ram.flash_lock_block")));
-int flash_unlock_block(void* block, int block_size, int blocks, void *)
-    __attribute__ ((section (".2ram.flash_unlock_block")));
-
-
-
-
-//----------------------------------------------------------------------------
-#endif
-
-#if 0
-               while(1) {
-                       *((unsigned long *)0x40E0002C) = 0x04000000;    // clear GPIO90
-                       *((unsigned long *)0x40E00020) = 0x04000000;    // set GPIO90
-               }
-#endif
-
-void print_string(unsigned char *sp) {
-
-       unsigned char   *cp;
-
-       unsigned long value;
-
-       cp = sp;
-
-
-
-
-
-       while((*cp) != 0x00) {
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E00020) = 0x04000000;   // set GPIO90
-
-               value = *((volatile unsigned long *)0x40100014);                //FFLSR
-
-
-               while(!(value&0x40)){
-                       value = *((volatile unsigned long *)0x40100014);                //FFLSR
-               }
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E00020) = 0x04000000;   // set GPIO90
-
-               *((volatile unsigned long *)0x40100000) = (unsigned long)*cp;                           //FFTHR
-
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E00020) = 0x04000000;   // set GPIO90
-
-
-               cp++;
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E0002C) = 0x04000000;   // clear GPIO90
-               *((volatile unsigned long *)0x40E00020) = 0x04000000;   // set GPIO90
-
-
-       }
-
-
-}
-
-
-
-
-
-
-
-
-
-
-// Initialize driver details
-int
-flash_hwr_init(void)
-{
-       int i;
-       flash_data_t id[2];
-
-       CYGHWR_FLASH_28FXXX_PLF_INIT();
-
-       flash_dev_query(id);
-
-       // Look through table for device data
-       flash_dev_info = supported_devices;
-       for (i = 0; i < NUM_DEVICES; i++) {
-
-               if (flash_dev_info->device_id == id[1])
-                       break;
-               flash_dev_info++;
-       }
-
-       // Did we find the device? If not, return error.
-       if (NUM_DEVICES == i){
-               return FLASH_ERR_DRV_WRONG_PART;
-       }
-
-       // Hard wired for now
-       flash_info.block_size = flash_dev_info->block_size;
-       flash_info.blocks = flash_dev_info->block_count * CYGNUM_FLASH_SERIES;
-       flash_info.start = (void *)CYGNUM_FLASH_BASE;
-       flash_info.end = (void *)(CYGNUM_FLASH_BASE + (flash_dev_info->device_size * CYGNUM_FLASH_SERIES));
-
-       return FLASH_ERR_OK;
-}
-
-//----------------------------------------------------------------------------
-// Map a hardware status to a package error
-int
-flash_hwr_map_error(int e)
-{
-       return e;
-}
-
-
-//----------------------------------------------------------------------------
-// See if a range of FLASH addresses overlaps currently running code
-bool
-flash_code_overlaps(void *start, void *end)
-{
-       extern unsigned char _stext[], _etext[];
-
-       return ((((unsigned long)&_stext >= (unsigned long)start) &&
-                ((unsigned long)&_stext < (unsigned long)end)) ||
-               (((unsigned long)&_etext >= (unsigned long)start) &&
-                ((unsigned long)&_etext < (unsigned long)end)));
-}
-
-//----------------------------------------------------------------------------
-// Flash Query
-//
-// Only reads the manufacturer and part number codes for the first
-// device(s) in series. It is assumed that any devices in series
-// will be of the same type.
-
-void
-flash_query(void* data)
-{
-       volatile flash_data_t *ROM;
-       flash_data_t* id = (flash_data_t*) data;
-       flash_data_t w;
-
-       ROM = FLASH_P2V(CYGNUM_FLASH_BASE);
-       w = ROM[0];
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       ROM[0] = FLASH_Read_ID;
-
-       // Manufacturers' code
-       id[0] = ROM[0];
-       // Part number
-       id[1] = ROM[1];
-
-       ROM[0] = FLASH_Reset;
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       // Stall, waiting for flash to return to read mode.
-       while (w != ROM[0]);
-}
-
-//----------------------------------------------------------------------------
-// Erase Block
-int
-flash_erase_block(void* block, unsigned int block_size)
-{
-       int res = FLASH_ERR_OK;
-       int timeout;
-       unsigned long len;
-       int len_ix = 1;
-       flash_data_t stat;
-       volatile flash_data_t *ROM;
-       volatile flash_data_t *b_p = (flash_data_t*) block;
-       volatile flash_data_t *b_v;
-       cyg_bool bootblock;
-
-       ROM = FLASH_P2V((unsigned long)block & flash_dev_info->base_mask);
-
-       // Is this the boot sector?
-       bootblock = (flash_dev_info->bootblock &&
-                    (flash_dev_info->bootblocks[0] == ((unsigned long)block - (unsigned long)ROM)));
-       if (bootblock) {
-               len = flash_dev_info->bootblocks[len_ix++];
-       } else {
-               len = flash_dev_info->block_size;
-       }
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       while (len > 0) {
-               b_v = FLASH_P2V(b_p);
-
-               // Clear any error conditions
-               *b_v = FLASH_Clear_Status;
-
-               // Erase block
-               *b_v = FLASH_Block_Erase;
-               *b_v = FLASH_Confirm;
-
-               timeout = 5000000;
-               while(((stat = *b_v) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-                       if (--timeout == 0) break;
-               }
-
-               // Restore ROM to "normal" mode
-               *b_v = FLASH_Reset;
-
-
-
-
-               if (stat & FLASH_ErrorMask) {
-                       if (!(stat & FLASH_ErrorErase)) {
-                               res = FLASH_ERR_HWR;    // Unknown error
-                       } else {
-                               if (stat & FLASH_ErrorLowVoltage)
-                                       res = FLASH_ERR_LOW_VOLTAGE;
-                               else if (stat & FLASH_ErrorLocked)
-                                       res = FLASH_ERR_PROTECT;
-                               else
-                                       res = FLASH_ERR_ERASE;
-                       }
-               }
-
-               // Check if block got erased
-
-               while (len > 0) {
-                       b_v = FLASH_P2V(b_p);
-                       b_p++;
-                       if (*b_v != FLASH_BlankValue ) {
-                               // Only update return value if erase operation was OK
-                               if (FLASH_ERR_OK == res) res = FLASH_ERR_DRV_VERIFY;
-                               return res;
-                       }
-                       len -= sizeof(*b_p);
-               }
-
-               if (bootblock)
-                       len = flash_dev_info->bootblocks[len_ix++];
-       }
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       return res;
-}
-
-//----------------------------------------------------------------------------
-// Program Buffer
-int
-flash_program_buf(void* addr, void* data, int len,
-                  unsigned long block_mask, int buffer_size)
-{
-    flash_data_t stat = 0;
-    int timeout;
-    volatile flash_data_t* ROM;
-    volatile flash_data_t* addr_v;
-    volatile flash_data_t* addr_p = (flash_data_t*) addr;
-    volatile flash_data_t* data_p = (flash_data_t*) data;
-
-    int res = FLASH_ERR_OK;
-
-    // Base address of device(s) being programmed.
-    ROM = FLASH_P2V((unsigned long)addr & flash_dev_info->base_mask);
-
-    CYGHWR_FLASH_WRITE_ENABLE();
-
-    // Clear any error conditions
-    ROM[0] = FLASH_Clear_Status;
-
-    while (len > 0) {
-        addr_v = FLASH_P2V(addr_p);
-        addr_p++;
-        *addr_v = FLASH_Program;
-        *addr_v = *data_p;
-        timeout = 5000000;
-        while(((stat = *addr_v) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-
-            if (--timeout == 0) {
-               #ifdef DEBUG
-                                       d_print("status is 0x%08X \n", stat);
-                               #endif
-                res = FLASH_ERR_DRV_TIMEOUT;
-                goto bad;
-            }
-        }
-        if (stat & FLASH_ErrorMask) {
-            if (!(stat & FLASH_ErrorProgram))
-                res = FLASH_ERR_HWR;    // Unknown error
-            else {
-                if (stat & FLASH_ErrorLowVoltage)
-                    res = FLASH_ERR_LOW_VOLTAGE;
-                else if (stat & FLASH_ErrorLocked)
-                    res = FLASH_ERR_PROTECT;
-                else
-                    res = FLASH_ERR_PROGRAM;
-            }
-            break;
-        }
-        *addr_v = FLASH_Clear_Status;
-        *addr_v = FLASH_Reset;
-        if (*addr_v != *data_p++) {
-            res = FLASH_ERR_DRV_VERIFY;
-            break;
-        }
-        len -= sizeof( flash_data_t );
-    }
-
-    // Restore ROM to "normal" mode
- bad:
-    ROM[0] = FLASH_Reset;
-
-    CYGHWR_FLASH_WRITE_DISABLE();
-
-    // Ideally, we'd want to return not only the failure code, but also
-    // the address/device that reported the error.
-    return res;
-}
-
-
-
-
-
-
-#ifdef CYGHWR_IO_FLASH_BLOCK_LOCKING
-//----------------------------------------------------------------------------
-// Lock block
-int
-flash_lock_block(void* block)
-{
-       volatile flash_data_t *ROM;
-       int res = FLASH_ERR_OK;
-       flash_data_t state;
-       int timeout = 5000000;
-       volatile flash_data_t* b_p = (flash_data_t*) block;
-       volatile flash_data_t *b_v;
-       cyg_bool bootblock;
-       int len, len_ix = 1;
-#if 0
-       register unsigned long PC asm("pc");
-
-       unsigned char   testbuffer[3];
-
-       testbuffer[0]='o';
-       testbuffer[1]='k';
-       testbuffer[2]='\0';
-
-       *((volatile unsigned long *)0xa1000000) = PC;
-       *((volatile unsigned long *)0xa1000004) = testbuffer;
-
-       return res;
-
-       print_string(testbuffer);
-
-
-       testbuffer[0]='n';
-       testbuffer[1]='a';
-       testbuffer[2]='\0';
-
-       print_string(testbuffer);
-       return res;
-#endif
-       if (!flash_dev_info->locking) {
-               return res;
-       }
-#ifdef DEBUG
-       d_print("flash_lock_block %08x\n", block);
-#endif
-       //ROM = (volatile flash_data_t*)((unsigned long)block & flash_dev_info->base_mask);
-       ROM = FLASH_P2V((unsigned long)block & flash_dev_info->base_mask);
-
-       // Is this the boot sector?
-       bootblock = (flash_dev_info->bootblock &&
-                    (flash_dev_info->bootblocks[0] == ((unsigned long)block - (unsigned long)ROM)));
-       if (bootblock) {
-               len = flash_dev_info->bootblocks[len_ix++];
-       } else {
-               len = flash_dev_info->block_size;
-       }
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-       while (len > 0) {
-               b_v = FLASH_P2V(b_p);
-
-               // Clear any error conditions
-               *b_v = FLASH_Clear_Status;
-
-               // Set lock bit
-               *b_v = FLASH_Set_Lock;
-               *b_v = FLASH_Set_Lock_Confirm;  // Confirmation
-               *(b_v+2) = FLASH_Read_ID ;
-               while(((state = *(b_v+2)) & FLASH_Lock_State_Mask) != FLASH_Status_Locked) {
-                       if (--timeout == 0) {
-                               res = FLASH_ERR_DRV_TIMEOUT;
-                               break;
-                       }
-               }
-
-               // Restore ROM to "normal" mode
-               *b_v = FLASH_Reset;
-
-               // Go to next block
-               b_p += len / sizeof( flash_data_t );
-               len = 0;
-
-               if (FLASH_ErrorLock == (state & FLASH_ErrorLock))
-                       res = FLASH_ERR_LOCK;
-
-               if (res != FLASH_ERR_OK)
-                       break;
-
-               if (bootblock)
-                       len = flash_dev_info->bootblocks[len_ix++];
-       }
-
-       CYGHWR_FLASH_WRITE_DISABLE();
-
-       return res;
-}
-//----------------------------------------------------------------------------
-// Unlock block
-
-int
-flash_unlock_block(void* block, int block_size, int blocks, void *myprint)
-{
-       volatile flash_data_t *ROM;
-       int res = FLASH_ERR_OK;
-       flash_data_t state;
-       int timeout = 5000000;
-       volatile flash_data_t* b_p = (flash_data_t*) block;
-       volatile flash_data_t *b_v;
-       cyg_bool bootblock;
-       int len, len_ix = 1;
-       //void (*func_ptr)(void) = myprint;
-#if 0
-       unsigned char   testbuffer[16];
-
-       testbuffer[0]='o';
-       testbuffer[1]='k';
-       testbuffer[2]='1';
-       testbuffer[3]='\r';
-       testbuffer[4]='\n';
-       testbuffer[5]='\0';
-#endif
-
-       //*((unsigned long *)0xA0100000) = func_ptr;
-       //(*func_ptr)(testbuffer);
-       //(*func_ptr)("flash_unlock_block function entered now ....\n");
-       //return FLASH_ERR_OK;
-#ifdef DEBUG
-       d_print("flash_unlock_block function entered ....\n");
-#endif
-       if (!flash_dev_info->locking) {
-               return res;
-       }
-       //ROM = (volatile flash_data_t*)((unsigned long)block & flash_dev_info->base_mask);
-       ROM = FLASH_P2V((unsigned long)block & flash_dev_info->base_mask);
-#ifdef DEBUG
-       d_print("flash_unlock_block dev %08x block %08x size %08x count %08x\n", ROM, block, block_size, blocks);
-#endif
-       // Is this the boot sector?
-       bootblock = (flash_dev_info->bootblock &&
-                    (flash_dev_info->bootblocks[0] == ((unsigned long)block - (unsigned long)ROM)));
-       if (bootblock) {
-               len = flash_dev_info->bootblocks[len_ix++];
-       } else {
-               len = flash_dev_info->block_size;
-       }
-
-       CYGHWR_FLASH_WRITE_ENABLE();
-
-       while (len > 0) {
-               b_v = FLASH_P2V(b_p);
-               // Clear any error conditions
-               *b_v = FLASH_Clear_Status;
-
-               // Clear lock bit
-               *b_v = FLASH_Clear_Lock;
-               *b_v = FLASH_Clear_Lock_Confirm;  // Confirmation
-
-               *(b_v+2) = FLASH_Read_ID;
-
-               while((state = *(b_v+2)) & FLASH_Lock_State_Mask)  {
-                       if (--timeout == 0) {
-                               res = FLASH_ERR_DRV_TIMEOUT;
-                               break;
-                       }
-               }
-               // Restore ROM to "normal" mode
-               *b_v = FLASH_Reset;
-
-               // Go to next block
-               b_p += len / sizeof( flash_data_t );
-               len = 0;
-               if (FLASH_ErrorLock == (state & FLASH_ErrorLock)) {
-                       res = FLASH_ERR_LOCK;
-               }
-               if (res != FLASH_ERR_OK) {
-                       break;
-               }
-               if (bootblock) {
-                       len = flash_dev_info->bootblocks[len_ix++];
-               }
-       }
-       CYGHWR_FLASH_WRITE_DISABLE();
-       // (*func_ptr)("leaving flash_unlock_block function now\n");
-
-       return res;
-
-       // FIXME: Unlocking need to support some other parts in the future
-       // as well which take a little more diddling.
-}
-#endif // CYGHWR_IO_FLASH_BLOCK_LOCKING
-#endif // CYGONCE_DEVS_FLASH_INTEL_28FXXX_INL
diff --git a/packages/devs/flash/intel/bootblock/v2_0/ChangeLog b/packages/devs/flash/intel/bootblock/v2_0/ChangeLog
deleted file mode 100644 (file)
index a3e5c0d..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-2001-06-11  Gary Thomas  <gthomas@redhat.com>
-
-       * src/bootblock_flash.c:Remove dependency on printf() via user functions. 
-
-2001-05-23  Jesper Skov  <jskov@redhat.com>
-
-       * cdl/flash_intel_bootblock.cdl: Needs IO driver to copy functions
-       to RAM.
-
-2000-12-05  Jonathan Larmour  <jlarmour@redhat.com>
-
-       * src/bootblock_flash.c (flash_code_overlaps): Define stext/etext
-       as array types so no assumptions can be made by the compiler about
-       location.
-
-2000-11-22  Jesper Skov  <jskov@redhat.com>
-
-       * src/bootblock_flash.c (flash_hwr_init): Invalidate icache
-       instead of disabling it.
-
-2000-11-20  Jesper Skov  <jskov@redhat.com>
-
-       * src/flash_query.c (flash_query): A new hardwired flash address.
-       * src/bootblock_flash.c (flash_hwr_init): Same
-
-2000-11-17  Jesper Skov  <jskov@redhat.com>
-
-       * src/flash_erase_block.c: cleanup.
-       * src/flash_program_buf.c: cleanup.
-
-2000-11-16  Jesper Skov  <jskov@redhat.com>
-
-       * src/bootblock_flash.c: Handle suspend failures.
-       * src/flash.h: Same.
-
-2000-11-15  Jesper Skov  <jskov@redhat.com>
-
-       * Copy of edb7xxx driver. Need to rewrite to be more generic. Need
-       CDL options to control number of parts, interleaving, size, etc.
-
-//===========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//===========================================================================
diff --git a/packages/devs/flash/intel/bootblock/v2_0/cdl/flash_intel_bootblock.cdl b/packages/devs/flash/intel/bootblock/v2_0/cdl/flash_intel_bootblock.cdl
deleted file mode 100644 (file)
index d8896d2..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-# ====================================================================
-#
-#      flash_bootblock.cdl
-#
-#      FLASH memory - Hardware support for Intel Boot Block Flash Memory
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      gthomas
-# Contributors:   jskov
-# Date:           2000-07-26
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_DEVS_FLASH_INTEL_BOOTBLOCK {
-    display       "Intel boot block flash memory support"
-
-    parent        CYGPKG_IO_FLASH
-    active_if    CYGPKG_IO_FLASH
-
-    implements    CYGHWR_IO_FLASH_DEVICE
-    implements    CYGHWR_IO_FLASH_DEVICE_NOT_IN_RAM
-
-    include_dir   .
-    include_files ; # none _exported_ whatsoever
-    description   "FLASH memory device support for Intel boot block flash memory"
-    compile       bootblock_flash.c
-
-    make -priority 1 {
-        flash_erase_block.o: $(REPOSITORY)/$(PACKAGE)/src/flash_erase_block.c
-        $(CC) -S $(INCLUDE_PATH) $(CFLAGS) -g0 -mcpu=strongarm -fno-function-sections $(REPOSITORY)/$(PACKAGE)/src/flash_erase_block.c
-        echo "#include <cyg/hal/arch.inc>" > flash_erase_block2.S
-        cat  flash_erase_block.s >> flash_erase_block2.S
-        echo "FUNC_END(flash_erase_block_end)" >>flash_erase_block2.S
-        $(CC) -c $(INCLUDE_PATH) -o flash_erase_block.o flash_erase_block2.S
-        $(AR) rcs $(PREFIX)/lib/libtarget.a flash_erase_block.o
-    }
-    make -priority 1 {
-        flash_program_buf.o: $(REPOSITORY)/$(PACKAGE)/src/flash_program_buf.c
-        $(CC) -S $(INCLUDE_PATH) $(CFLAGS) -g0 -mcpu=strongarm -fno-function-sections $(REPOSITORY)/$(PACKAGE)/src/flash_program_buf.c
-        echo "#include <cyg/hal/arch.inc>" > flash_program_buf2.S
-        cat  flash_program_buf.s >> flash_program_buf2.S
-        echo "FUNC_END(flash_program_buf_end)" >>flash_program_buf2.S
-        $(CC) -c $(INCLUDE_PATH) -o flash_program_buf.o flash_program_buf2.S
-        $(AR) rcs $(PREFIX)/lib/libtarget.a flash_program_buf.o
-    }
-    make -priority 1 {
-        flash_query.o: $(REPOSITORY)/$(PACKAGE)/src/flash_query.c
-        $(CC) -S $(INCLUDE_PATH) $(CFLAGS) -g0 -mcpu=strongarm -fno-function-sections $(REPOSITORY)/$(PACKAGE)/src/flash_query.c
-        echo "#include <cyg/hal/arch.inc>" > flash_query2.S
-        cat  flash_query.s >> flash_query2.S
-        echo "FUNC_END(flash_query_end)" >>flash_query2.S
-        $(CC) -c $(INCLUDE_PATH) -o flash_query.o flash_query2.S
-        $(AR) rcs $(PREFIX)/lib/libtarget.a flash_query.o
-    }
-}
diff --git a/packages/devs/flash/intel/bootblock/v2_0/src/bootblock_flash.c b/packages/devs/flash/intel/bootblock/v2_0/src/bootblock_flash.c
deleted file mode 100644 (file)
index 12853b4..0000000
+++ /dev/null
@@ -1,155 +0,0 @@
-//==========================================================================
-//
-//      bootblock_flash.c
-//
-//      Flash programming
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas, jskov
-// Date:         2000-07-26
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-
-#define  _FLASH_PRIVATE_
-#include <cyg/io/flash.h>
-
-#include "flash.h"
-
-#define _si(p) ((p[0]<<8)|p[1])
-
-#define DEBUG 0
-
-int
-flash_hwr_init(void)
-{
-    unsigned short data[4];
-    extern char flash_query, flash_query_end;
-    typedef int code_fun(unsigned char *);
-    code_fun *_flash_query;
-    int code_len, stat, num_regions, region_size;
-
-    // Copy 'program' code to RAM for execution
-    code_len = (unsigned long)&flash_query_end - (unsigned long)&flash_query;
-    _flash_query = (code_fun *)flash_info.work_space;
-    memcpy(_flash_query, &flash_query, code_len);
-    HAL_DCACHE_SYNC();  // Should guarantee this code will run
-    HAL_ICACHE_INVALIDATE_ALL(); // is also required to avoid old contents
-    stat = (*_flash_query)(data);
-#if DEBUG
-    (*flash_info.pf)("stat = %x\n", stat);
-    dump_buf(data, sizeof(data));
-#endif
-
-    if (data[0] != FLASH_Intel_code) {
-        (*flash_info.pf)("Not Intel = %x\n", data[0]);
-        return FLASH_ERR_HWR;
-    }
-
-    // FIXME: More devices, comments, etc
-    if (data[1] == (unsigned short)0x8897) {
-        num_regions = 64*2;
-        region_size = 0x20000;
-    } else if (data[1] == (unsigned short)0x88f4) {
-        num_regions = 32; // (only use one for now)*4;             // 4 devices in serial, each having 32 regions
-        region_size = 0x10000;
-    } else {
-        (*flash_info.pf)("Unknown device type: %x\n", data[1]);
-        return FLASH_ERR_HWR;
-    }
-
-    // Hard wired for now FIXME
-    flash_info.block_size = region_size;
-    flash_info.blocks = num_regions;
-#if 0 // This should be used only for the gross XX firmware build
-    flash_info.start = (void *)0;
-    flash_info.end = (void *)(0x10000000+(num_regions*region_size));
-#else
-    flash_info.start = (void *)0x50000000;
-    flash_info.end = (void *)(0x50000000+(num_regions*region_size));
-#endif
-
-    return FLASH_ERR_OK;
-}
-
-// Map a hardware status to a package error
-int
-flash_hwr_map_error(int err)
-{
-    if (err & 0x007E007E) {
-        (*flash_info.pf)("Err = %x\n", err);
-        if (err & 0x00400040) {
-            return FLASH_ERR_ERASE_SUSPEND;
-        } else 
-        if (err & 0x00040004) {
-            return FLASH_ERR_PROGRAM_SUSPEND;
-        } else 
-        if (err & 0x00020002) {
-            return FLASH_ERR_PROTECT;
-        } else 
-        if (err & 0x00100010) {
-            return FLASH_ERR_PROGRAM;
-        } else 
-        if (err & 0x00200020) {
-            return FLASH_ERR_ERASE;
-        } else 
-        return FLASH_ERR_HWR;  // FIXME
-    } else {
-        return FLASH_ERR_OK;
-    }
-}
-
-// See if a range of FLASH addresses overlaps currently running code
-bool
-flash_code_overlaps(void *start, void *end)
-{
-    extern char _stext[], _etext[];
-
-    return ((((unsigned long)&_stext >= (unsigned long)start) &&
-             ((unsigned long)&_stext < (unsigned long)end)) ||
-            (((unsigned long)&_etext >= (unsigned long)start) &&
-             ((unsigned long)&_etext < (unsigned long)end)));
-}
diff --git a/packages/devs/flash/intel/bootblock/v2_0/src/flash.h b/packages/devs/flash/intel/bootblock/v2_0/src/flash.h
deleted file mode 100644 (file)
index 53191e0..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-//==========================================================================
-//
-//      flash.h
-//
-//      Flash programming - device constants, etc.
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2000-07-26
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#ifndef _FLASH_HWR_H_
-#define _FLASH_HWR_H_
-
-// FIXME: must be 16/32 bit depending on use of interleaved parts
-
-#define FLASH_Read_ID      0x9090   // 9090
-#define FLASH_Read_Status  0x0070   // 0070
-#define FLASH_Clear_Status 0x5050   // 5050
-#define FLASH_Status_Ready 0x0080   // 0080  // Only low 8 bits
-#define FLASH_Program      0x4040   // 4040
-#define FLASH_Block_Erase  0x2020   // 2020
-#define FLASH_Suspend      0xB0B0   // B0B0
-#define FLASH_Resume       0xD0D0   // D0D0
-#define FLASH_Confirm      0xD0D0   // D0D0
-#define FLASH_Reset        0xFFFF   // FFFF
-
-#define FLASH_BLOCK_SIZE        0x10000
-#define FLASH_BOOT_BLOCK_SIZE    0x2000
-
-#define FLASH_Intel_code   0x89
-
-
-
-#ifndef GO_FAST
-# define GO_FAST
-# define GO_SLOW
-#endif
-
-
-#endif  // _FLASH_HWR_H_
diff --git a/packages/devs/flash/intel/bootblock/v2_0/src/flash_erase_block.c b/packages/devs/flash/intel/bootblock/v2_0/src/flash_erase_block.c
deleted file mode 100644 (file)
index e3cb2fd..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-//==========================================================================
-//
-//      flash_erase_block.c
-//
-//      Flash programming
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2000-07-14
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include "flash.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-int flash_erase_block(volatile unsigned short *block)
-{
-    volatile unsigned short *ROM, *sb;
-    unsigned long stat;
-    int timeout = 50000;
-    int len, block_size;
-
-    GO_SLOW
-
-    ROM = (volatile unsigned short *)((unsigned long)block & 0xFF800000);
-
-    // Clear any error conditions
-    ROM[0] = FLASH_Clear_Status;
-
-    len = FLASH_BLOCK_SIZE;
-    if (((unsigned long)block - (unsigned long)ROM) < FLASH_BLOCK_SIZE) {
-        block_size = FLASH_BOOT_BLOCK_SIZE;  // First 8 blocks are only 8Kx2 each
-    } else {
-        block_size = FLASH_BLOCK_SIZE;
-    }
-    sb = block;
-    while (len > 0) {
-        // Erase block
-        ROM[0] = FLASH_Block_Erase;
-        *block = FLASH_Confirm;
-        timeout = 5000000;
-        while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-            if (--timeout == 0) break;
-        }
-
-        len -= block_size;
-        block += block_size / sizeof(*block);
-    }
-
-    // Restore ROM to "normal" mode
-    ROM[0] = FLASH_Reset;
-
-    // If an error was reported, see if the block erased anyway
-    if (stat & 0x007E007E) {
-        len = FLASH_BLOCK_SIZE;
-        block = sb;
-        while (len > 0) {
-            if (*block++ != 0xFFFFFFFF) break;
-            len -= sizeof(*block);
-        }
-        if (len == 0) stat = 0;
-    }
-
-    GO_FAST
-
-    return stat;
-}
diff --git a/packages/devs/flash/intel/bootblock/v2_0/src/flash_program_buf.c b/packages/devs/flash/intel/bootblock/v2_0/src/flash_program_buf.c
deleted file mode 100644 (file)
index 77c8541..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-//==========================================================================
-//
-//      flash_program_buf.c
-//
-//      Flash programming
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2000-07-14
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include "flash.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-int
-flash_program_buf(volatile unsigned short *addr, unsigned short *data, int len)
-{
-    volatile unsigned short *ROM;
-    unsigned short stat = 0;
-    int timeout = 50000;
-
-    GO_SLOW
-
-    ROM = (volatile unsigned short *)((unsigned long)addr & 0xFF800000);
-    // Clear any error conditions
-    ROM[0] = FLASH_Clear_Status;
-
-    while (len > 0) {
-        ROM[0] = FLASH_Program;
-        *addr = *data;
-        timeout = 5000000;
-        while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-            if (--timeout == 0) {
-                goto bad;
-            }
-        }
-        if (stat & 0x007E) {
-            break;
-        }
-        ROM[0] = FLASH_Reset;            
-        if (*addr++ != *data++) {
-            stat = 0x9910;
-            break;
-        }
-        len -= 2;
-    }
-
-    // Restore ROM to "normal" mode
- bad:
-    ROM[0] = FLASH_Reset;
-
-    GO_FAST
-
-    return stat;
-}
diff --git a/packages/devs/flash/intel/bootblock/v2_0/src/flash_query.c b/packages/devs/flash/intel/bootblock/v2_0/src/flash_query.c
deleted file mode 100644 (file)
index 3d7077b..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-//==========================================================================
-//
-//      flash_query.c
-//
-//      Flash programming - query device
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2000-07-26
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include "flash.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-#include CYGHWR_MEMORY_LAYOUT_H
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-#define CNT 200*1000*10  // Approx 20ms
-
-int
-flash_query(unsigned short *data)
-{
-    volatile unsigned short *ROM;
-    int cnt;
-    int cache_on;
-
-    ROM = (volatile unsigned short *)0x53000000;
-
-    ROM[0] = FLASH_Read_ID;
-    for (cnt = CNT;  cnt > 0;  cnt--) ;
-    *data++ = *ROM++;  // Manufacturer code
-    *data++ = *ROM++;  // Device identifier
-
-    ROM[0] = FLASH_Reset;
-
-    return 0;
-}
diff --git a/packages/devs/flash/intel/strata/v2_0/src/flash_program_buf2.c b/packages/devs/flash/intel/strata/v2_0/src/flash_program_buf2.c
deleted file mode 100755 (executable)
index 5af493d..0000000
+++ /dev/null
@@ -1,217 +0,0 @@
-//==========================================================================
-//
-//      flash_program_buf.c
-//
-//      Flash programming
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas, hmt
-// Contributors: gthomas
-// Date:         2001-02-14
-// Purpose:      
-// Description:  
-//              
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-
-// original code changed by KARO electronics GmbH 09.04.2003
-// the original code assumes, that the BA is constant over the whole region to program.
-// As we remap the first 4k of flash to DRAM, and the corresponding DRAM to flash,
-// this is not true if we want to update the RedBoot image itself.
-#include "strata.h"
-
-#include <pkgconf/hal.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_cache.h>
-
-//
-// CAUTION!  This code must be copied to RAM before execution.  Therefore,
-// it must not contain any code which might be position dependent!
-//
-
-int
-flash_program_buf(volatile flash_t *addr, flash_t *data, int len,
-                  unsigned long block_mask, int buffer_size)
-{
-    volatile flash_t *ROM;
-    volatile flash_t *BA;
-    volatile flash_t *phy_address;
-    flash_t stat = 0;
-    int timeout = 50000;
-    int cache_on;
-#ifdef FLASH_Write_Buffer
-    int i, wc;
-#endif
-
-       phy_address = addr;
-
-    HAL_DCACHE_IS_ENABLED(cache_on);
-    if (cache_on) {
-        HAL_DCACHE_SYNC();
-        HAL_DCACHE_DISABLE();
-    }
-
-    // Get base address and map addresses to virtual addresses
-    ROM = FLASH_P2V( CYGNUM_FLASH_BASE_MASK & (unsigned int)addr);
-    BA = FLASH_P2V( block_mask & (unsigned int)addr );
-    addr = FLASH_P2V(addr);
-
-
-
-    // Clear any error conditions
-    ROM[0] = FLASH_Clear_Status;
-
-#ifdef FLASH_Write_Buffer
-    // Write any big chunks first
-    while (len >= buffer_size) {
-       ROM = FLASH_P2V( CYGNUM_FLASH_BASE_MASK & (unsigned int)phy_address );
-       BA = FLASH_P2V( block_mask & (unsigned int)phy_address );
-       addr = FLASH_P2V(phy_address);
-       
-        wc = buffer_size;
-        if (wc > len) wc = len;
-        len -= wc;
-
-       // convert 'wc' in bytes to 'wc' in 'flash_t' 
-
-        wc = wc / sizeof(flash_t);  // Word count
-        
-        
-        
-        *BA = FLASH_Write_Buffer;
-        
-        timeout = 5000000;
-        while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-            if (--timeout == 0) {
-               
-               
-                goto bad;
-            }
-            *BA = FLASH_Write_Buffer;
-        }
-
-        *BA = FLASHWORD(wc-1);  // Count is 0..N-1
-        for (i = 0;  i < wc;  i++) {
-#ifdef CYGHWR_FLASH_WRITE_ELEM
-            CYGHWR_FLASH_WRITE_ELEM(addr+i, data+i);
-#else
-            *(addr+i) = *(data+i);
-#endif
-       }
-
-    
-    
-        *BA = FLASH_Confirm;
-    
-        ROM[0] = FLASH_Read_Status;
-        timeout = 5000000;
-        while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-            if (--timeout == 0) {
-               
-               
-               
-                goto bad;
-            }
-        }
-
-        // Jump out if there was an error
-        if (stat & FLASH_ErrorMask) {
-
-            
-
-            goto bad;
-        }
-        
-        // And verify the data - also increments the pointers.
-        *BA = FLASH_Reset;            
-        for (i = 0;  i < wc;  i++) {
-               phy_address++;
-            if ( *addr++ != *data++ ) {
-                stat = FLASH_ErrorNotVerified;
-               goto bad;
-            }
-        }
-        
-        
-        
-        
-    }
-#endif
-
-    while (len > 0) {
-       diag_printf("hier komm ich auch rein !!!!\n");
-       ROM = FLASH_P2V( CYGNUM_FLASH_BASE_MASK & (unsigned int)phy_address );
-       BA = FLASH_P2V( block_mask & (unsigned int)phy_address );
-       addr = FLASH_P2V(phy_address);
-       
-        ROM[0] = FLASH_Program;
-#ifdef CYGHWR_FLASH_WRITE_ELEM
-        CYGHWR_FLASH_WRITE_ELEM(addr, data);
-#else
-        *addr = *data;
-#endif
-        timeout = 5000000;
-        while(((stat = ROM[0]) & FLASH_Status_Ready) != FLASH_Status_Ready) {
-            if (--timeout == 0) {
-                goto bad;
-            }
-        }
-        if (stat & FLASH_ErrorMask) {
-            break;
-        }
-        ROM[0] = FLASH_Reset;  
-        phy_address++;          
-        if (*addr++ != *data++) {
-            stat = FLASH_ErrorNotVerified;
-            break;
-        }
-        len -= sizeof( flash_t );
-    }
-
-    // Restore ROM to "normal" mode
- bad:
-    ROM[0] = FLASH_Reset;            
-
-    if (cache_on) {
-        HAL_DCACHE_ENABLE();
-    }
-
-    return stat;
-}
diff --git a/packages/devs/serial/arm/triton/v2_0/cdl/ser_arm_xscale_triton.cdl b/packages/devs/serial/arm/triton/v2_0/cdl/ser_arm_xscale_triton.cdl
deleted file mode 100755 (executable)
index fe8f643..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-# ====================================================================
-#
-#      ser_arm_xscale_triton.cdl
-#
-#      eCos serial TRITON configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      msalter, usteinkohl
-# Original data:  msalter, usteinkohl
-# Contributors:
-# Date:           14th January 2003 (last modification)
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-
-cdl_package CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON {
-    display       "Ka-Ro Triton serial device drivers"
-
-    parent        CYGPKG_IO_SERIAL_DEVICES
-    active_if     CYGPKG_IO_SERIAL
-#    active_if     CYGPKG_HAL_ARM_XSCALE_TRITON_STK
-
-    requires      CYGPKG_ERROR
-    include_dir   cyg/io
-
-    description   "
-           This option enables the serial device drivers for the
-           TRITON evaluation board."
-    doc           redirect/ecos-device-drivers.html
-
-    # FIXME: This really belongs in the GENERIC_16X5X package
-    cdl_interface CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED {
-        display   "Generic 16x5x serial driver required"
-    }
-    define_proc {
-        puts $::cdl_header "#define CYGPRI_IO_SERIAL_GENERIC_16X5X_STEP 1"
-    }
-
-
-    define_proc {
-        puts $::cdl_system_header "/***** serial driver proc output start *****/"
-        puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_GENERIC_16X5X_INL <cyg/io/arm_xscale_triton_ser.inl>"
-        puts $::cdl_system_header "#define CYGDAT_IO_SERIAL_GENERIC_16X5X_CFG <pkgconf/io_serial_arm_xscale_triton.h>"
-        puts $::cdl_system_header "/*****  serial driver proc output end  *****/"
-    }
-
-    cdl_component CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0 {
-        display       "ARM XSCALE TRITON serial port 0 driver"
-        flavor        bool
-        default_value 1
-
-        implements CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED
-        implements    CYGINT_IO_SERIAL_FLOW_CONTROL_HW
-        implements    CYGINT_IO_SERIAL_LINE_STATUS_HW
-        implements     CYGNUM_SERIAL_FLOW_RTSCTS_RX
-        implements     CYGNUM_SERIAL_FLOW_RTSCTS_TX
-        
-
-        description   "
-            This option includes the serial device driver for the Ka-Ro
-           TRITON port 0."
-
-        cdl_option CYGDAT_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_NAME {
-            display       "Device name for TRITON serial port 0 driver"
-            flavor        data
-            default_value {"\"/dev/ser0\""}
-            description   "
-                This option specifies the name of the serial device
-                for the Ka-Ro TRITON port 0."
-        }
-
-        cdl_option CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BAUD {
-            display       "Baud rate for the TRITON serial port 0 driver"
-            flavor        data
-            legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400
-                            3600 4800 7200 9600 14400 19200 38400
-                            57600 115200 }
-            default_value 38400
-            description   "
-                This option specifies the default baud rate (speed)
-                for the TRITON port 0."
-        }
-
-        cdl_option CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BUFSIZE {
-            display       "Buffer size for the TRITON serial port 0 driver"
-            flavor        data
-            legal_values  0 to 8192
-            default_value 128
-            description   "
-                This option specifies the size of the internal buffers
-                used for the TRITON port 0."
-        }
-    }
-
-#    cdl_component CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1 {
-#        display       "ARM TRITON serial port 1 driver"
-#        flavor        bool
-#        default_value 1
-#
-#        implements CYGINT_IO_SERIAL_GENERIC_16X5X_REQUIRED
-#        implements    CYGINT_IO_SERIAL_FLOW_CONTROL_HW
-#        implements    CYGINT_IO_SERIAL_LINE_STATUS_HW
-#
-#        description   "
-#            This option includes the serial device driver for the
-#          TRITON port 1."
-#
-#        cdl_option CYGDAT_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_NAME {
-#            display       "Device name for TRITON serial port 1 driver"
-#            flavor        data
-#            default_value {"\"/dev/ser1\""}
-#            description   "
-#                This option specifies the name of the serial device
-#                for the TRITON port 1."
-#        }
-
-#        cdl_option CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BAUD {
-#            display       "Baud rate for the TRITON serial port 1 driver"
-#            flavor        data
-#            legal_values  { 50 75 110 "134_5" 150 200 300 600 1200 1800 2400
-#                            3600 4800 7200 9600 14400 19200 38400
-#                            57600 115200 }
-#            default_value 38400
-#            description   "
-#                This option specifies the default baud rate (speed)
-#                for the TRITON port 1."
-#        }
-
-#        cdl_option CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BUFSIZE {
-#            display       "Buffer size for the TRITON serial port 1 driver"
-#            flavor        data
-#            legal_values  0 to 8192
-#            default_value 128
-#            description   "
-#                This option specifies the size of the internal buffers
-#                used for the TRITON port 1."
-#        }
-#    }
-
-    cdl_component CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_TESTING {
-        display    "Testing parameters"
-        flavor     bool
-        calculated 1
-        active_if  CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0
-
-        implements CYGINT_IO_SERIAL_TEST_SKIP_9600
-        implements CYGINT_IO_SERIAL_TEST_SKIP_115200
-        implements CYGINT_IO_SERIAL_TEST_SKIP_PARITY_EVEN
-        
-        cdl_option CYGPRI_SER_TEST_SER_DEV {
-            display       "Serial device used for testing"
-            flavor        data
-            default_value { CYGDAT_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_NAME }
-        }
-
-        define_proc {
-            puts $::cdl_header "#define CYGPRI_SER_TEST_CRASH_ID \"triton\""
-            puts $::cdl_header "#define CYGPRI_SER_TEST_TTY_DEV  \"/dev/tty0\""
-        }
-    }
-}
-
-# EOF ser_arm_xscale_triton.cdl
diff --git a/packages/devs/serial/arm/triton/v2_0/include/arm_xscale_triton_ser.inl b/packages/devs/serial/arm/triton/v2_0/include/arm_xscale_triton_ser.inl
deleted file mode 100755 (executable)
index 9804675..0000000
+++ /dev/null
@@ -1,162 +0,0 @@
-//==========================================================================
-//
-//      io/serial/arm/arm_xscale_triton_ser.inl
-//
-//      Ka-Ro TRITON Serial I/O definitions
-//
-//==========================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter, usteinkohl
-// Contributors: msalter, usteinkohl
-// Date:         14th January 2003
-// Purpose:      TRITON Serial I/O module (interrupt driven version)
-// Description: 
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <cyg/hal/hal_intr.h>
-
-//-----------------------------------------------------------------------------
-// Baud rate specification
-
-static unsigned short select_baud[] = {
-    0,    // Unused
-    0,    // 50
-    0,    // 75
-    1047, // 110
-    0,    // 134.5
-    768,  // 150
-    0,    // 200
-    384,  // 300
-    192,  // 600
-    96,   // 1200
-    24,   // 1800
-    48,   // 2400
-    0,    // 3600
-    24,   // 4800
-    16,   // 7200
-    12,   // 9600
-    8,    // 14400
-    6,    // 19200
-    3,    // 38400
-    2,    // 57600
-    1,    // 115200
-};
-
-#ifdef CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0
-static pc_serial_info triton_serial_info0 = {0x40100000,
-                                          CYGNUM_HAL_INTERRUPT_SERIALA};
-#if CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BUFSIZE > 0
-static unsigned char triton_serial_out_buf0[CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BUFSIZE];
-static unsigned char triton_serial_in_buf0[CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BUFSIZE];
-
-static SERIAL_CHANNEL_USING_INTERRUPTS(triton_serial_channel0,
-                                       pc_serial_funs, 
-                                       triton_serial_info0,
-                                       CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BAUD),
-                                       CYG_SERIAL_STOP_DEFAULT,
-                                       CYG_SERIAL_PARITY_DEFAULT,
-                                       CYG_SERIAL_WORD_LENGTH_DEFAULT,
-                                       CYG_SERIAL_FLAGS_DEFAULT,
-                                       &triton_serial_out_buf0[0], sizeof(triton_serial_out_buf0),
-                                       &triton_serial_in_buf0[0], sizeof(triton_serial_in_buf0)
-    );
-#else
-static SERIAL_CHANNEL(triton_serial_channel0,
-                      pc_serial_funs, 
-                      triton_serial_info0,
-                      CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_BAUD),
-                      CYG_SERIAL_STOP_DEFAULT,
-                      CYG_SERIAL_PARITY_DEFAULT,
-                      CYG_SERIAL_WORD_LENGTH_DEFAULT,
-                      CYG_SERIAL_FLAGS_DEFAULT
-    );
-#endif
-
-DEVTAB_ENTRY(triton_serial_io0, 
-             CYGDAT_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0_NAME,
-             0,                     // Does not depend on a lower level interface
-             &cyg_io_serial_devio, 
-             pc_serial_init, 
-             pc_serial_lookup,     // Serial driver may need initializing
-             &triton_serial_channel0
-    );
-#endif //  CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL0
-
-#ifdef CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1
-static pc_serial_info triton_serial_info1 = {0x40200000,
-                                          CYGNUM_HAL_INTERRUPT_SERIALB};
-#if CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BUFSIZE > 0
-static unsigned char triton_serial_out_buf1[CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BUFSIZE];
-static unsigned char triton_serial_in_buf1[CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BUFSIZE];
-
-static SERIAL_CHANNEL_USING_INTERRUPTS(triton_serial_channel1,
-                                       pc_serial_funs, 
-                                       triton_serial_info1,
-                                       CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BAUD),
-                                       CYG_SERIAL_STOP_DEFAULT,
-                                       CYG_SERIAL_PARITY_DEFAULT,
-                                       CYG_SERIAL_WORD_LENGTH_DEFAULT,
-                                       CYG_SERIAL_FLAGS_DEFAULT,
-                                       &triton_serial_out_buf1[0], sizeof(triton_serial_out_buf1),
-                                       &triton_serial_in_buf1[0], sizeof(triton_serial_in_buf1)
-    );
-#else
-static SERIAL_CHANNEL(triton_serial_channel1,
-                      pc_serial_funs, 
-                      triton_serial_info1,
-                      CYG_SERIAL_BAUD_RATE(CYGNUM_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_BAUD),
-                      CYG_SERIAL_STOP_DEFAULT,
-                      CYG_SERIAL_PARITY_DEFAULT,
-                      CYG_SERIAL_WORD_LENGTH_DEFAULT,
-                      CYG_SERIAL_FLAGS_DEFAULT
-    );
-#endif
-
-DEVTAB_ENTRY(triton_serial_io1, 
-             CYGDAT_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1_NAME,
-             0,                     // Does not depend on a lower level interface
-             &cyg_io_serial_devio, 
-             pc_serial_init, 
-             pc_serial_lookup,     // Serial driver may need initializing
-             &triton_serial_channel1
-    );
-#endif //  CYGPKG_IO_SERIAL_ARM_XSCALE_TRITON_SERIAL1
-
-// EOF arm_xscale_triton_ser.inl
index 4df5c795e1c8203a0e9abf2f84b2b21f25eb03b7..cd146e5c868e03e7bc4a9145056a498f650c502f 100644 (file)
@@ -4,7 +4,7 @@
 #
 #      JFFS2 Filesystem configuration data
 #
-#      $Id$
+#      $Id: jffs2.cdl,v 1.19 2005/02/09 09:23:54 pavlov Exp $
 #
 # ====================================================================
 #####ECOSGPLCOPYRIGHTBEGIN####
index fc5a526dc34b74cfeaabafa16081877480576bc2..dffacd5a01610ac7cc1a35e88bc297942fdce065 100644 (file)
@@ -1,4 +1,4 @@
-       $Id$
+       $Id: README.Locking,v 1.12 2005/04/13 13:22:35 dwmw2 Exp $
 
        JFFS2 LOCKING DOCUMENTATION
        ---------------------------
index 6d9272864dbafde97314fdfc8563f0abb911324a..9d95901281aa3a3a9df1f4db24ec90b5ceca22ef 100644 (file)
@@ -1,4 +1,4 @@
-$Id$
+$Id: TODO,v 1.17 2004/04/14 20:11:38 gleixner Exp $
 
  - support asynchronous operation -- add a per-fs 'reserved_space' count,
    let each outstanding write reserve the _maximum_ amount of physical
index 9c77e26359c54f3d446aa776da968995ff751670..091fb79e1a44ba9b76917b2c987488b4293fc5dd 100644 (file)
@@ -1,4 +1,4 @@
-$Id$
+$Id: TODO.eCos,v 1.2 2003/11/28 11:15:56 dwmw2 Exp $
 
  - Make symlinks work properly.
 
index ae1d7f53c0a301f3308ab0176dea79742aa2f038..a66d0a8b70e4ba4286a087c633d2a731efaa6a69 100644 (file)
@@ -8,7 +8,7 @@
  * For licensing information, see the file 'LICENCE' in the 
  * jffs2 directory.
  *
- * $Id$
+ * $Id: jffs2.h,v 1.36 2005/07/26 13:19:36 havasi Exp $
  *
  */
 
index ad74d31881864d35a90ade3c0d077aa5bb5f58c5..a5db884ec607a2626982a6d791ec9e72c5dfa23d 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: jffs2_fs_i.h,v 1.18 2005/07/17 11:13:48 dedekind Exp $ */
 
 #ifndef _JFFS2_FS_I
 #define _JFFS2_FS_I
index ef7ab9c356199ff08852856643cac8423115ae86..1e21546622de3b0bb2269550141774b5c5919402 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id$ */
+/* $Id: jffs2_fs_sb.h,v 1.52 2005/05/19 16:12:17 gleixner Exp $ */
 
 #ifndef _JFFS2_FS_SB
 #define _JFFS2_FS_SB
index afe48beeaf0fcb679479e3bce0c20d55153a89e0..f3f9a6f6ec7055962cfc4ebab12bbe44ab5a35d6 100644 (file)
@@ -32,4 +32,4 @@ For information on obtaining alternative licences for JFFS2, see
 http://sources.redhat.com/jffs2/jffs2-licence.html
 
 
-       $Id$
+       $Id: LICENCE,v 1.2 2003/10/04 08:33:05 dwmw2 Exp $
index ef650f4db9a4ea8d3e6b6d273241405c4170d1ab..f5a02524f791d8528a2e93543c98c30c6fbca88f 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: build.c,v 1.75 2005/07/22 10:32:07 dedekind Exp $
  *
  */
 
index 61a2ba14b0b6b6520af6e16d8768e39a973d095e..c9e54b97dba8de85b500194fbc9ef5cdf3acad55 100644 (file)
@@ -9,7 +9,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: compr.c,v 1.45 2005/07/26 13:24:40 havasi Exp $
  *
  */
 
index 8d9839d689de3caf2a8b5e2352f1438f17ec0eae..9ec6e37d3833b16ade61f21179833d14147960c1 100644 (file)
@@ -7,7 +7,7 @@
  * For licensing information, see the file 'LICENCE' in the 
  * jffs2 directory.
  *
- * $Id$
+ * $Id: compr.h,v 1.8 2005/07/26 13:24:40 havasi Exp $
  *
  */
 
index f34347279186f62f8dca773b8739da33579262ce..23766496721c2705165b5c3c66afd2ccc8d03fcd 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: compr_rtime.c,v 1.15 2005/03/17 20:23:06 gleixner Exp $
  *
  *
  * Very simple lz77-ish encoder.
index e91dbb1d4c3c77c9eec2cf96130434f35acf87bc..2429fd704b658fe8e3cad2692a4e6b1d0ef902c7 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: compr_rubin.c,v 1.21 2005/05/20 15:39:54 gleixner Exp $
  *
  */
 
index 2cea5556d106310194bfc7d57a6bfff3e16c7159..cf51e34f657458edb817015f1a093f86c8bb0e22 100644 (file)
@@ -1,7 +1,7 @@
 /* Rubin encoder/decoder header       */
 /* work started at   : aug   3, 1994  */
 /* last modification : aug  15, 1994  */
-/* $Id$ */
+/* $Id: compr_rubin.h,v 1.6 2002/01/25 01:49:26 dwmw2 Exp $ */
 
 #include "pushpull.h"
 
index 694065681689ba8f80509f0d1506889a535061e5..83f7e0788fd0a551ad715b2ad2ea380fa07d7a33 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: compr_zlib.c,v 1.31 2005/05/20 19:30:06 gleixner Exp $
  *
  */
 
index 9f8f6bd003bab612b3f52cdf22768112d1ed42a1..250021c9d5f42da76a4d8eefc01bd0fca5f788d9 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: debug.c,v 1.1 2005/07/30 15:30:42 asl Exp $
  *
  */
 #include <linux/kernel.h>
index e5052815ad2f698d854d0eb1f3d3a25be4b3da54..7807177668c80118628161279f3e8d7c65a812ce 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: debug.h,v 1.1 2005/07/30 15:30:42 asl Exp $
  *
  */
 #ifndef _JFFS2_DEBUG_H_
index 3bd06ae34f70a5224afe3fcdf57e7a02cfb8c870..cb4cb5bf5a41d801fdba2b8c659385f74171b610 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: dir-ecos.c,v 1.11 2005/02/08 19:36:27 lunn Exp $
  *
  */
 
index 5e081db501f58ef9fef297cf1d6bf96c71af1b11..a8a0908142d95e5e4a39fcccc1c9b1c925e21f98 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: erase.c,v 1.83 2005/07/22 10:32:08 dedekind Exp $
  *
  */
 
diff --git a/packages/fs/jffs2/v2_0/src/file-ecos.c b/packages/fs/jffs2/v2_0/src/file-ecos.c
deleted file mode 100644 (file)
index edad438..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * JFFS2 -- Journalling Flash File System, Version 2.
- *
- * Copyright (C) 2001, 2002 Red Hat, Inc.
- *
- * Created by David Woodhouse <dwmw2@cambridge.redhat.com>
- *
- * For licensing information, see the file 'LICENCE' in this directory.
- *
- * $Id$
- *
- */
-
-#include <linux/kernel.h>
-#include <linux/pagemap.h>
-#include <linux/crc32.h>
-#include "nodelist.h"
-
-int jffs2_do_readpage_nolock (struct inode *inode, struct page *pg)
-{
-       struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
-       struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
-       unsigned char *pg_buf;
-       int ret;
-
-       D1(printk(KERN_DEBUG "jffs2_do_readpage_nolock(): ino #%lu, page at offset 0x%lx\n", inode->i_ino, pg->index << PAGE_CACHE_SHIFT));
-
-       if (!PageLocked(pg))
-                PAGE_BUG(pg);
-
-       pg_buf = (char *)kmap(pg);
-       /* FIXME: Can kmap fail? */
-
-       ret = jffs2_read_inode_range(c, f, pg_buf, pg->index << PAGE_CACHE_SHIFT, PAGE_CACHE_SIZE);
-
-       if (ret) {
-               ClearPageUptodate(pg);
-               SetPageError(pg);
-       } else {
-               SetPageUptodate(pg);
-               ClearPageError(pg);
-       }
-
-       flush_dcache_page(pg);
-       kunmap(pg);
-
-       D1(printk(KERN_DEBUG "readpage finished\n"));
-       return 0;
-}
-
-int jffs2_do_readpage_unlock(struct inode *inode, struct page *pg)
-{
-       int ret = jffs2_do_readpage_nolock(inode, pg);
-       UnlockPage(pg);
-       return ret;
-}
-
-
-//int jffs2_readpage (struct file *filp, struct page *pg)
-int jffs2_readpage (struct inode *d_inode, struct page *pg)
-{
-       //      struct jffs2_inode_info *f = JFFS2_INODE_INFO(d_inode);
-       int ret;
-       
-       //      down(&f->sem);
-       ret = jffs2_do_readpage_unlock(d_inode, pg);
-       //      up(&f->sem);
-       return ret;
-}
-
-//int jffs2_prepare_write (struct file *filp, struct page *pg, unsigned start, unsigned end)
-int jffs2_prepare_write (struct inode *d_inode, struct page *pg, unsigned start, unsigned end)
-{
-       struct inode *inode = d_inode;
-       struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
-       uint32_t pageofs = pg->index << PAGE_CACHE_SHIFT;
-       int ret = 0;
-
-       D1(printk(KERN_DEBUG "jffs2_prepare_write()\n"));
-
-       if (pageofs > inode->i_size) {
-               /* Make new hole frag from old EOF to new page */
-               struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
-               struct jffs2_raw_inode ri;
-               struct jffs2_full_dnode *fn;
-               uint32_t phys_ofs, alloc_len;
-               
-               D1(printk(KERN_DEBUG "Writing new hole frag 0x%x-0x%x between current EOF and new page\n",
-                         (unsigned int)inode->i_size, pageofs));
-
-               ret = jffs2_reserve_space(c, sizeof(ri), &phys_ofs, &alloc_len, ALLOC_NORMAL);
-               if (ret)
-                       return ret;
-
-               down(&f->sem);
-               memset(&ri, 0, sizeof(ri));
-
-               ri.magic = cpu_to_je16(JFFS2_MAGIC_BITMASK);
-               ri.nodetype = cpu_to_je16(JFFS2_NODETYPE_INODE);
-               ri.totlen = cpu_to_je32(sizeof(ri));
-               ri.hdr_crc = cpu_to_je32(crc32(0, &ri, sizeof(struct jffs2_unknown_node)-4));
-
-               ri.ino = cpu_to_je32(f->inocache->ino);
-               ri.version = cpu_to_je32(++f->highest_version);
-               ri.mode = cpu_to_jemode(inode->i_mode);
-               ri.uid = cpu_to_je16(inode->i_uid);
-               ri.gid = cpu_to_je16(inode->i_gid);
-
-               ri.isize = cpu_to_je32(max((uint32_t)inode->i_size, pageofs));
-               ri.atime = ri.ctime = ri.mtime = cpu_to_je32(cyg_timestamp());
-               ri.offset = cpu_to_je32(inode->i_size);
-               ri.dsize = cpu_to_je32(pageofs - inode->i_size);
-               ri.csize = cpu_to_je32(0);
-               ri.compr = JFFS2_COMPR_ZERO;
-               ri.node_crc = cpu_to_je32(crc32(0, &ri, sizeof(ri)-8));
-               ri.data_crc = cpu_to_je32(0);
-               
-               fn = jffs2_write_dnode(c, f, &ri, NULL, 0, phys_ofs, NULL);
-               jffs2_complete_reservation(c);
-               if (IS_ERR(fn)) {
-                       ret = PTR_ERR(fn);
-                       up(&f->sem);
-                       return ret;
-               }
-               ret = jffs2_add_full_dnode_to_inode(c, f, fn);
-               if (f->metadata) {
-                       jffs2_mark_node_obsolete(c, f->metadata->raw);
-                       jffs2_free_full_dnode(f->metadata);
-                       f->metadata = NULL;
-               }
-               if (ret) {
-                       D1(printk(KERN_DEBUG "Eep. add_full_dnode_to_inode() failed in prepare_write, returned %d\n", ret));
-                       jffs2_mark_node_obsolete(c, fn->raw);
-                       jffs2_free_full_dnode(fn);
-                       up(&f->sem);
-                       return ret;
-               }
-               inode->i_size = pageofs;
-               up(&f->sem);
-       }
-       
-
-       /* Read in the page if it wasn't already present, unless it's a whole page */
-        // eCos has no concept of uptodate and by default always reads pages afresh
-       if (!Page_Uptodate(pg) && (start || end < PAGE_CACHE_SIZE)) {
-               down(&f->sem);
-               ret = jffs2_do_readpage_nolock(inode, pg);
-               up(&f->sem);
-       }
-       D1(printk(KERN_DEBUG "end prepare_write()\n"));
-       return ret;
-}
-
-//int jffs2_commit_write (struct file *filp, struct page *pg, unsigned start, unsigned end)
-int jffs2_commit_write (struct inode *d_inode, struct page *pg, unsigned start, unsigned end)
-{
-       /* Actually commit the write from the page cache page we're looking at.
-        * For now, we write the full page out each time. It sucks, but it's simple
-        */
-       struct inode *inode = d_inode;
-       struct jffs2_inode_info *f = JFFS2_INODE_INFO(inode);
-       struct jffs2_sb_info *c = JFFS2_SB_INFO(inode->i_sb);
-       struct jffs2_raw_inode *ri;
-       int ret = 0;
-       uint32_t writtenlen = 0;
-
-       D1(printk(KERN_DEBUG "jffs2_commit_write(): ino #%lu, page at 0x%lx, range %d-%d\n",
-                 inode->i_ino, pg->index << PAGE_CACHE_SHIFT, start, end));
-
-
-       ri = jffs2_alloc_raw_inode();
-       if (!ri) {
-               D1(printk(KERN_DEBUG "jffs2_commit_write(): Allocation of raw inode failed\n"));
-               return -ENOMEM;
-       }
-
-       /* Set the fields that the generic jffs2_write_inode_range() code can't find */
-       ri->ino = cpu_to_je32(inode->i_ino);
-       ri->mode = cpu_to_jemode(inode->i_mode);
-       ri->uid = cpu_to_je16(inode->i_uid);
-       ri->gid = cpu_to_je16(inode->i_gid);
-       ri->isize = cpu_to_je32((uint32_t)inode->i_size);
-       ri->atime = ri->ctime = ri->mtime = cpu_to_je32(cyg_timestamp());
-
-       ret = jffs2_write_inode_range(c, f, ri, page_address(pg) + start,
-                                     (pg->index << PAGE_CACHE_SHIFT) + start,
-                                     end - start, &writtenlen);
-
-       if (ret) {
-               /* There was an error writing. */
-               SetPageError(pg);
-       }
-
-       if (writtenlen) {
-               if (inode->i_size < (pg->index << PAGE_CACHE_SHIFT) + start + writtenlen) {
-                       inode->i_size = (pg->index << PAGE_CACHE_SHIFT) + start + writtenlen;
-                       inode->i_ctime = inode->i_mtime = je32_to_cpu(ri->ctime);
-               }
-       }
-
-       jffs2_free_raw_inode(ri);
-
-       if (start+writtenlen < end) {
-               /* generic_file_write has written more to the page cache than we've
-                  actually written to the medium. Mark the page !Uptodate so that 
-                  it gets reread */
-               D1(printk(KERN_DEBUG "jffs2_commit_write(): Not all bytes written. Marking page !uptodate\n"));
-               SetPageError(pg);
-               ClearPageUptodate(pg);
-       }
-
-       D1(printk(KERN_DEBUG "jffs2_commit_write() returning %d\n",writtenlen?writtenlen:ret));
-       return writtenlen?writtenlen:ret;
-}
index 972c2e15a068699409bbcd79b00fe49f7fa9f68a..6a024f3a7f76b06509a4cd2dc36c2774d5f17734 100644 (file)
@@ -8,7 +8,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: flashio.c,v 1.1 2003/11/26 14:09:29 dwmw2 Exp $
  *
  */
 
index b25c05043af2ad63e589ae66db5f94cd1ee7ca1c..ec578e7cee9271943b7e7c7b74d2ce81c6d898d2 100644 (file)
@@ -8,7 +8,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: fs-ecos.c,v 1.44 2005/07/24 15:29:57 dedekind Exp $
  *
  */
 
index f3c16cf45ea8851dce6c163223cbc78cbf656584..362cfeed7327816d6063a8cf4879d9df63a3f7cd 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: gc.c,v 1.152 2005/07/24 15:14:14 dedekind Exp $
  *
  */
 
index 8c6e137eb048b17fd74b42379dae0cbe333db8e3..f762c537c641aec687e66be5694976b8ad165e75 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: gcthread.c,v 1.3 2005/01/22 16:01:12 lunn Exp $
  *
  */
 #include <linux/kernel.h>
diff --git a/packages/fs/jffs2/v2_0/src/jffs2port.h b/packages/fs/jffs2/v2_0/src/jffs2port.h
deleted file mode 100644 (file)
index cf84370..0000000
+++ /dev/null
@@ -1,241 +0,0 @@
-#ifndef __LINUX_JFFS2PORT_H__
-#define __LINUX_JFFS2PORT_H__
-
-/* $Id$ */
-
-#include <pkgconf/system.h>
-#include <pkgconf/hal.h>
-//#include <pkgconf/kernel.h>
-#include <pkgconf/io_fileio.h>
-//#include <pkgconf/fs_ram.h>
-
-#include <cyg/infra/cyg_trac.h>        // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-
-#include <unistd.h>
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <dirent.h>
-
-#include <stdlib.h>
-#include <string.h>
-
-#include <cyg/fileio/fileio.h>
-
-#include <cyg/hal/drv_api.h>
-#include <cyg/infra/diag.h>
-
-#include <cyg/io/flash.h>
-
-#include <pkgconf/fs_jffs2.h>
-#include <linux/types.h>
-#include <linux/list.h>
-#include <asm/bug.h>
-// Linux types
-#define printf diag_printf
-
-// Structures used by VFS
-
-typedef unsigned short kdev_t;
-
-struct qstr {
-       const unsigned char * name;
-       unsigned int len;
-       unsigned int hash;
-};
-
-#define DNAME_INLINE_LEN 16
-
-struct dentry {
-       //      atomic_t d_count;
-       unsigned int d_flags;
-       struct inode  * d_inode;        /* Where the name belongs to - NULL is negative */
-       struct dentry * d_parent;       /* parent directory */
-       struct list_head d_hash;        /* lookup hash list */
-       struct list_head d_child;       /* child of parent list */
-       struct list_head d_subdirs;     /* our children */
-       struct list_head d_alias;       /* inode alias list */
-       struct qstr d_name;
-       struct dentry_operations  *d_op;
-       struct super_block * d_sb;      /* The root of the dentry tree */
-       unsigned char d_iname[DNAME_INLINE_LEN]; /* small names */
-};
-
-struct file {
-       struct dentry           *f_dentry;
-       unsigned int            f_flags;
-       mode_t                      f_mode;
-       loff_t                      f_pos;
-       unsigned long           f_reada, f_ramax, f_raend, f_ralen, f_rawin;
-};
-
-#define ATTR_MODE      1
-#define ATTR_UID       2
-#define ATTR_GID       4
-#define ATTR_SIZE      8
-#define ATTR_ATIME     16
-#define ATTR_MTIME     32
-#define ATTR_CTIME     64
-#define ATTR_ATIME_SET 128
-#define ATTR_MTIME_SET 256
-#define ATTR_FORCE     512     /* Not a change, but a change it */
-#define ATTR_ATTR_FLAG 1024
-
-typedef unsigned short umode_t;
-
-struct iattr {
-        unsigned int ia_valid;
-       umode_t         ia_mode;
-       uid_t           ia_uid;
-       gid_t           ia_gid;
-       loff_t          ia_size;
-       time_t          ia_atime;
-       time_t          ia_mtime;
-       time_t          ia_ctime;
-};
-
-struct page {
-       unsigned long index;
-       void *virtual;
-};
-
-struct nameidata {
-       struct dentry *dentry;
-       struct qstr last;
-       unsigned int flags;
-       int last_type;
-};
-
-struct file_operations {
-       //struct module *owner;
-       //loff_t (*llseek) (struct file *, loff_t, int);
-       ssize_t (*read) (struct file *, char *, size_t, loff_t *);
-       //ssize_t (*write) (struct file *, const char *, size_t, loff_t *);
-       int (*readdir) (struct file *, char *, int);
-       //unsigned int (*poll) (struct file *, struct poll_table_struct *);
-       int (*ioctl) (struct inode *, struct file *, unsigned int, unsigned long);
-       //int (*mmap) (struct file *, struct vm_area_struct *);
-       //int (*open) (struct inode *, struct file *);
-       //int (*flush) (struct file *);
-       //int (*release) (struct inode *, struct file *);
-       int (*fsync) (struct file *, struct dentry *, int datasync);
-       //int (*fasync) (int, struct file *, int);
-       //int (*lock) (struct file *, int, struct file_lock *);
-       //ssize_t (*readv) (struct file *, const struct iovec *, unsigned long, loff_t *);
-       //ssize_t (*writev) (struct file *, const struct iovec *, unsigned long, loff_t *);
-};
-
-struct inode_operations {
-       int (*create) (struct inode *,struct dentry *,int);
-       struct dentry * (*lookup) (struct inode *,struct dentry *);
-       int (*link) (struct dentry *,struct inode *,struct dentry *);
-       int (*unlink) (struct inode *,struct dentry *);
-       int (*symlink) (struct inode *,struct dentry *,const char *);
-       int (*mkdir) (struct inode *,struct dentry *,int);
-       int (*rmdir) (struct inode *,struct dentry *);
-       int (*mknod) (struct inode *,struct dentry *,int,int);
-       int (*rename) (struct inode *, struct dentry *,
-                       struct inode *, struct dentry *);
-       int (*readlink) (struct dentry *, char *,int);
-       int (*follow_link) (struct dentry *, struct nameidata *);
-       //void (*truncate) (struct inode *);
-       int (*permission) (struct inode *, int);
-       //int (*revalidate) (struct dentry *);
-       int (*setattr) (struct dentry *, struct iattr *);
-       //int (*getattr) (struct dentry *, struct iattr *);
-};
-
-
-struct iovec {
-        void *iov_base;
-        ssize_t iov_len; 
-};
-
-
-// called by JFFS2
-
-#define to_kdev_t(rdev) (rdev)
-#define MAJOR(rdev) (rdev)>>8
-#define MINOR(rdev) (rdev)
-
-#define page_address(page)     ((page)->virtual)
-
-static __inline__ void * kmap(struct page * page) {
-       return page_address(page);
-}
-
-#define kunmap(page) do { } while (0)
-
-//struct page * read_cache_page(cyg_uint32 start, void * f, struct inode * i);
-struct page *read_cache_page(unsigned long index, int (*filler)(void *,struct page*), void *data);
-void page_cache_release(struct page * pg);
-
-struct inode * new_inode(struct super_block *sb);
-struct inode * iget(struct super_block *sb, cyg_uint32 ino);
-void iput(struct inode * i);
-void make_bad_inode(struct inode * inode);
-int is_bad_inode(struct inode * inode);
-
-#define insert_inode_hash(inode) do { } while (0)
-
-#define d_alloc_root(root_inode) root_inode
-
-#define flush_dcache_page(page) do { } while (0)
-
-struct jffs2_sb_info;
-struct jffs2_eraseblock;
-
-cyg_bool jffs2_flash_read(struct jffs2_sb_info *c, cyg_uint32 read_buffer_offset, const size_t size, size_t * return_size, char * write_buffer);
-cyg_bool jffs2_flash_write(struct jffs2_sb_info *c, cyg_uint32 write_buffer_offset, const size_t size, size_t * return_size, char * read_buffer);
-int jffs2_flash_writev(struct jffs2_sb_info *c, const struct iovec *vecs, unsigned long count, loff_t to, size_t *retlen);
-cyg_bool jffs2_flash_erase(struct jffs2_sb_info *c, struct jffs2_eraseblock *jeb);
-
-
-// calls to JFFS2
-
-// dir-ecos.c
-struct inode *jffs2_lookup(struct inode *dir_i, struct qstr *name);
-int jffs2_readdir (struct inode *d_inode, unsigned long f_pos, char *nbuf, int nlen);
-int jffs2_create(struct inode *dir_i, struct qstr *d_name, int mode, struct inode **new_i);
-int jffs2_mkdir (struct inode *dir_i, struct qstr *d_name, int mode, struct inode **new_i);
-int jffs2_link (struct inode *old_d_inode, struct inode *dir_i, struct qstr *d_name);
-int jffs2_unlink(struct inode *dir_i, struct inode *d_inode, struct qstr *d_name);
-int jffs2_rmdir (struct inode *dir_i, struct inode *d_inode, struct qstr *d_name);
-int jffs2_rename (struct inode *old_dir_i, struct inode *d_inode, struct qstr *old_d_name,
-                        struct inode *new_dir_i, struct qstr *new_d_name);
-
-#define init_name_hash()               0
-static inline unsigned long partial_name_hash(unsigned long c, unsigned long prevhash)
-{
-       prevhash = (prevhash << 4) | (prevhash >> (8*sizeof(unsigned long)-4));
-       return prevhash ^ c;
-}
-
-static inline unsigned long end_name_hash(unsigned long hash)
-{
-       if (sizeof(hash) > sizeof(unsigned int))
-               hash += hash >> 4*sizeof(hash);
-       return (unsigned int) hash;
-}
-
-static inline unsigned int full_name_hash(const unsigned char * name, unsigned int len) {
-
-       unsigned long hash = init_name_hash();
-       while (len--)
-               hash = partial_name_hash(*name++, hash);
-       return end_name_hash(hash);
-}
-
-#endif /* __LINUX_JFFS2PORT_H__ */
-
-
-
-
-
-
-
-
-
-
index 61d0fc2f0cf375cee4f1a9034a8716e339ad3733..c4e66b143b15d92b65cc7d1f2a06630b20588c8b 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: malloc-ecos.c,v 1.4 2003/11/26 15:55:35 dwmw2 Exp $
  *
  */
 
index f4d316ac0ce6d48e3b4e07fa78c2d71cc57115f9..7997f526c94b9c73e2728055573ec753e64527fd 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: nodelist.c,v 1.102 2005/07/28 12:45:10 dedekind Exp $
  *
  */
 
index db625a2da54957b1adbae6082dbab3529936d07d..452fc81f391ae58e13d0bfd0470f843b2837c9c8 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: nodelist.h,v 1.135 2005/07/27 14:46:11 dedekind Exp $
  *
  */
 
index 98fb6c9d023ff09b8cc7ce0594796920b5f56d90..fe7e70a4055bc41a5b19e6415d3dc2457ede2813 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: nodemgmt.c,v 1.124 2005/07/20 15:32:28 dedekind Exp $
  *
  */
 
index f5661792e014ed0d522fda95478633d9c562a403..095ff508d150687a5be11f06a1b5e826076a7df8 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: os-ecos.h,v 1.24 2005/02/09 09:23:55 pavlov Exp $
  *
  */
 
index e0b761c2189429b30b2a6b97a39fc30545a18efd..c0c2a9158dffb817b3abea9f0d841bf97b8cf836 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: pushpull.h,v 1.10 2004/11/16 20:36:11 dwmw2 Exp $
  *
  */
 
index e9c117eca06f42a6ebb0b0ed906480d8fb9e3219..e38e6c5f143a202af72f6fad63c1a635f700355b 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: read.c,v 1.41 2005/07/22 10:32:08 dedekind Exp $
  *
  */
 
index 9d6310e9610ab4cab7bd916bceecbb12f916337d..ba9744a6fb8c0383ffd2b780a75893033cd1802f 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: readinode.c,v 1.132 2005/07/28 14:46:40 dedekind Exp $
  *
  */
 
index b1b6708b747f1650d9f973aa77fb5d4ae4e4d4c5..fcd6314cf179e6acf415ac39edc233e6c7acd670 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: scan.c,v 1.121 2005/07/20 15:32:28 dedekind Exp $
  *
  */
 #include <linux/kernel.h>
index d75bffb0e476ee5b740495b4505746fab94d6b51..4c418e69cfc6380dd8c5b05784527837200b7846 100644 (file)
@@ -7,7 +7,7 @@
  *
  * For licensing information, see the file 'LICENCE' in this directory.
  *
- * $Id$
+ * $Id: write.c,v 1.94 2005/07/20 15:50:51 dedekind Exp $
  *
  */
 
diff --git a/packages/fs/jffs2/v2_0/tests/fileio1.c b/packages/fs/jffs2/v2_0/tests/fileio1.c
deleted file mode 100644 (file)
index c6a2af0..0000000
+++ /dev/null
@@ -1,669 +0,0 @@
-//==========================================================================
-//
-//      fileio1.c
-//
-//      Test fileio system
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):           nickg
-// Contributors:        nickg
-// Date:                2000-05-25
-// Purpose:             Test fileio system
-// Description:         This test uses the testfs to check out the initialization
-//                      and basic operation of the fileio system
-//                      
-//                      
-//                      
-//                      
-//                      
-//              
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/kernel.h>
-#include <pkgconf/io_fileio.h>
-
-#include <cyg/kernel/ktypes.h>         // base kernel types
-#include <cyg/infra/cyg_trac.h>        // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-#include <cyg/io/flash.h>
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <dirent.h>
-
-#include <cyg/fileio/fileio.h>
-
-#include <cyg/infra/testcase.h>
-#include <cyg/infra/diag.h>            // HAL polled output
-
-#include <pkgconf/fs_jffs2.h>  // Address of JFFS2
-
-//==========================================================================
-
-#if 0
-MTAB_ENTRY( jffs2_mte1,
-                   "/",
-                   "jffs2",
-                   CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1,
-                   0);
-#endif
-
-//==========================================================================
-
-#define SHOW_RESULT( _fn, _res ) \
-diag_printf("<FAIL>: " #_fn "() returned %d %s\n", _res, _res<0?strerror(errno):"");
-
-//==========================================================================
-
-#define IOSIZE  100
-
-#define LONGNAME1       "long_file_name_that_should_take_up_more_than_one_directory_entry_1"
-#define LONGNAME2       "long_file_name_that_should_take_up_more_than_one_directory_entry_2"
-
-
-//==========================================================================
-
-#ifndef CYGPKG_LIBC_STRING
-
-char *strcat( char *s1, const char *s2 )
-{
-    char *s = s1;
-    while( *s1 ) s1++;
-    while( (*s1++ = *s2++) != 0);
-    return s;
-}
-
-#endif
-
-//==========================================================================
-
-static void listdir( char *name, int statp, int numexpected, int *numgot )
-{
-    int err;
-    DIR *dirp;
-    int num=0;
-    
-    diag_printf("<INFO>: reading directory %s\n",name);
-    
-    dirp = opendir( name );
-    if( dirp == NULL ) SHOW_RESULT( opendir, -1 );
-
-    for(;;)
-    {
-        struct dirent *entry = readdir( dirp );
-        
-        if( entry == NULL )
-            break;
-        num++;
-        diag_printf("<INFO>: entry %14s",entry->d_name);
-        if( statp )
-        {
-            char fullname[PATH_MAX];
-            struct stat sbuf;
-
-            if( name[0] )
-            {
-                strcpy(fullname, name );
-                if( !(name[0] == '/' && name[1] == 0 ) )
-                    strcat(fullname, "/" );
-            }
-            else fullname[0] = 0;
-            
-            strcat(fullname, entry->d_name );
-            
-            err = stat( fullname, &sbuf );
-            if( err < 0 )
-            {
-                if( errno == ENOSYS )
-                    diag_printf(" <no status available>");
-                else SHOW_RESULT( stat, err );
-            }
-            else
-            {
-                diag_printf(" [mode %08x ino %08x nlink %d size %d]",
-                            sbuf.st_mode,sbuf.st_ino,sbuf.st_nlink,sbuf.st_size);
-            }
-        }
-
-        diag_printf("\n");
-    }
-
-    err = closedir( dirp );
-    if( err < 0 ) SHOW_RESULT( stat, err );
-    if (numexpected >= 0 && num != numexpected)
-        CYG_TEST_FAIL("Wrong number of dir entries\n");
-    if ( numgot != NULL )
-        *numgot = num;
-}
-
-//==========================================================================
-
-static void createfile( char *name, size_t size )
-{
-    char buf[IOSIZE];
-    int fd;
-    ssize_t wrote;
-    int i;
-    int err;
-
-    diag_printf("<INFO>: create file %s size %d\n",name,size);
-
-    err = access( name, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-    
-    for( i = 0; i < IOSIZE; i++ ) buf[i] = i%256;
-    fd = open( name, O_WRONLY|O_CREAT );
-    if( fd < 0 ) SHOW_RESULT( open, fd );
-
-    while( size > 0 )
-    {
-        ssize_t len = size;
-        if ( len > IOSIZE ) len = IOSIZE;
-        
-        wrote = write( fd, buf, len );
-        if( wrote != len ) SHOW_RESULT( write, wrote );        
-
-        size -= wrote;
-    }
-
-    err = close( fd );
-    if( err < 0 ) SHOW_RESULT( close, err );
-}
-
-//==========================================================================
-
-#if 0
-static void maxfile( char *name )
-{
-    char buf[IOSIZE];
-    int fd;
-    ssize_t wrote;
-    int i;
-    int err;
-    size_t size = 0;
-    
-    diag_printf("<INFO>: create maximal file %s\n",name);
-
-    err = access( name, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-    
-    for( i = 0; i < IOSIZE; i++ ) buf[i] = i%256;
-    fd = open( name, O_WRONLY|O_CREAT );
-    if( fd < 0 ) SHOW_RESULT( open, fd );
-
-    do
-    {
-        wrote = write( fd, buf, IOSIZE );
-        if( wrote < 0 ) SHOW_RESULT( write, wrote );        
-
-        size += wrote;
-        
-    } while( wrote == IOSIZE );
-
-    diag_printf("<INFO>: file size == %d\n",size);
-
-    err = close( fd );
-    if( err < 0 ) SHOW_RESULT( close, err );
-}
-#endif
-
-//==========================================================================
-
-static void checkfile( char *name )
-{
-    char buf[IOSIZE];
-    int fd;
-    ssize_t done;
-    int i;
-    int err;
-    off_t pos = 0;
-
-    diag_printf("<INFO>: check file %s\n",name);
-    
-    err = access( name, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-
-    fd = open( name, O_RDONLY );
-    if( fd < 0 ) SHOW_RESULT( open, fd );
-
-    for(;;)
-    {
-        done = read( fd, buf, IOSIZE );
-        if( done < 0 ) SHOW_RESULT( read, done );
-
-        if( done == 0 ) break;
-
-        for( i = 0; i < done; i++ )
-            if( buf[i] != i%256 )
-            {
-                diag_printf("buf[%d+%d](%02x) != %02x\n",pos,i,buf[i],i%256);
-                CYG_TEST_FAIL("Data read not equal to data written\n");
-            }
-        
-        pos += done;
-    }
-
-    err = close( fd );
-    if( err < 0 ) SHOW_RESULT( close, err );
-}
-
-//==========================================================================
-
-static void copyfile( char *name2, char *name1 )
-{
-
-    int err;
-    char buf[IOSIZE];
-    int fd1, fd2;
-    ssize_t done, wrote;
-
-    diag_printf("<INFO>: copy file %s -> %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-
-    err = access( name2, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_WRONLY|O_CREAT );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done = read( fd2, buf, IOSIZE );
-        if( done < 0 ) SHOW_RESULT( read, done );
-
-        if( done == 0 ) break;
-
-        wrote = write( fd1, buf, done );
-        if( wrote != done ) SHOW_RESULT( write, wrote );
-
-        if( wrote != done ) break;
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-
-static void comparefiles( char *name2, char *name1 )
-{
-    int err;
-    char buf1[IOSIZE];
-    char buf2[IOSIZE];
-    int fd1, fd2;
-    ssize_t done1, done2;
-    int i;
-
-    diag_printf("<INFO>: compare files %s == %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_RDONLY );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done1 = read( fd1, buf1, IOSIZE );
-        if( done1 < 0 ) SHOW_RESULT( read, done1 );
-
-        done2 = read( fd2, buf2, IOSIZE );
-        if( done2 < 0 ) SHOW_RESULT( read, done2 );
-
-        if( done1 != done2 )
-            diag_printf("Files different sizes\n");
-        
-        if( done1 == 0 ) break;
-
-        for( i = 0; i < done1; i++ )
-            if( buf1[i] != buf2[i] )
-            {
-                diag_printf("buf1[%d](%02x) != buf1[%d](%02x)\n",i,buf1[i],i,buf2[i]);
-                CYG_TEST_FAIL("Data in files not equal\n");
-            }
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-
-void checkcwd( const char *cwd )
-{
-    static char cwdbuf[PATH_MAX];
-    char *ret;
-
-    ret = getcwd( cwdbuf, sizeof(cwdbuf));
-    if( ret == NULL ) SHOW_RESULT( getcwd, ret );    
-
-    if( strcmp( cwdbuf, cwd ) != 0 )
-    {
-        diag_printf( "cwdbuf %s cwd %s\n",cwdbuf, cwd );
-        CYG_TEST_FAIL( "Current directory mismatch");
-    }
-}
-
-//==========================================================================
-// main
-
-int main( int argc, char **argv )
-{
-    int err;
-    //int i;
-    int existingdirents=-1;
-
-    CYG_TEST_INIT();
-
-    // --------------------------------------------------------------
-
-    err = mount( CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1, "/", "jffs2" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    err = chdir( "/" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/" );
-    
-    listdir( "/", true, -1, &existingdirents );
-    if ( existingdirents < 2 )
-        CYG_TEST_FAIL("Not enough dir entries\n");
-
-    // --------------------------------------------------------------
-
-    createfile( "/foo", 202 );
-    checkfile( "foo" );
-    copyfile( "foo", "fee");
-    checkfile( "fee" );
-    comparefiles( "foo", "/fee" );
-    diag_printf("<INFO>: mkdir bar\n");
-    err = mkdir( "/bar", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-
-    listdir( "/" , true, existingdirents+3, NULL );
-
-    copyfile( "fee", "/bar/fum" );
-    checkfile( "bar/fum" );
-    comparefiles( "/fee", "bar/fum" );
-
-    diag_printf("<INFO>: cd bar\n");
-    err = chdir( "bar" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/bar" );
-    
-    diag_printf("<INFO>: rename /foo bundy\n");    
-    err = rename( "/foo", "bundy" );
-    if( err < 0 ) SHOW_RESULT( rename, err );
-    
-    listdir( "/", true, existingdirents+2, NULL );
-    listdir( "" , true, 4, NULL );
-
-    checkfile( "/bar/bundy" );
-    comparefiles("/fee", "bundy" );
-
-    // --------------------------------------------------------------
-
-    createfile( LONGNAME1, 123 );
-    checkfile( LONGNAME1 );
-    copyfile( LONGNAME1, LONGNAME2 );
-
-    listdir( "", false, 6, NULL );
-    
-    diag_printf("<INFO>: unlink " LONGNAME1 "\n");    
-    err = unlink( LONGNAME1 );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink " LONGNAME2 "\n");    
-    err = unlink( LONGNAME2 );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-    
-    
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: unlink fee\n");    
-    err = unlink( "/fee" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink fum\n");        
-    err = unlink( "fum" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink /bar/bundy\n");        
-    err = unlink( "/bar/bundy" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: cd /\n");        
-    err = chdir( "/" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/" );
-    
-    diag_printf("<INFO>: rmdir /bar\n");        
-    err = rmdir( "/bar" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-    
-    listdir( "/", false, existingdirents, NULL );
-
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: mount /jffs2 \n");
-    err = mount( CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1, "/jffs2", "jffs2" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    createfile( "/jffs2/tinky", 456 );
-    copyfile( "/jffs2/tinky", "/jffs2/laalaa" );
-    checkfile( "/jffs2/tinky");
-    checkfile( "/jffs2/laalaa");
-    comparefiles( "/jffs2/tinky", "/jffs2/laalaa" );
-
-    diag_printf("<INFO>: cd /jffs2\n");    
-    err = chdir( "/jffs2" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/jffs2" );
-        
-    diag_printf("<INFO>: mkdir noonoo\n");    
-    err = mkdir( "noonoo", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-
-    listdir( "." , true, existingdirents+3, NULL);
-
-    diag_printf("<INFO>: cd noonoo\n");
-    err = chdir( "noonoo" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/jffs2/noonoo" );
-    
-    createfile( "tinky", 678 );
-    checkfile( "tinky" );
-
-    createfile( "dipsy", 3456 );
-    checkfile( "dipsy" );
-    copyfile( "dipsy", "po" );
-    checkfile( "po" );
-    comparefiles( "dipsy", "po" );
-
-
-    /*for(i=0;i<2048;i++) {
-        diag_printf("<INFO>: churningchurningchurning................................ITERATION = %d\n", i);    
-        createfile( "churningchurningchurning", 4096 );
-        diag_printf("<INFO>: unlink churningchurningchurning\n");    
-        err = unlink( "churningchurningchurning" );
-        if( err < 0 ) SHOW_RESULT( unlink, err );
-    }*/
-
-
-    listdir( ".", true, 5, NULL );
-    listdir( "", true, 5, NULL );
-    listdir( "..", true, existingdirents+3, NULL );
-
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: unlink tinky\n");    
-    err = unlink( "tinky" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink dipsy\n");    
-    err = unlink( "dipsy" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink po\n");    
-    err = unlink( "po" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: cd ..\n"); 
-    err = chdir( ".." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/jffs2" );
-    
-    diag_printf("<INFO>: rmdir noonoo\n"); 
-    err = rmdir( "noonoo" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    // --------------------------------------------------------------
-
-    err = mkdir( "x", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-    
-    err = mkdir( "x/y", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-    
-    err = mkdir( "x/y/z", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-
-    err = mkdir( "x/y/z/w", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-    
-    diag_printf("<INFO>: cd /jffs2/x/y/z/w\n");
-    err = chdir( "/jffs2/x/y/z/w" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/jffs2/x/y/z/w" );
-
-    diag_printf("<INFO>: cd ..\n");
-    err = chdir( ".." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/jffs2/x/y/z" );
-    
-    diag_printf("<INFO>: cd .\n");
-    err = chdir( "." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/jffs2/x/y/z" );
-
-    diag_printf("<INFO>: cd ../../y\n");
-    err = chdir( "../../y" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/jffs2/x/y" );
-
-    diag_printf("<INFO>: cd ../..\n");
-    err = chdir( "../.." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/jffs2" );
-
-    diag_printf("<INFO>: rmdir x/y/z/w\n"); 
-    err = rmdir( "x/y/z/w" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    diag_printf("<INFO>: rmdir x/y/z\n"); 
-    err = rmdir( "x/y/z" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    diag_printf("<INFO>: rmdir x/y\n"); 
-    err = rmdir( "x/y" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    diag_printf("<INFO>: rmdir x\n"); 
-    err = rmdir( "x" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-    
-    // --------------------------------------------------------------
-    
-    diag_printf("<INFO>: unlink tinky\n");    
-    err = unlink( "tinky" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink laalaa\n");    
-    err = unlink( "laalaa" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: cd /\n");    
-    err = chdir( "/" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/" );
-    
-    diag_printf("<INFO>: umount /jffs2\n");    
-    err = umount( "/jffs2" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-    
-    diag_printf("<INFO>: umount /\n");    
-    err = umount( "/" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-    
-    CYG_TEST_PASS_FINISH("fileio1");
-}
-
-// -------------------------------------------------------------------------
-// EOF fileio1.c
diff --git a/packages/fs/jffs2/v2_0/tests/romfileio1.c b/packages/fs/jffs2/v2_0/tests/romfileio1.c
deleted file mode 100644 (file)
index f16a642..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-//==========================================================================
-//
-//      fileio1.c
-//
-//      Test fileio system
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):           nickg
-// Contributors:        nickg, richard.panton@3glab.com
-// Date:                2000-05-25
-// Purpose:             Test fileio system
-// Description:         This test uses the testfs to check out the initialization
-//                      and basic operation of the fileio system
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/kernel.h>
-#include <pkgconf/io_fileio.h>
-
-#include <cyg/kernel/ktypes.h>         // base kernel types
-#include <cyg/infra/cyg_trac.h>        // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-#include <cyg/io/flash.h>
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <dirent.h>
-
-#include <cyg/fileio/fileio.h>
-
-#include <cyg/infra/testcase.h>
-#include <cyg/infra/diag.h>            // HAL polled output
-
-#include <pkgconf/fs_jffs2.h>  // Address of JFFS2
-
-//==========================================================================
-
-/* MTAB_ENTRY( jffs2_mte1,
-                   "/",
-                   "jffs2",
-                   "",
-                   (CYG_ADDRWORD) CYGNUM_FS_JFFS2_BASE_ADDRESS ); */
-
-
-//==========================================================================
-
-#define SHOW_RESULT( _fn, _res ) \
-diag_printf("<FAIL>: " #_fn "() returned %d %s\n", _res, _res<0?strerror(errno):"");
-
-#define CHKFAIL_TYPE( _fn, _res, _type ) { \
-if ( _res != -1 ) \
-    diag_printf("<FAIL>: " #_fn "() returned %d (expected -1)\n", _res); \
-else if ( errno != _type ) \
-    diag_printf("<FAIL>: " #_fn "() failed with errno %d (%s),\n    expected %d (%s)\n", errno, strerror(errno), _type, strerror(_type) ); \
-}
-
-//==========================================================================
-
-#define IOSIZE  100
-
-#define LONGNAME1       "long_file_name_that_should_take_up_more_than_one_directory_entry_1"
-#define LONGNAME2       "long_file_name_that_should_take_up_more_than_one_directory_entry_2"
-
-
-//==========================================================================
-
-#ifndef CYGPKG_LIBC_STRING
-
-char *strcat( char *s1, const char *s2 )
-{
-    char *s = s1;
-    while( *s1 ) s1++;
-    while( (*s1++ = *s2++) != 0);
-    return s;
-}
-
-#endif
-
-//==========================================================================
-
-static void listdir( char *name, int statp )
-{
-    int err;
-    DIR *dirp;
-    
-    diag_printf("<INFO>: reading directory %s\n",name);
-    
-    dirp = opendir( name );
-    if( dirp == NULL ) SHOW_RESULT( opendir, -1 );
-
-    for(;;)
-    {
-        struct dirent *entry = readdir( dirp );
-        
-        if( entry == NULL )
-            break;
-
-        diag_printf("<INFO>: entry %14s",entry->d_name);
-        if( statp )
-        {
-            char fullname[PATH_MAX];
-            struct stat sbuf;
-
-            if( name[0] )
-            {
-                strcpy(fullname, name );
-                if( !(name[0] == '/' && name[1] == 0 ) )
-                    strcat(fullname, "/" );
-            }
-            else fullname[0] = 0;
-            
-            strcat(fullname, entry->d_name );
-            
-            err = stat( fullname, &sbuf );
-            if( err < 0 )
-            {
-                if( errno == ENOSYS )
-                    diag_printf(" <no status available>");
-                else SHOW_RESULT( stat, err );
-            }
-            else
-            {
-                diag_printf(" [mode %08x ino %08x nlink %d size %d]",
-                            sbuf.st_mode,sbuf.st_ino,sbuf.st_nlink,sbuf.st_size);
-            }
-        }
-
-        diag_printf("\n");
-    }
-
-    err = closedir( dirp );
-    if( err < 0 ) SHOW_RESULT( stat, err );
-}
-
-//==========================================================================
-
-static void copyfile( char *name2, char *name1 )
-{
-
-    int err;
-    char buf[IOSIZE];
-    int fd1, fd2;
-    ssize_t done, wrote;
-
-    diag_printf("<INFO>: copy file %s -> %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-
-    err = access( name2, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_WRONLY|O_CREAT );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done = read( fd2, buf, IOSIZE );
-        if( done < 0 ) SHOW_RESULT( read, done );
-
-        if( done == 0 ) break;
-
-        wrote = write( fd1, buf, done );
-        if( wrote != done ) SHOW_RESULT( write, wrote );
-
-        if( wrote != done ) break;
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-
-static void comparefiles( char *name2, char *name1 )
-{
-    int err;
-    char buf1[IOSIZE];
-    char buf2[IOSIZE];
-    int fd1, fd2;
-    ssize_t done1, done2;
-    int i;
-
-    diag_printf("<INFO>: compare files %s == %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_RDONLY );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done1 = read( fd1, buf1, IOSIZE );
-        if( done1 < 0 ) SHOW_RESULT( read, done1 );
-
-        done2 = read( fd2, buf2, IOSIZE );
-        if( done2 < 0 ) SHOW_RESULT( read, done2 );
-
-        if( done1 != done2 )
-            diag_printf("Files different sizes\n");
-        
-        if( done1 == 0 ) break;
-
-        for( i = 0; i < done1; i++ )
-            if( buf1[i] != buf2[i] )
-            {
-                diag_printf("buf1[%d](%02x) != buf1[%d](%02x)\n",i,buf1[i],i,buf2[i]);
-                CYG_TEST_FAIL("Data in files not equal\n");
-            }
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-// main
-
-int main( int argc, char **argv )
-{
-    int err;
-    //    char address[16];
-
-    CYG_TEST_INIT();
-
-    // --------------------------------------------------------------
-
-    err = mount( CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1, "/", "jffs2" );
-    if ( err != ENOERR ) SHOW_RESULT( chdir, err );
-    
-    diag_printf("<INFO>: JFFS2 root follows\n");
-    diag_printf("<INFO>: Note that dev cannot be stat()ed\n");
-    listdir( "/", true );
-
-    diag_printf("<INFO>: cd /etc\n" );
-    err = chdir( "/etc" );
-    if ( err < 0 ) SHOW_RESULT( chdir, err );
-
-    diag_printf("<INFO>: JFFS2 list of '' follows\n");
-    listdir( "", true );
-
-    diag_printf("<INFO>: JFFS2 list of /etc follows\n");
-    listdir( "/etc", true );
-
-    //diag_printf("<INFO>: JFFS2 list of . follows\n");
-    //listdir( ".", true );
-    
-    err = mount( "", "/var", "ramfs" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    copyfile( "/etc/passwd", "/var/passwd_copy" );
-
-    comparefiles( "/etc/passwd", "/var/passwd_copy" );
-    
-    diag_printf("<INFO>: JFFS2 list of / follows\n");
-    diag_printf("<INFO>: Note that /var now gives stat() info for RAMFS\n");
-    listdir( "/", true );
-
-    diag_printf("<INFO>: Mount JFFS2 again onto /mnt\n");
-    //sprintf( address, "%p", (void*)CYGNUM_FS_JFFS2_BASE_ADDRESS );
-    err = mount( CYGDAT_IO_FLASH_BLOCK_DEVICE_NAME_1, "/mnt", "jffs2" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    comparefiles( "/etc/passwd", "/mnt/etc/passwd" );
-
-
-    err = mkdir( "/foo", 0 );
-    CHKFAIL_TYPE( mkdir, err, EROFS );
-
-    err = rename( "/var", "/tmp" );    // RAMFS is mounted here
-    CHKFAIL_TYPE( rename, err, EXDEV );
-
-    err = rename( "/var/passwd_copy", "/mnt/etc/passwd_copy" );
-    CHKFAIL_TYPE( rename, err, EXDEV );
-
-    err = rename( "/etc", "/tmp" );
-    CHKFAIL_TYPE( rename, err, EROFS );
-
-    diag_printf("<INFO>: cd /etc\n");
-    err = chdir( "/etc" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    err = chdir( "/mnt/etc" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    //listdir( ".", true );
-
-    diag_printf("<INFO>: unlink /tmp\n");        
-    err = unlink( "/tmp" );
-    CHKFAIL_TYPE( unlink, err, EROFS );
-
-    diag_printf("<INFO>: mount random area\n");
-    //sprintf(address, "%p", (void*)(CYGNUM_FS_JFFS2_BASE_ADDRESS + 0x20000));
-    err = mount( "", "/tmp", "jffs2" );
-    SHOW_RESULT( mount, err );
-
-    err = umount( "/mnt" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-
-    err = umount( "/var" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-
-    err = umount( "/" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-
-
-    CYG_TEST_PASS_FINISH("fileio1");
-}
-
-// -------------------------------------------------------------------------
-// EOF fileio1.c
diff --git a/packages/fs/ram/v2_0/tests/fileio1.c b/packages/fs/ram/v2_0/tests/fileio1.c
deleted file mode 100644 (file)
index c92dc8e..0000000
+++ /dev/null
@@ -1,651 +0,0 @@
-//==========================================================================
-//
-//      fileio1.c
-//
-//      Test fileio system
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):           nickg
-// Contributors:        nickg
-// Date:                2000-05-25
-// Purpose:             Test fileio system
-// Description:         This test uses the testfs to check out the initialization
-//                      and basic operation of the fileio system
-//                      
-//                      
-//                      
-//                      
-//                      
-//              
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/kernel.h>
-#include <pkgconf/io_fileio.h>
-
-#include <cyg/kernel/ktypes.h>         // base kernel types
-#include <cyg/infra/cyg_trac.h>        // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <dirent.h>
-
-#include <cyg/fileio/fileio.h>
-
-#include <cyg/infra/testcase.h>
-#include <cyg/infra/diag.h>            // HAL polled output
-
-//==========================================================================
-
-#if 0
-MTAB_ENTRY( ramfs_mte1,
-                   "/",
-                   "ramfs",
-                   "",
-                   0);
-#endif
-
-//==========================================================================
-
-#define SHOW_RESULT( _fn, _res ) \
-diag_printf("<FAIL>: " #_fn "() returned %d %s\n", _res, _res<0?strerror(errno):"");
-
-//==========================================================================
-
-#define IOSIZE  100
-
-#define LONGNAME1       "long_file_name_that_should_take_up_more_than_one_directory_entry_1"
-#define LONGNAME2       "long_file_name_that_should_take_up_more_than_one_directory_entry_2"
-
-
-//==========================================================================
-
-#ifndef CYGPKG_LIBC_STRING
-
-char *strcat( char *s1, const char *s2 )
-{
-    char *s = s1;
-    while( *s1 ) s1++;
-    while( (*s1++ = *s2++) != 0);
-    return s;
-}
-
-#endif
-
-//==========================================================================
-
-static void listdir( char *name, int statp, int numexpected, int *numgot )
-{
-    int err;
-    DIR *dirp;
-    int num=0;
-    
-    diag_printf("<INFO>: reading directory %s\n",name);
-    
-    dirp = opendir( name );
-    if( dirp == NULL ) SHOW_RESULT( opendir, -1 );
-
-    for(;;)
-    {
-        struct dirent *entry = readdir( dirp );
-        
-        if( entry == NULL )
-            break;
-        num++;
-        diag_printf("<INFO>: entry %14s",entry->d_name);
-        if( statp )
-        {
-            char fullname[PATH_MAX];
-            struct stat sbuf;
-
-            if( name[0] )
-            {
-                strcpy(fullname, name );
-                if( !(name[0] == '/' && name[1] == 0 ) )
-                    strcat(fullname, "/" );
-            }
-            else fullname[0] = 0;
-            
-            strcat(fullname, entry->d_name );
-            
-            err = stat( fullname, &sbuf );
-            if( err < 0 )
-            {
-                if( errno == ENOSYS )
-                    diag_printf(" <no status available>");
-                else SHOW_RESULT( stat, err );
-            }
-            else
-            {
-                diag_printf(" [mode %08x ino %08x nlink %d size %d]",
-                            sbuf.st_mode,sbuf.st_ino,sbuf.st_nlink,sbuf.st_size);
-            }
-        }
-
-        diag_printf("\n");
-    }
-
-    err = closedir( dirp );
-    if( err < 0 ) SHOW_RESULT( stat, err );
-    if (numexpected >= 0 && num != numexpected)
-        CYG_TEST_FAIL("Wrong number of dir entries\n");
-    if ( numgot != NULL )
-        *numgot = num;
-}
-
-//==========================================================================
-
-static void createfile( char *name, size_t size )
-{
-    char buf[IOSIZE];
-    int fd;
-    ssize_t wrote;
-    int i;
-    int err;
-
-    diag_printf("<INFO>: create file %s size %d\n",name,size);
-
-    err = access( name, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-    
-    for( i = 0; i < IOSIZE; i++ ) buf[i] = i%256;
-    fd = open( name, O_WRONLY|O_CREAT );
-    if( fd < 0 ) SHOW_RESULT( open, fd );
-
-    while( size > 0 )
-    {
-        ssize_t len = size;
-        if ( len > IOSIZE ) len = IOSIZE;
-        
-        wrote = write( fd, buf, len );
-        if( wrote != len ) SHOW_RESULT( write, wrote );        
-
-        size -= wrote;
-    }
-
-    err = close( fd );
-    if( err < 0 ) SHOW_RESULT( close, err );
-}
-
-//==========================================================================
-
-#if 0
-static void maxfile( char *name )
-{
-    char buf[IOSIZE];
-    int fd;
-    ssize_t wrote;
-    int i;
-    int err;
-    size_t size = 0;
-    
-    diag_printf("<INFO>: create maximal file %s\n",name);
-
-    err = access( name, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-    
-    for( i = 0; i < IOSIZE; i++ ) buf[i] = i%256;
-    fd = open( name, O_WRONLY|O_CREAT );
-    if( fd < 0 ) SHOW_RESULT( open, fd );
-
-    do
-    {
-        wrote = write( fd, buf, IOSIZE );
-        if( wrote < 0 ) SHOW_RESULT( write, wrote );        
-
-        size += wrote;
-        
-    } while( wrote == IOSIZE );
-
-    diag_printf("<INFO>: file size == %d\n",size);
-
-    err = close( fd );
-    if( err < 0 ) SHOW_RESULT( close, err );
-}
-#endif
-
-//==========================================================================
-
-static void checkfile( char *name )
-{
-    char buf[IOSIZE];
-    int fd;
-    ssize_t done;
-    int i;
-    int err;
-    off_t pos = 0;
-
-    diag_printf("<INFO>: check file %s\n",name);
-    
-    err = access( name, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-
-    fd = open( name, O_RDONLY );
-    if( fd < 0 ) SHOW_RESULT( open, fd );
-
-    for(;;)
-    {
-        done = read( fd, buf, IOSIZE );
-        if( done < 0 ) SHOW_RESULT( read, done );
-
-        if( done == 0 ) break;
-
-        for( i = 0; i < done; i++ )
-            if( buf[i] != i%256 )
-            {
-                diag_printf("buf[%d+%d](%02x) != %02x\n",pos,i,buf[i],i%256);
-                CYG_TEST_FAIL("Data read not equal to data written\n");
-            }
-        
-        pos += done;
-    }
-
-    err = close( fd );
-    if( err < 0 ) SHOW_RESULT( close, err );
-}
-
-//==========================================================================
-
-static void copyfile( char *name2, char *name1 )
-{
-
-    int err;
-    char buf[IOSIZE];
-    int fd1, fd2;
-    ssize_t done, wrote;
-
-    diag_printf("<INFO>: copy file %s -> %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-
-    err = access( name2, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_WRONLY|O_CREAT );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done = read( fd2, buf, IOSIZE );
-        if( done < 0 ) SHOW_RESULT( read, done );
-
-        if( done == 0 ) break;
-
-        wrote = write( fd1, buf, done );
-        if( wrote != done ) SHOW_RESULT( write, wrote );
-
-        if( wrote != done ) break;
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-
-static void comparefiles( char *name2, char *name1 )
-{
-    int err;
-    char buf1[IOSIZE];
-    char buf2[IOSIZE];
-    int fd1, fd2;
-    ssize_t done1, done2;
-    int i;
-
-    diag_printf("<INFO>: compare files %s == %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_RDONLY );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done1 = read( fd1, buf1, IOSIZE );
-        if( done1 < 0 ) SHOW_RESULT( read, done1 );
-
-        done2 = read( fd2, buf2, IOSIZE );
-        if( done2 < 0 ) SHOW_RESULT( read, done2 );
-
-        if( done1 != done2 )
-            diag_printf("Files different sizes\n");
-        
-        if( done1 == 0 ) break;
-
-        for( i = 0; i < done1; i++ )
-            if( buf1[i] != buf2[i] )
-            {
-                diag_printf("buf1[%d](%02x) != buf1[%d](%02x)\n",i,buf1[i],i,buf2[i]);
-                CYG_TEST_FAIL("Data in files not equal\n");
-            }
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-
-void checkcwd( const char *cwd )
-{
-    static char cwdbuf[PATH_MAX];
-    char *ret;
-
-    ret = getcwd( cwdbuf, sizeof(cwdbuf));
-    if( ret == NULL ) SHOW_RESULT( getcwd, ret );    
-
-    if( strcmp( cwdbuf, cwd ) != 0 )
-    {
-        diag_printf( "cwdbuf %s cwd %s\n",cwdbuf, cwd );
-        CYG_TEST_FAIL( "Current directory mismatch");
-    }
-}
-
-//==========================================================================
-// main
-
-int main( int argc, char **argv )
-{
-    int err;
-    int existingdirents=-1;
-
-    CYG_TEST_INIT();
-
-    // --------------------------------------------------------------
-
-    err = mount( "", "/", "ramfs" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    err = chdir( "/" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/" );
-    
-    listdir( "/", true, -1, &existingdirents );
-    if ( existingdirents < 2 )
-        CYG_TEST_FAIL("Not enough dir entries\n");
-
-    // --------------------------------------------------------------
-
-    createfile( "/foo", 202 );
-    checkfile( "foo" );
-    copyfile( "foo", "fee");
-    checkfile( "fee" );
-    comparefiles( "foo", "/fee" );
-    diag_printf("<INFO>: mkdir bar\n");
-    err = mkdir( "/bar", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-
-    listdir( "/" , true, existingdirents+3, NULL );
-
-    copyfile( "fee", "/bar/fum" );
-    checkfile( "bar/fum" );
-    comparefiles( "/fee", "bar/fum" );
-
-    diag_printf("<INFO>: cd bar\n");
-    err = chdir( "bar" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/bar" );
-    
-    diag_printf("<INFO>: rename /foo bundy\n");    
-    err = rename( "/foo", "bundy" );
-    if( err < 0 ) SHOW_RESULT( rename, err );
-    
-    listdir( "/", true, existingdirents+2, NULL );
-    listdir( "" , true, 4, NULL );
-
-    checkfile( "/bar/bundy" );
-    comparefiles("/fee", "bundy" );
-
-    // --------------------------------------------------------------
-
-    createfile( LONGNAME1, 123 );
-    checkfile( LONGNAME1 );
-    copyfile( LONGNAME1, LONGNAME2 );
-
-    listdir( "", false, 6, NULL );
-    
-    diag_printf("<INFO>: unlink " LONGNAME1 "\n");    
-    err = unlink( LONGNAME1 );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink " LONGNAME2 "\n");    
-    err = unlink( LONGNAME2 );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-    
-    
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: unlink fee\n");    
-    err = unlink( "/fee" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink fum\n");        
-    err = unlink( "fum" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink /bar/bundy\n");        
-    err = unlink( "/bar/bundy" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: cd /\n");        
-    err = chdir( "/" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/" );
-    
-    diag_printf("<INFO>: rmdir /bar\n");        
-    err = rmdir( "/bar" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-    
-    listdir( "/", false, existingdirents, NULL );
-
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: mount /ram \n");
-    err = mount( "", "/ram", "ramfs" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    createfile( "/ram/tinky", 456 );
-    copyfile( "/ram/tinky", "/ram/laalaa" );
-    checkfile( "/ram/tinky");
-    checkfile( "/ram/laalaa");
-    comparefiles( "/ram/tinky", "/ram/laalaa" );
-
-    diag_printf("<INFO>: cd /ram\n");    
-    err = chdir( "/ram" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/ram" );
-        
-    diag_printf("<INFO>: mkdir noonoo\n");    
-    err = mkdir( "noonoo", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-
-    listdir( "." , true, existingdirents+3, NULL);
-
-    diag_printf("<INFO>: cd noonoo\n");
-    err = chdir( "noonoo" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    checkcwd( "/ram/noonoo" );
-    
-    createfile( "tinky", 678 );
-    checkfile( "tinky" );
-
-    createfile( "dipsy", 3456 );
-    checkfile( "dipsy" );
-    copyfile( "dipsy", "po" );
-    checkfile( "po" );
-    comparefiles( "dipsy", "po" );
-
-    listdir( ".", true, 5, NULL );
-    listdir( "", true, 5, NULL );
-    listdir( "..", true, existingdirents+3, NULL );
-
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: unlink tinky\n");    
-    err = unlink( "tinky" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink dipsy\n");    
-    err = unlink( "dipsy" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink po\n");    
-    err = unlink( "po" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: cd ..\n"); 
-    err = chdir( ".." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/ram" );
-    
-    diag_printf("<INFO>: rmdir noonoo\n"); 
-    err = rmdir( "noonoo" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    // --------------------------------------------------------------
-
-    err = mkdir( "x", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-    
-    err = mkdir( "x/y", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-    
-    err = mkdir( "x/y/z", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-
-    err = mkdir( "x/y/z/w", 0 );
-    if( err < 0 ) SHOW_RESULT( mkdir, err );
-    
-    diag_printf("<INFO>: cd /ram/x/y/z/w\n");
-    err = chdir( "/ram/x/y/z/w" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/ram/x/y/z/w" );
-
-    diag_printf("<INFO>: cd ..\n");
-    err = chdir( ".." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/ram/x/y/z" );
-    
-    diag_printf("<INFO>: cd .\n");
-    err = chdir( "." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/ram/x/y/z" );
-
-    diag_printf("<INFO>: cd ../../y\n");
-    err = chdir( "../../y" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/ram/x/y" );
-
-    diag_printf("<INFO>: cd ../..\n");
-    err = chdir( "../.." );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/ram" );
-
-    diag_printf("<INFO>: rmdir x/y/z/w\n"); 
-    err = rmdir( "x/y/z/w" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    diag_printf("<INFO>: rmdir x/y/z\n"); 
-    err = rmdir( "x/y/z" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    diag_printf("<INFO>: rmdir x/y\n"); 
-    err = rmdir( "x/y" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-
-    diag_printf("<INFO>: rmdir x\n"); 
-    err = rmdir( "x" );
-    if( err < 0 ) SHOW_RESULT( rmdir, err );
-    
-    // --------------------------------------------------------------
-    
-    diag_printf("<INFO>: unlink tinky\n");    
-    err = unlink( "tinky" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: unlink laalaa\n");    
-    err = unlink( "laalaa" );
-    if( err < 0 ) SHOW_RESULT( unlink, err );
-
-    diag_printf("<INFO>: cd /\n");    
-    err = chdir( "/" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-    checkcwd( "/" );
-    
-    diag_printf("<INFO>: umount /ram\n");    
-    err = umount( "/ram" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-    
-    CYG_TEST_PASS_FINISH("fileio1");
-}
-
-// -------------------------------------------------------------------------
-// EOF fileio1.c
diff --git a/packages/fs/rom/v2_0/tests/fileio1.c b/packages/fs/rom/v2_0/tests/fileio1.c
deleted file mode 100644 (file)
index ed1c404..0000000
+++ /dev/null
@@ -1,377 +0,0 @@
-//==========================================================================
-//
-//      fileio1.c
-//
-//      Test fileio system
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):           nickg
-// Contributors:        nickg, richard.panton@3glab.com, jlarmour
-// Date:                2000-05-25
-// Purpose:             Test fileio system
-// Description:         This test uses the testfs to check out the initialization
-//                      and basic operation of the fileio system
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/io_fileio.h>
-#include <pkgconf/isoinfra.h>
-#include <pkgconf/system.h>
-
-#include <unistd.h>
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <errno.h>
-#include <string.h>
-#include <dirent.h>
-#include <stdio.h>
-
-#include <cyg/fileio/fileio.h>
-
-#include <cyg/infra/testcase.h>
-#include <cyg/infra/diag.h>            // HAL polled output
-
-#include <cyg/romfs/testromfs.h>  // Test ROMFS data
-
-//==========================================================================
-
-MTAB_ENTRY( romfs_mte1,
-                   "/",
-                   "romfs",
-                   "",
-                   (CYG_ADDRWORD) &filedata[0] );
-
-
-//==========================================================================
-
-#define SHOW_RESULT( _fn, _res ) \
-diag_printf("<FAIL>: " #_fn "() returned %d %s\n", _res, _res<0?strerror(errno):"");
-
-#define CHKFAIL_TYPE( _fn, _res, _type ) { \
-if ( _res != -1 ) \
-    diag_printf("<FAIL>: " #_fn "() returned %d (expected -1)\n", _res); \
-else if ( errno != _type ) \
-    diag_printf("<FAIL>: " #_fn "() failed with errno %d (%s),\n    expected %d (%s)\n", errno, strerror(errno), _type, strerror(_type) ); \
-}
-
-//==========================================================================
-
-#define IOSIZE  100
-
-#define LONGNAME1       "long_file_name_that_should_take_up_more_than_one_directory_entry_1"
-#define LONGNAME2       "long_file_name_that_should_take_up_more_than_one_directory_entry_2"
-
-
-//==========================================================================
-
-#ifndef CYGINT_ISO_STRING_STRFUNCS
-
-char *strcat( char *s1, const char *s2 )
-{
-    char *s = s1;
-    while( *s1 ) s1++;
-    while( (*s1++ = *s2++) != 0);
-    return s;
-}
-
-#endif
-
-//==========================================================================
-
-static void listdir( char *name, int statp )
-{
-    int err;
-    DIR *dirp;
-    
-    diag_printf("<INFO>: reading directory %s\n",name);
-    
-    dirp = opendir( name );
-    if( dirp == NULL ) SHOW_RESULT( opendir, -1 );
-
-    for(;;)
-    {
-        struct dirent *entry = readdir( dirp );
-        
-        if( entry == NULL )
-            break;
-
-        diag_printf("<INFO>: entry %14s",entry->d_name);
-        if( statp )
-        {
-            char fullname[PATH_MAX];
-            struct stat sbuf;
-
-            if( name[0] )
-            {
-                strcpy(fullname, name );
-                if( !(name[0] == '/' && name[1] == 0 ) )
-                    strcat(fullname, "/" );
-            }
-            else fullname[0] = 0;
-            
-            strcat(fullname, entry->d_name );
-            
-            err = stat( fullname, &sbuf );
-            if( err < 0 )
-            {
-                if( errno == ENOSYS )
-                    diag_printf(" <no status available>");
-                else SHOW_RESULT( stat, err );
-            }
-            else
-            {
-                diag_printf(" [mode %08x ino %08x nlink %d size %d]",
-                            sbuf.st_mode,sbuf.st_ino,sbuf.st_nlink,sbuf.st_size);
-            }
-        }
-
-        diag_printf("\n");
-    }
-
-    err = closedir( dirp );
-    if( err < 0 ) SHOW_RESULT( stat, err );
-}
-
-//==========================================================================
-
-#ifdef CYGPKG_FS_RAM
-static void copyfile( char *name2, char *name1 )
-{
-
-    int err;
-    char buf[IOSIZE];
-    int fd1, fd2;
-    ssize_t done, wrote;
-
-    diag_printf("<INFO>: copy file %s -> %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err < 0 && errno != EACCES ) SHOW_RESULT( access, err );
-
-    err = access( name2, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_WRONLY|O_CREAT );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done = read( fd2, buf, IOSIZE );
-        if( done < 0 ) SHOW_RESULT( read, done );
-
-        if( done == 0 ) break;
-
-        wrote = write( fd1, buf, done );
-        if( wrote != done ) SHOW_RESULT( write, wrote );
-
-        if( wrote != done ) break;
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-#endif
-
-//==========================================================================
-
-static void comparefiles( char *name2, char *name1 )
-{
-    int err;
-    char buf1[IOSIZE];
-    char buf2[IOSIZE];
-    int fd1, fd2;
-    ssize_t done1, done2;
-    int i;
-
-    diag_printf("<INFO>: compare files %s == %s\n",name2,name1);
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-
-    err = access( name1, F_OK );
-    if( err != 0 ) SHOW_RESULT( access, err );
-    
-    fd1 = open( name1, O_RDONLY );
-    if( fd1 < 0 ) SHOW_RESULT( open, fd1 );
-
-    fd2 = open( name2, O_RDONLY );
-    if( fd2 < 0 ) SHOW_RESULT( open, fd2 );
-    
-    for(;;)
-    {
-        done1 = read( fd1, buf1, IOSIZE );
-        if( done1 < 0 ) SHOW_RESULT( read, done1 );
-
-        done2 = read( fd2, buf2, IOSIZE );
-        if( done2 < 0 ) SHOW_RESULT( read, done2 );
-
-        if( done1 != done2 )
-            diag_printf("Files different sizes\n");
-        
-        if( done1 == 0 ) break;
-
-        for( i = 0; i < done1; i++ )
-            if( buf1[i] != buf2[i] )
-            {
-                diag_printf("buf1[%d](%02x) != buf1[%d](%02x)\n",i,buf1[i],i,buf2[i]);
-                CYG_TEST_FAIL("Data in files not equal\n");
-            }
-    }
-
-    err = close( fd1 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-
-    err = close( fd2 );
-    if( err < 0 ) SHOW_RESULT( close, err );
-    
-}
-
-//==========================================================================
-// main
-
-int main( int argc, char **argv )
-{
-    int err;
-    char address[16];
-
-    CYG_TEST_INIT();
-
-    // --------------------------------------------------------------
-
-    diag_printf("<INFO>: ROMFS root follows\n");
-    listdir( "/", true );
-
-    diag_printf("<INFO>: cd /etc\n" );
-    err = chdir( "/etc" );
-    if ( err < 0 ) SHOW_RESULT( chdir, err );
-
-    diag_printf("<INFO>: ROMFS list of '' follows\n");
-    listdir( "", true );
-
-    diag_printf("<INFO>: ROMFS list of /etc follows\n");
-    listdir( "/etc", true );
-
-    diag_printf("<INFO>: ROMFS list of . follows\n");
-    listdir( ".", true );
-    
-#ifdef CYGPKG_FS_RAM
-    err = mount( "", "/var", "ramfs" );
-    if( err < 0 ) SHOW_RESULT( mount, err );
-
-    copyfile( "/etc/passwd", "/var/passwd_copy" );
-
-    comparefiles( "/etc/passwd", "/var/passwd_copy" );
-#endif
-    
-    diag_printf("<INFO>: ROMFS list of / follows\n");
-#ifdef CYGPKG_FS_RAM
-    diag_printf("<INFO>: Note that /var now gives stat() info for RAMFS\n");
-#endif
-    listdir( "/", true );
-
-    diag_printf("<INFO>: Mount ROMFS again onto /mnt\n");
-    sprintf( address, "%p", (void*)&filedata[0] );
-    err = mount( address, "/mnt", "romfs" );
-    if( err < 0 ) SHOW_RESULT( mount, err );    
-
-    comparefiles( "/etc/passwd", "/mnt/etc/passwd" );
-
-
-    err = mkdir( "/foo", 0 );
-    CHKFAIL_TYPE( mkdir, err, EROFS );
-
-    err = rename( "/var", "/tmp" );    // RAMFS is mounted here
-#ifdef CYGPKG_FS_RAM
-    CHKFAIL_TYPE( rename, err, EXDEV );
-#else
-    CHKFAIL_TYPE( rename, err, EROFS );
-#endif
-
-    err = rename( "/var/passwd_copy", "/mnt/etc/passwd_copy" );
-    CHKFAIL_TYPE( rename, err, EXDEV );
-
-    err = rename( "/etc", "/tmp" );
-    CHKFAIL_TYPE( rename, err, EROFS );
-
-    diag_printf("<INFO>: cd /etc\n");
-    err = chdir( "/etc" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    err = chdir( "/mnt/etc" );
-    if( err < 0 ) SHOW_RESULT( chdir, err );
-
-    listdir( ".", true );
-
-    diag_printf("<INFO>: unlink /tmp\n");        
-    err = unlink( "/tmp" );
-    CHKFAIL_TYPE( unlink, err, EROFS );
-
-    diag_printf("<INFO>: mount random area\n");
-    sprintf(address, "%p", (void*)(&filedata[0] + 0x100));
-    err = mount( address, "/tmp", "romfs" );
-    CHKFAIL_TYPE( mount, err, ENOENT );
-
-    err = umount( "/mnt" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-
-    err = umount( "/var" );
-#ifdef CYGPKG_FS_RAM
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-#else
-    CHKFAIL_TYPE( umount, err, EINVAL );
-#endif
-
-    err = umount( "/" );
-    if( err < 0 ) SHOW_RESULT( umount, err );    
-
-
-    CYG_TEST_PASS_FINISH("fileio1");
-}
-
-// -------------------------------------------------------------------------
-// EOF fileio1.c
diff --git a/packages/hal/arm/at91/v2_0/ChangeLog b/packages/hal/arm/at91/v2_0/ChangeLog
deleted file mode 100644 (file)
index 3b65f8d..0000000
+++ /dev/null
@@ -1,154 +0,0 @@
-2002-12-07  Gary Thomas  <gthomas@ecoscentric.com>
-
-       * misc/redboot_ROMRAM.ecm: 
-       * misc/redboot_ROM.ecm: 
-       * misc/redboot_RAM.ecm: Suppress building Linux 'exec' command
-       (which makes little sense on this platform).
-
-2002-09-23  Gary Thomas  <gthomas@ecoscentric.com> on behalf of
-2002-11-23  Scott Dattalo <scott@dattalo.com>  
-
-       * include/plf_io.h: Add some missing register definitions.
-
-2002-05-28  Thomas Koeller  <Thomas.Koeller@baslerweb.com>
-
-       * include/plf_io.h: Add watchdog definitions.
-
-2002-05-08  Gary Thomas  <gthomas@redhat.com>
-
-       * misc/redboot_ROMRAM.ecm: 
-       * misc/redboot_ROM.ecm: Disable 'fconfig' since the FLASH is too small.
-
-2001-08-17  George Hampton <george.hampton@intel.com>
-2001-08-17  Gary Thomas  <gthomas@redhat.com>
-
-       * include/hal_platform_ints.h (CYGNUM_HAL_ISR_COUNT): PR 22864
-       Don't adjust by "min" value if not doing translations.
-       
-2001-07-26  Gary Thomas  <gthomas@redhat.com>
-
-       * src/at91_misc.c (hal_clock_initialize): 
-       * cdl/hal_arm_at91.cdl: Increase system clock (RTC) to run at 1MHz for
-       better timing resolution.  CAUTION! this means that the system clock tick
-       can never be more than 64ms.
-
-2001-07-23  Gary Thomas  <gthomas@redhat.com>
-
-       * include/pkgconf/mlt_arm_at91_eb40_romram.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_romram.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_romram.h: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.h: 
-       * cdl/hal_arm_at91.cdl: Fix MLT files (names, layout).
-
-2001-07-20  Gary Thomas  <gthomas@redhat.com>
-
-       * include/plf_io.h: Add UART interrupt definitions.
-
-       * src/hal_diag.c (cyg_hal_plf_serial_control): Enable ^C support.
-
-       * src/at91_misc.c (hal_clock_initialize): Add clock/rtc implementation.
-
-       * include/pkgconf/mlt_arm_at91_eb40_romram.ldi: 
-       Replace missing 'fixed vectors'.
-
-2001-07-19  Gary Thomas  <gthomas@redhat.com>
-
-       * misc/redboot_ROMRAM.ecm: New exported config.
-
-       * include/pkgconf/mlt_arm_at91_eb40_romram.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.ldi: 
-       * include/hal_platform_setup.h: Fix ROMRAM startup mode.  Note: I
-       can't get the onboard SRAM at 0x00100000 to work, so for now, this
-       will just have to go in low external RAM.  Thus the change for the
-       RAM base address in startup=RAM mode.
-
-       * src/hal_diag.c (cyg_hal_plf_serial_getc_timeout): Remove debug code.
-
-       * src/at91_misc.c (set_leds): LEDs are on D4/D2/D1.
-
-       * misc/redboot_ROM.ecm: 
-       * misc/redboot_RAM.ecm: Exported configurations.
-
-       * include/pkgconf/mlt_arm_at91_eb40_romram.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_romram.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_romram.h: New startup type.
-       
-       * include/pkgconf/mlt_arm_at91_eb40_rom.h: Fix heap layout.
-
-       * include/pkgconf/mlt_arm_at91_eb40_ram.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.h: 
-       Fix heap layout.  Move RAM load address to leave room for RedBoot/GDB.
-
-       * include/plf_io.h: Add definitions for PIO, EBI and PS.
-
-       * include/hal_platform_setup.h: ROM startup mode now works.
-       First attempt at ROMRAM startup - not yet working.
-
-       * cdl/hal_arm_at91.cdl: Add ROMRAM startup mode.
-
-2001-07-18  Gary Thomas  <gthomas@redhat.com>
-
-       * src/hal_diag.c: More complete initialization.
-
-       * src/at91_misc.c: Support interrupt controller, delay_us().
-
-       * include/plf_io.h: Add interrupt controller, timer definitions.
-
-       * cdl/hal_arm_at91.cdl: Fix clock speed, number I/O channels.
-
-2001-07-16  Gary Thomas  <gthomas@redhat.com>
-
-       * src/hal_diag.c: 
-       * src/at91_misc.c: 
-       * include/pkgconf/mlt_arm_at91_eb40_rom.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_rom.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_rom.h: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.mlt: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.ldi: 
-       * include/pkgconf/mlt_arm_at91_eb40_ram.h: 
-       * include/plf_stub.h: 
-       * include/plf_io.h: 
-       * include/hal_platform_setup.h: 
-       * include/hal_platform_ints.h: 
-       * include/hal_diag.h: 
-       * include/hal_cache.h: 
-       * cdl/hal_arm_at91.cdl: New port - cloned from E7T.
-
-//===========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//===========================================================================
diff --git a/packages/hal/arm/at91/v2_0/cdl/hal_arm_at91.cdl b/packages/hal/arm/at91/v2_0/cdl/hal_arm_at91.cdl
deleted file mode 100644 (file)
index 3d67540..0000000
+++ /dev/null
@@ -1,293 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_at91.cdl
-#
-#      Atmel evaluation board (EB40) HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      gthomas
-# Contributors:   gthomas
-# Date:           2001-07-12
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-
-cdl_package CYGPKG_HAL_ARM_AT91 {
-    display       "Atmel evaluation board (EB40)"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_at91.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The AT91 HAL package provides the support needed to run
-        eCos on an Atmel AT91/EB40 eval board."
-
-    compile       hal_diag.c at91_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_ARM7
-    implements    CYGINT_HAL_ARM_THUMB_ARCH
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_at91.h>"
-       puts $::cdl_header "#define HAL_PLATFORM_CPU    \"ARM7TDMI\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"Atmel AT91/EB40\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"\""
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM" "ROMRAM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-            When targetting the AT91 eval board it is possible to build
-            the system for either RAM bootstrap or ROM bootstrap(s). Select
-            'ram' when building programs to load into RAM using onboard
-            debug software such as Angel or eCos GDB stubs.  Select 'rom'
-            when building a stand-alone application which will be put
-            into ROM.  Using ROMRAM will allow the program to exist in
-            ROM, but be copied to RAM during startup."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            The AT91 board has two serial ports. This option
-            chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The AT91 board has two serial ports. This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CHANNELS_DEFAULT_BAUD {
-        display       "Console/GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option controls the default baud rate used for the
-            Console/GDB connection."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_option CYGNUM_HAL_ARM_AT91_CLOCK_SPEED {
-        display       "CPU clock speed"
-        flavor        data
-        calculated    32768000
-    }
-
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    ((CYGNUM_HAL_ARM_AT91_CLOCK_SPEED/32) / CYGNUM_HAL_RTC_DENOMINATOR)
-        }
-    }
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        parent  CYGPKG_NONE
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "arm-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-mcpu=arm7tdmi -mno-short-load-words -Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-mcpu=arm7tdmi -mno-short-load-words -Wl,--gc-sections -Wl,-static -g -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { (CYG_HAL_STARTUP == "RAM") ?    "arm_at91_eb40_ram" :
-                     (CYG_HAL_STARTUP == "ROMRAM") ? "arm_at91_eb40_romram" :
-                                                     "arm_at91_eb40_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { (CYG_HAL_STARTUP == "RAM") ? "<pkgconf/mlt_arm_at91_eb40_ram.ldi>" : 
-                         (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_at91_eb40_romram.ldi>" :  
-                                                      "<pkgconf/mlt_arm_at91_eb40_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { (CYG_HAL_STARTUP == "RAM") ? "<pkgconf/mlt_arm_at91_eb40_ram.h>" :     
-                         (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_at91_eb40_romram.h>" :  
-                                                      "<pkgconf/mlt_arm_at91_eb40_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 0
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/redboot.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-            }
-
-        }
-    }
-}
diff --git a/packages/hal/arm/at91/v2_0/include/hal_cache.h b/packages/hal/arm/at91/v2_0/include/hal_cache.h
deleted file mode 100644 (file)
index 528fd32..0000000
+++ /dev/null
@@ -1,192 +0,0 @@
-#ifndef CYGONCE_HAL_CACHE_H
-#define CYGONCE_HAL_CACHE_H
-
-//=============================================================================
-//
-//      hal_cache.h
-//
-//      HAL cache control API
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   nickg, gthomas
-// Contributors:        nickg, gthomas
-// Date:        1998-09-28
-// Purpose:     Cache control API
-// Description: The macros defined here provide the HAL APIs for handling
-//              cache control operations.
-// Usage:
-//              #include <cyg/hal/hal_cache.h>
-//              ...
-//              
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <cyg/infra/cyg_type.h>
-
-//-----------------------------------------------------------------------------
-// Cache dimensions
-
-// Data cache
-//#define HAL_DCACHE_SIZE                 0    // Size of data cache in bytes
-//#define HAL_DCACHE_LINE_SIZE            0    // Size of a data cache line
-//#define HAL_DCACHE_WAYS                 0    // Associativity of the cache
-
-// Instruction cache
-//#define HAL_ICACHE_SIZE                 0    // Size of cache in bytes
-//#define HAL_ICACHE_LINE_SIZE            0    // Size of a cache line
-//#define HAL_ICACHE_WAYS                 0    // Associativity of the cache
-
-//#define HAL_DCACHE_SETS (HAL_DCACHE_SIZE/(HAL_DCACHE_LINE_SIZE*HAL_DCACHE_WAYS))
-//#define HAL_ICACHE_SETS (HAL_ICACHE_SIZE/(HAL_ICACHE_LINE_SIZE*HAL_ICACHE_WAYS))
-
-//-----------------------------------------------------------------------------
-// Global control of data cache
-
-// Enable the data cache
-#define HAL_DCACHE_ENABLE()
-
-// Disable the data cache
-#define HAL_DCACHE_DISABLE()
-
-// Invalidate the entire cache
-#define HAL_DCACHE_INVALIDATE_ALL()
-
-// Synchronize the contents of the cache with memory.
-#define HAL_DCACHE_SYNC()
-
-// Purge contents of data cache
-#define HAL_DCACHE_PURGE_ALL()
-
-// Query the state of the data cache (does not affect the caching)
-#define HAL_DCACHE_IS_ENABLED(_state_)          \
-    CYG_MACRO_START                             \
-    (_state_) = 0;                              \
-    CYG_MACRO_END
-
-// Set the data cache refill burst size
-//#define HAL_DCACHE_BURST_SIZE(_size_)
-
-// Set the data cache write mode
-//#define HAL_DCACHE_WRITE_MODE( _mode_ )
-
-//#define HAL_DCACHE_WRITETHRU_MODE       0
-//#define HAL_DCACHE_WRITEBACK_MODE       1
-
-// Load the contents of the given address range into the data cache
-// and then lock the cache so that it stays there.
-//#define HAL_DCACHE_LOCK(_base_, _size_)
-
-// Undo a previous lock operation
-//#define HAL_DCACHE_UNLOCK(_base_, _size_)
-
-// Unlock entire cache
-//#define HAL_DCACHE_UNLOCK_ALL()
-
-//-----------------------------------------------------------------------------
-// Data cache line control
-
-// Allocate cache lines for the given address range without reading its
-// contents from memory.
-//#define HAL_DCACHE_ALLOCATE( _base_ , _size_ )
-
-// Write dirty cache lines to memory and invalidate the cache entries
-// for the given address range.
-//#define HAL_DCACHE_FLUSH( _base_ , _size_ )
-
-// Invalidate cache lines in the given range without writing to memory.
-//#define HAL_DCACHE_INVALIDATE( _base_ , _size_ )
-
-// Write dirty cache lines to memory for the given address range.
-//#define HAL_DCACHE_STORE( _base_ , _size_ )
-
-// Preread the given range into the cache with the intention of reading
-// from it later.
-//#define HAL_DCACHE_READ_HINT( _base_ , _size_ )
-
-// Preread the given range into the cache with the intention of writing
-// to it later.
-//#define HAL_DCACHE_WRITE_HINT( _base_ , _size_ )
-
-// Allocate and zero the cache lines associated with the given range.
-//#define HAL_DCACHE_ZERO( _base_ , _size_ )
-
-//-----------------------------------------------------------------------------
-// Global control of Instruction cache
-
-// Enable the instruction cache
-#define HAL_ICACHE_ENABLE()
-
-// Disable the instruction cache
-#define HAL_ICACHE_DISABLE()
-
-// Invalidate the entire cache
-#define HAL_ICACHE_INVALIDATE_ALL()
-
-// Synchronize the contents of the cache with memory.
-#define HAL_ICACHE_SYNC()
-
-// Query the state of the instruction cache (does not affect the caching)
-#define HAL_ICACHE_IS_ENABLED(_state_)          \
-    CYG_MACRO_START                             \
-    (_state_) = 0;                              \
-    CYG_MACRO_END
-
-// Set the instruction cache refill burst size
-//#define HAL_ICACHE_BURST_SIZE(_size_)
-
-// Load the contents of the given address range into the instruction cache
-// and then lock the cache so that it stays there.
-//#define HAL_ICACHE_LOCK(_base_, _size_)
-
-// Undo a previous lock operation
-//#define HAL_ICACHE_UNLOCK(_base_, _size_)
-
-// Unlock entire cache
-//#define HAL_ICACHE_UNLOCK_ALL()
-
-//-----------------------------------------------------------------------------
-// Instruction cache line control
-
-// Invalidate cache lines in the given range without writing to memory.
-//#define HAL_ICACHE_INVALIDATE( _base_ , _size_ )
-
-//-----------------------------------------------------------------------------
-#endif // ifndef CYGONCE_HAL_CACHE_H
-// End of hal_cache.h
diff --git a/packages/hal/arm/at91/v2_0/include/hal_diag.h b/packages/hal/arm/at91/v2_0/include/hal_diag.h
deleted file mode 100644 (file)
index 35394e1..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-#ifndef CYGONCE_HAL_DIAG_H
-#define CYGONCE_HAL_DIAG_H
-
-//=============================================================================
-//
-//      hal_diag.h
-//
-//      HAL Support for Kernel Diagnostic Routines
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   jskov
-// Contributors:jskov, gthomas
-// Date:        2001-07-12
-// Purpose:     HAL Support for Kernel Diagnostic Routines
-// Description: Diagnostic routines for use during kernel development.
-// Usage:       #include <cyg/hal/hal_diag.h>
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <pkgconf/hal.h>
-
-#include <cyg/infra/cyg_type.h>
-
-#include <cyg/hal/hal_if.h>
-
-#define HAL_DIAG_INIT() hal_if_diag_init()
-#define HAL_DIAG_WRITE_CHAR(_c_) hal_if_diag_write_char(_c_)
-#define HAL_DIAG_READ_CHAR(_c_) hal_if_diag_read_char(&_c_)
-
-//-----------------------------------------------------------------------------
-// LED
-externC void hal_diag_led(int mask);
-
-//-----------------------------------------------------------------------------
-// delay
-
-extern void hal_delay_us(cyg_int32 usecs);
-#define HAL_DELAY_US(n) hal_delay_us(n);
-
-//-----------------------------------------------------------------------------
-// end of hal_diag.h
-#endif // CYGONCE_HAL_DIAG_H
diff --git a/packages/hal/arm/at91/v2_0/include/hal_platform_ints.h b/packages/hal/arm/at91/v2_0/include/hal_platform_ints.h
deleted file mode 100644 (file)
index 7994276..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_INTS_H
-#define CYGONCE_HAL_PLATFORM_INTS_H
-//==========================================================================
-//
-//      hal_platform_ints.h
-//
-//      HAL Interrupt and clock assignments for AT91/EB40
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2001-07-12
-// Purpose:      Define Interrupt support
-// Description:  The interrupt specifics for the AT91/EB40 board/platform are
-//               defined here.
-//              
-// Usage:        #include <cyg/hal/hal_platform_ints.h>
-//               ...
-//              
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#define CYGNUM_HAL_INTERRUPT_USART0            2
-#define CYGNUM_HAL_INTERRUPT_USART1            3
-#define CYGNUM_HAL_INTERRUPT_TIMER0            4
-#define CYGNUM_HAL_INTERRUPT_TIMER1            5
-#define CYGNUM_HAL_INTERRUPT_TIMER2            6
-#define CYGNUM_HAL_INTERRUPT_WATCHDOG          7
-#define CYGNUM_HAL_INTERRUPT_PIO               8
-#define CYGNUM_HAL_INTERRUPT_EXT0              16
-#define CYGNUM_HAL_INTERRUPT_EXT1              17
-#define CYGNUM_HAL_INTERRUPT_EXT2              18
-
-#define CYGNUM_HAL_ISR_MIN                     2
-#define CYGNUM_HAL_ISR_MAX                     18
-// Note: extra slots (0,1) to avoid messing with vector translation
-#define CYGNUM_HAL_ISR_COUNT                   (CYGNUM_HAL_ISR_MAX + 1)
-
-// The vector used by the Real time clock
-#define CYGNUM_HAL_INTERRUPT_RTC               CYGNUM_HAL_INTERRUPT_TIMER0
-
-
-//----------------------------------------------------------------------------
-// Reset.
-#define HAL_PLATFORM_RESET()
-
-#define HAL_PLATFORM_RESET_ENTRY 0x01010000
-
-#endif // CYGONCE_HAL_PLATFORM_INTS_H
diff --git a/packages/hal/arm/at91/v2_0/include/hal_platform_setup.h b/packages/hal/arm/at91/v2_0/include/hal_platform_setup.h
deleted file mode 100644 (file)
index 4ee660e..0000000
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
-#define CYGONCE_HAL_PLATFORM_SETUP_H
-
-/*=============================================================================
-//
-//      hal_platform_setup.h
-//
-//      Platform specific support for HAL (assembly code)
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   gthomas
-// Contributors:gthomas
-// Date:        2001-07-12
-// Purpose:     AT91/EB40 platform specific support routines
-// Description: 
-// Usage:       #include <cyg/hal/hal_platform_setup.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <cyg/hal/plf_io.h>
-
-#if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
-
-        .macro  _setup
-        ldr     r10,=_InitMemory        // Initialize memory controller
-        movs    r0,pc,lsr #20           // If ROM startup, PC < 0x100000
-        moveq   r10,r10,lsl #12         //   mask address to low 20 bits
-        moveq   r10,r10,lsr #12
-        ldmia   r10!,{r0-r9,r11-r12}    // Table of initialization constants
-#if defined(CYG_HAL_STARTUP_ROMRAM)
-        ldr     r10,=0x0000FFFF
-        and     r12,r12,r10
-        ldr     r10,=0x01010000
-        orr     r12,r12,r10
-#endif        
-        stmia   r11!,{r0-r9}            // Write to controller
-        mov     pc,r12                  // Change address space, break pipeline
-_InitMemory:            
-        .long   0x01002535  // 0x01000000, 16MB,  2 cycles added after transfer, 16-bit, 6 wait states
-        .long   0x02002121  // 0x02000000, 16MB,  0 cycles added after transfer, 16-bit, 1 wait state
-        .long   0x20000000  // unused
-        .long   0x30000000  // unused
-        .long   0x40000000  // unused
-        .long   0x50000000  // unused
-        .long   0x60000000  // unused
-        .long   0x70000000  // unused
-        .long   0x00000001  // REMAP commande
-        .long   0x00000006  // 7 memory regions, standard read
-        .long   AT91_EBI    // External Bus Interface address
-        .long   10f         // address where to jump
-10:
-        
-#if defined(CYG_HAL_STARTUP_ROMRAM)
-        ldr     r0,=0x01010000          // Relocate FLASH/ROM to on-chip RAM
-        ldr     r1,=0x02000000          // RAM base & length
-        ldr     r2,=0x02010000
-20:     ldr     r3,[r0],#4
-        str     r3,[r1],#4
-        cmp     r1,r2
-        bne     20b
-        ldr     r0,=30f
-        mov     pc,r0
-30:             
-#endif
-                
-        ldr     r0,=AT91_PS             // Power saving interface
-        ldr     r1,=0xFFFFFFFF          // Enable all peripheral [clocks]
-        str     r1,[r0,#AT91_PS_PCER]
-        ldr     r0,=AT91_PIO            // Disable PIO (so peripherals can use bits)
-        ldr     r1,=0x0070FE49          // UART, FIQ, EINT, Timer clocks
-        str     r1,[r0,#AT91_PIO_PDR]
-        ldr     r1,=0x000001B6          // LEDs
-        str     r1,[r0,#AT91_PIO_OER]
-        str     r1,[r0,#AT91_PIO_SODR]
-        .endm        
-
-#define CYGSEM_HAL_ROM_RESET_USES_JUMP
-#define PLATFORM_SETUP1     _setup
-#else
-#define PLATFORM_SETUP1
-#endif
-
-//-----------------------------------------------------------------------------
-// end of hal_platform_setup.h
-#endif // CYGONCE_HAL_PLATFORM_SETUP_H
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.h b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.h
deleted file mode 100644 (file)
index c641278..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// eCos memory layout - Mon Jul 23 11:49:04 2001
-
-// This is a generated file - do not edit
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_sram (0)
-#define CYGMEM_REGION_sram_SIZE (0x1000)
-#define CYGMEM_REGION_sram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_ram (0x2000000)
-#define CYGMEM_REGION_ram_SIZE (0x80000)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (0x2080000 - (size_t) CYG_LABEL_NAME (__heap1))
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.ldi b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.ldi
deleted file mode 100644 (file)
index 287aba3..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// eCos memory layout - Mon Jul 23 11:49:04 2001
-
-// This is a generated file - do not edit
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    sram : ORIGIN = 0, LENGTH = 0x1000
-    ram : ORIGIN = 0x2000000, LENGTH = 0x80000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (sram, 0x20, LMA_EQ_VMA)
-    SECTION_rom_vectors (ram, 0x2020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.mlt b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_ram.mlt
deleted file mode 100644 (file)
index ccb439d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-version 0
-region sram 0 1000 0 !On-chip SRAM
-region ram 2000000 80000 0 !
-section fixed_vectors 0 1 0 1 1 0 1 0 20 20 !
-section rom_vectors 0 1 0 1 1 1 1 1 2020000 2020000 text text !
-section text 0 4 0 1 0 1 0 1 fini fini !
-section fini 0 4 0 1 0 1 0 1 rodata rodata !
-section rodata 0 4 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 4 0 1 0 1 0 1 fixup fixup !
-section fixup 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 4 0 1 0 1 0 1 data data !
-section data 0 4 0 1 0 1 0 1 bss bss !
-section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
-section heap1 0 8 0 0 0 0 0 0 !
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.h b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.h
deleted file mode 100644 (file)
index b79622f..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-// eCos memory layout - Wed Apr 11 13:49:55 2001
-
-// This is a generated file - do not edit
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0x02000000)
-#define CYGMEM_REGION_ram_SIZE (0x80000)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x01000000)
-#define CYGMEM_REGION_rom_SIZE (0x20000)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_bootmon) [];
-#endif
-#define CYGMEM_SECTION_reserved_bootmon (CYG_LABEL_NAME (__reserved_bootmon))
-#define CYGMEM_SECTION_reserved_bootmon_SIZE (0x10000)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (0x02080000 - (size_t) CYG_LABEL_NAME (__heap1))
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.ldi b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.ldi
deleted file mode 100644 (file)
index 125c716..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-// eCos memory layout - Wed Apr 11 13:49:55 2001
-
-// This is a generated file - do not edit
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    sram : ORIGIN = 0x00000000, LENGTH = 0x2000
-    ram : ORIGIN = 0x02000000, LENGTH = 0x80000
-    rom : ORIGIN = 0x01000000, LENGTH = 0x20000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    CYG_LABEL_DEFN(__reserved_bootmon) = 0x01000000; . = CYG_LABEL_DEFN(__reserved_bootmon) + 0x10000;
-    SECTION_rom_vectors (rom, ALIGN (0x8), LMA_EQ_VMA)
-    SECTION_text (rom, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (sram, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0x02000000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.mlt b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_rom.mlt
deleted file mode 100644 (file)
index 918df1c..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-version 0
-region sram 0 80000 00100000 !
-region ram 0 80000 00100000 !
-region rom 01000000 20000 1 !
-section fixed_vectors 0 1 0 1 1 0 1 0 20 20 !
-section data 0 1 1 1 1 1 0 0 00100000 bss !
-section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
-section heap1 0 8 0 0 0 0 0 0 !
-section reserved_bootmon 10000 1 0 0 1 1 1 1 01000000 01000000 rom_vectors rom_vectors !
-section rom_vectors 0 8 0 1 0 1 0 1 text text !
-section text 0 1 0 1 0 1 0 1 fini fini !
-section fini 0 4 0 1 0 1 0 1 rodata rodata !
-section rodata 0 4 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 4 0 1 0 1 0 1 fixup fixup !
-section fixup 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 4 0 1 0 0 0 1 data !
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.h b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.h
deleted file mode 100644 (file)
index c641278..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-// eCos memory layout - Mon Jul 23 11:49:04 2001
-
-// This is a generated file - do not edit
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_sram (0)
-#define CYGMEM_REGION_sram_SIZE (0x1000)
-#define CYGMEM_REGION_sram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_ram (0x2000000)
-#define CYGMEM_REGION_ram_SIZE (0x80000)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (0x2080000 - (size_t) CYG_LABEL_NAME (__heap1))
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.ldi b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.ldi
deleted file mode 100644 (file)
index 146fc46..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-// eCos memory layout - Mon Jul 23 11:49:04 2001
-
-// This is a generated file - do not edit
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    sram : ORIGIN = 0, LENGTH = 0x1000
-    ram : ORIGIN = 0x2000000, LENGTH = 0x80000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (sram, 0x20, LMA_EQ_VMA)
-    SECTION_rom_vectors (ram, 0x2000000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.mlt b/packages/hal/arm/at91/v2_0/include/pkgconf/mlt_arm_at91_eb40_romram.mlt
deleted file mode 100644 (file)
index e7e04fe..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-version 0
-region sram 0 1000 0 !On-chip SRAM
-region ram 2000000 80000 0 !
-section fixed_vectors 0 1 0 1 1 0 1 0 20 20 !
-section rom_vectors 0 1 0 1 1 1 1 1 2000000 2000000 text text !
-section text 0 4 0 1 0 1 0 1 fini fini !
-section fini 0 4 0 1 0 1 0 1 rodata rodata !
-section rodata 0 4 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 4 0 1 0 1 0 1 fixup fixup !
-section fixup 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 4 0 1 0 1 0 1 data data !
-section data 0 4 0 1 0 1 0 1 bss bss !
-section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
-section heap1 0 8 0 0 0 0 0 0 !
diff --git a/packages/hal/arm/at91/v2_0/include/plf_io.h b/packages/hal/arm/at91/v2_0/include/plf_io.h
deleted file mode 100644 (file)
index 32ddb1a..0000000
+++ /dev/null
@@ -1,396 +0,0 @@
-#ifndef CYGONCE_HAL_PLF_IO_H
-#define CYGONCE_HAL_PLF_IO_H
-//=============================================================================
-//
-//      plf_io.h
-//
-//      Platform specific registers
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   jskov
-// Contributors:jskov, gthomas
-// Date:        2001-07-12
-// Purpose:     AT91/EB40 platform specific registers
-// Description: 
-// Usage:       #include <cyg/hal/plf_io.h>
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-// USART
-
-#define AT91_USART0 0xFFFD0000
-#define AT91_USART1 0xFFFCC000
-
-#define AT91_US_CR  0x00  // Control register
-#define AT91_US_CR_RxRESET (1<<2)
-#define AT91_US_CR_TxRESET (1<<3)
-#define AT91_US_CR_RxENAB  (1<<4)
-#define AT91_US_CR_RxDISAB (1<<5)
-#define AT91_US_CR_TxENAB  (1<<6)
-#define AT91_US_CR_TxDISAB (1<<7)
-#define AT91_US_CR_RSTATUS (1<<8)
-#define AT91_US_MR  0x04  // Mode register
-#define AT91_US_MR_CLOCK   4
-#define AT91_US_MR_CLOCK_MCK  (0<<AT91_US_MR_CLOCK)
-#define AT91_US_MR_CLOCK_MCK8 (1<<AT91_US_MR_CLOCK)
-#define AT91_US_MR_CLOCK_SCK  (2<<AT91_US_MR_CLOCK)
-#define AT91_US_MR_LENGTH  6
-#define AT91_US_MR_LENGTH_5   (0<<AT91_US_MR_LENGTH)
-#define AT91_US_MR_LENGTH_6   (1<<AT91_US_MR_LENGTH)
-#define AT91_US_MR_LENGTH_7   (2<<AT91_US_MR_LENGTH)
-#define AT91_US_MR_LENGTH_8   (3<<AT91_US_MR_LENGTH)
-#define AT91_US_MR_SYNC    8
-#define AT91_US_MR_SYNC_ASYNC (0<<AT91_US_MR_SYNC)
-#define AT91_US_MR_SYNC_SYNC  (1<<AT91_US_MR_SYNC)
-#define AT91_US_MR_PARITY  9
-#define AT91_US_MR_PARITY_EVEN  (0<<AT91_US_MR_PARITY)
-#define AT91_US_MR_PARITY_ODD   (1<<AT91_US_MR_PARITY)
-#define AT91_US_MR_PARITY_SPACE (2<<AT91_US_MR_PARITY)
-#define AT91_US_MR_PARITY_MARK  (3<<AT91_US_MR_PARITY)
-#define AT91_US_MR_PARITY_NONE  (4<<AT91_US_MR_PARITY)
-#define AT91_US_MR_PARITY_MULTI (6<<AT91_US_MR_PARITY)
-#define AT91_US_MR_STOP   12
-#define AT91_US_MR_STOP_1       (0<<AT91_US_MR_STOP)
-#define AT91_US_MR_STOP_1_5     (1<<AT91_US_MR_STOP)
-#define AT91_US_MR_STOP_2       (2<<AT91_US_MR_STOP)
-#define AT91_US_MR_MODE   14
-#define AT91_US_MR_MODE_NORMAL  (0<<AT91_US_MR_MODE)
-#define AT91_US_MR_MODE_ECHO    (1<<AT91_US_MR_MODE)
-#define AT91_US_MR_MODE_LOCAL   (2<<AT91_US_MR_MODE)
-#define AT91_US_MR_MODE_REMOTE  (3<<AT91_US_MR_MODE)
-#define AT91_US_MR_MODE9  17
-#define AT91_US_MR_CLKO   18
-#define AT91_US_IER 0x08  // Interrupt enable register
-#define AT91_US_IER_RxRDY   (1<<0)  // Receive data ready
-#define AT91_US_IER_TxRDY   (1<<1)  // Transmitter ready
-#define AT91_US_IER_RxBRK   (1<<2)  // Break received
-#define AT91_US_IER_ENDRX   (1<<3)  // Rx end
-#define AT91_US_IER_ENDTX   (1<<4)  // Tx end
-#define AT91_US_IER_OVRE    (1<<5)  // Rx overflow
-#define AT91_US_IER_FRAME   (1<<6)  // Rx framing error
-#define AT91_US_IER_PARITY  (1<<7)  // Rx parity
-#define AT91_US_IER_TIMEOUT (1<<8)  // Rx timeout
-#define AT91_US_IER_TxEMPTY (1<<9)  // Tx empty
-#define AT91_US_IDR 0x0C  // Interrupt disable register
-#define AT91_US_IMR 0x10  // Interrupt mask register
-#define AT91_US_CSR 0x14  // Channel status register
-#define AT91_US_CSR_RxRDY 0x01 // Receive data ready
-#define AT91_US_CSR_TxRDY 0x02 // Transmit ready
-#define AT91_US_RHR 0x18  // Receive holding register
-#define AT91_US_THR 0x1C  // Transmit holding register
-#define AT91_US_BRG 0x20  // Baud rate generator
-#define AT91_US_RTO 0x24  // Receive time out
-#define AT91_US_TTG 0x28  // Transmit timer guard
-
-#define AT91_US_BAUD(baud) (CYGNUM_HAL_ARM_AT91_CLOCK_SPEED/(16*(baud)))
-
-// PIO
-
-#define AT91_PIO      0xFFFF0000
-
-#define AT91_PIO_PER  0x00  // PIO enable
-#define AT91_PIO_PDR  0x04  // PIO disable
-#define AT91_PIO_PSR  0x08  // PIO status
-#define AT91_PIO_OER  0x10  // Output enable
-#define AT91_PIO_ODR  0x14  // Output disable
-#define AT91_PIO_OSR  0x1C  // Output status register
-#define AT91_PIO_IFER 0x20  // Input Filter enable
-#define AT91_PIO_IFDR 0x24  // Input Filter disable
-#define AT91_PIO_IFSR 0x28  // Input Filter status register
-#define AT91_PIO_SODR 0x30  // Set out bits
-#define AT91_PIO_CODR 0x34  // Clear out bits
-#define AT91_PIO_ODSR 0x38  // Output data status register
-#define AT91_PIO_IER  0x40  // Interrupt enable
-#define AT91_PIO_IDR  0x44  // Interrupt disable
-#define AT91_PIO_IMR  0x48  // Interrupt mask
-#define AT91_PIO_ISR  0x4C  // Interrupt status register
-
-
-// Advanced Interrupt Controller (AIC)
-
-#define AT91_AIC      0xFFFFF000
-
-#define AT91_AIC_SMR0   ((0*4)+0x000)
-#define AT91_AIC_SMR1   ((1*4)+0x000)
-#define AT91_AIC_SMR2   ((2*4)+0x000)
-#define AT91_AIC_SMR3   ((3*4)+0x000)
-#define AT91_AIC_SMR4   ((4*4)+0x000)
-#define AT91_AIC_SMR5   ((5*4)+0x000)
-#define AT91_AIC_SMR6   ((6*4)+0x000)
-#define AT91_AIC_SMR7   ((7*4)+0x000)
-#define AT91_AIC_SMR8   ((8*4)+0x000)
-#define AT91_AIC_SMR9   ((9*4)+0x000)
-#define AT91_AIC_SMR10  ((10*4)+0x000)
-#define AT91_AIC_SMR11  ((11*4)+0x000)
-#define AT91_AIC_SMR12  ((12*4)+0x000)
-#define AT91_AIC_SMR13  ((13*4)+0x000)
-#define AT91_AIC_SMR14  ((14*4)+0x000)
-#define AT91_AIC_SMR15  ((15*4)+0x000)
-#define AT91_AIC_SMR16  ((16*4)+0x000)
-#define AT91_AIC_SMR17  ((17*4)+0x000)
-#define AT91_AIC_SMR18  ((18*4)+0x000)
-#define AT91_AIC_SMR19  ((19*4)+0x000)
-#define AT91_AIC_SMR20  ((20*4)+0x000)
-#define AT91_AIC_SMR21  ((21*4)+0x000)
-#define AT91_AIC_SMR22  ((22*4)+0x000)
-#define AT91_AIC_SMR23  ((23*4)+0x000)
-#define AT91_AIC_SMR24  ((24*4)+0x000)
-#define AT91_AIC_SMR25  ((25*4)+0x000)
-#define AT91_AIC_SMR26  ((26*4)+0x000)
-#define AT91_AIC_SMR27  ((27*4)+0x000)
-#define AT91_AIC_SMR28  ((28*4)+0x000)
-#define AT91_AIC_SMR29  ((29*4)+0x000)
-#define AT91_AIC_SMR30  ((30*4)+0x000)
-#define AT91_AIC_SMR31  ((31*4)+0x000)
-#define AT91_AIC_SMR_LEVEL_LOW  (0<<5)
-#define AT91_AIC_SMR_LEVEL_HI   (2<<5)
-#define AT91_AIC_SMR_EDGE_NEG   (1<<5)
-#define AT91_AIC_SMR_EDGE_POS   (3<<5)
-#define AT91_AIC_SMR_PRIORITY   0x07
-#define AT91_AIC_SVR0   ((0*4)+0x080)
-#define AT91_AIC_SVR1   ((1*4)+0x080)
-#define AT91_AIC_SVR2   ((2*4)+0x080)
-#define AT91_AIC_SVR3   ((3*4)+0x080)
-#define AT91_AIC_SVR4   ((4*4)+0x080)
-#define AT91_AIC_SVR5   ((5*4)+0x080)
-#define AT91_AIC_SVR6   ((6*4)+0x080)
-#define AT91_AIC_SVR7   ((7*4)+0x080)
-#define AT91_AIC_SVR8   ((8*4)+0x080)
-#define AT91_AIC_SVR9   ((9*4)+0x080)
-#define AT91_AIC_SVR10  ((10*4)+0x080)
-#define AT91_AIC_SVR11  ((11*4)+0x080)
-#define AT91_AIC_SVR12  ((12*4)+0x080)
-#define AT91_AIC_SVR13  ((13*4)+0x080)
-#define AT91_AIC_SVR14  ((14*4)+0x080)
-#define AT91_AIC_SVR15  ((15*4)+0x080)
-#define AT91_AIC_SVR16  ((16*4)+0x080)
-#define AT91_AIC_SVR17  ((17*4)+0x080)
-#define AT91_AIC_SVR18  ((18*4)+0x080)
-#define AT91_AIC_SVR19  ((19*4)+0x080)
-#define AT91_AIC_SVR20  ((20*4)+0x080)
-#define AT91_AIC_SVR21  ((21*4)+0x080)
-#define AT91_AIC_SVR22  ((22*4)+0x080)
-#define AT91_AIC_SVR23  ((23*4)+0x080)
-#define AT91_AIC_SVR24  ((24*4)+0x080)
-#define AT91_AIC_SVR25  ((25*4)+0x080)
-#define AT91_AIC_SVR26  ((26*4)+0x080)
-#define AT91_AIC_SVR27  ((27*4)+0x080)
-#define AT91_AIC_SVR28  ((28*4)+0x080)
-#define AT91_AIC_SVR29  ((29*4)+0x080)
-#define AT91_AIC_SVR30  ((30*4)+0x080)
-#define AT91_AIC_SVR31  ((31*4)+0x080)
-#define AT91_AIC_IVR    0x100
-#define AT91_AIC_FVR    0x104
-#define AT91_AIC_ISR    0x108
-#define AT91_AIC_IPR    0x10C
-#define AT91_AIC_IMR    0x110
-#define AT91_AIC_CISR   0x114
-#define AT91_AIC_IECR   0x120
-#define AT91_AIC_IDCR   0x124
-#define AT91_AIC_ICCR   0x128
-#define AT91_AIC_ISCR   0x12C
-#define AT91_AIC_EOI    0x130
-#define AT91_AIC_SVR    0x134
-
-// Timer / counter
-
-#define AT91_TC         0xFFFE0000
-#define AT91_TC_TC0     0x00
-#define AT91_TC_CCR     0x00
-#define AT91_TC_CCR_CLKEN  0x01
-#define AT91_TC_CCR_CLKDIS 0x02
-#define AT91_TC_CCR_TRIG   0x04
-#define AT91_TC_CMR     0x04
-// Capture mode definitions
-#define AT91_TC_CMR_CLKS   0
-#define AT91_TC_CMR_CLKS_MCK2      (0<<0)
-#define AT91_TC_CMR_CLKS_MCK8      (1<<0)
-#define AT91_TC_CMR_CLKS_MCK32     (2<<0)
-#define AT91_TC_CMR_CLKS_MCK128    (3<<0)
-#define AT91_TC_CMR_CLKS_MCK1024   (4<<0)
-#define AT91_TC_CMR_CLKS_XC0       (5<<0)
-#define AT91_TC_CMR_CLKS_XC1       (6<<0)
-#define AT91_TC_CMR_CLKS_XC2       (7<<0)
-#define AT91_TC_CMR_CLKI           (1<<3)
-#define AT91_TC_CMR_BURST_NONE     (0<<4)
-#define AT91_TC_CMR_BURST_XC0      (1<<4)
-#define AT91_TC_CMR_BURST_XC1      (2<<4)
-#define AT91_TC_CMR_BURST_XC2      (3<<4)
-#define AT91_TC_CMR_LDBSTOP        (1<<6)
-#define AT91_TC_CMR_LDBDIS         (1<<7)
-#define AT91_TC_CMR_TRIG_NONE      (0<<8)
-#define AT91_TC_CMR_TRIG_NEG       (1<<8)
-#define AT91_TC_CMR_TRIG_POS       (2<<8)
-#define AT91_TC_CMR_TRIG_BOTH      (3<<8)
-#define AT91_TC_CMR_EXT_TRIG_TIOB  (0<<10)
-#define AT91_TC_CMR_EXT_TRIG_TIOA  (1<<10)
-#define AT91_TC_CMR_CPCTRG         (1<<14)
-#define AT91_TC_CMR_LDRA_NONE      (0<<16)
-#define AT91_TC_CMR_LDRA_TIOA_NEG  (1<<16)
-#define AT91_TC_CMR_LDRA_TIOA_POS  (2<<16)
-#define AT91_TC_CMR_LDRA_TIOA_BOTH (3<<16)
-#define AT91_TC_CMR_LDRB_NONE      (0<<16)
-#define AT91_TC_CMR_LDRB_TIOA_NEG  (1<<16)
-#define AT91_TC_CMR_LDRB_TIOA_POS  (2<<16)
-#define AT91_TC_CMR_LDRB_TIOA_BOTH (3<<16)
-// Waveform mode definitions [missing]
-#define AT91_TC_CV      0x10
-#define AT91_TC_RA      0x14
-#define AT91_TC_RB      0x18
-#define AT91_TC_RC      0x1C
-#define AT91_TC_SR      0x20
-#define AT91_TC_SR_COVF    (1<<0)  // Counter overrun
-#define AT91_TC_SR_LOVR    (1<<1)  // Load overrun
-#define AT91_TC_SR_CPA     (1<<2)  // RA compare
-#define AT91_TC_SR_CPB     (1<<3)  // RB compare
-#define AT91_TC_SR_CPC     (1<<4)  // RC compare
-#define AT91_TC_SR_LDRA    (1<<5)  // Load A status
-#define AT91_TC_SR_LDRB    (1<<6)  // Load B status
-#define AT91_TC_SR_EXT     (1<<7)  // External trigger
-#define AT91_TC_SR_CLKSTA  (1<<16) // Clock enable/disable status
-#define AT91_TC_SR_MTIOA   (1<<17) // TIOA mirror
-#define AT91_TC_SR_MTIOB   (1<<18) // TIOB mirror
-#define AT91_TC_IER     0x24
-#define AT91_TC_IER_COVF   (1<<0)  // Counter overrun
-#define AT91_TC_IER_LOVR   (1<<1)  // Load overrun
-#define AT91_TC_IER_CPA    (1<<2)  // RA compare
-#define AT91_TC_IER_CPB    (1<<3)  // RB compare
-#define AT91_TC_IER_CPC    (1<<4)  // RC compare
-#define AT91_TC_IER_LDRA   (1<<5)  // Load A status
-#define AT91_TC_IER_LDRB   (1<<6)  // Load B status
-#define AT91_TC_IER_EXT    (1<<7)  // External trigger
-#define AT91_TC_IDR     0x28
-#define AT91_TC_IMR     0x2C
-#define AT91_TC_TC1     0x40
-#define AT91_TC_TC2     0x80
-#define AT91_TC_BCR     0xC0
-#define AT91_TC_BCR_SYNC   0x01
-#define AT91_TC_BMR     0xC4
-
-// External Bus Interface
-
-#define AT91_EBI        0xFFE00000  // Base
-
-#define AT91_EBI_CSR0   0x00    // Chip selects 0 - 7
-#define AT91_EBI_CSR1   0x04
-#define AT91_EBI_CSR2   0x08
-#define AT91_EBI_CSR3   0x0C
-#define AT91_EBI_CSR4   0x10
-#define AT91_EBI_CSR5   0x14
-#define AT91_EBI_CSR6   0x18
-#define AT91_EBI_CSR7   0x1C
-
-#define AT91_EBI_RCR    0x20       // Reset control
-#define AT91_EBI_MCR    0x24       // Memory control
-
-#define AT91_EBI_CSEN              (1<<13)  // Chip Select enable
-#define AT91_EBI_BAT_BYTE_WRITE    (0<<12)  // Byte write access
-#define AT91_EBI_BAT_BYTE_SELECT   (1<<12)  // Byte select access type
-#define AT91_EBI_TDF0              (0<<9)   // 0 cycles of data float time
-#define AT91_EBI_TDF1              (1<<9)   // 1 
-#define AT91_EBI_TDF2              (2<<9)   // 2, etc
-#define AT91_EBI_TDF3              (3<<9)   //
-#define AT91_EBI_TDF4              (4<<9)   //
-#define AT91_EBI_TDF5              (5<<9)   //
-#define AT91_EBI_TDF6              (6<<9)   //
-#define AT91_EBI_TDF7              (7<<9)   //
-
-#define AT91_EBI_PAGES_1M          (0<<7)   // 1MByte page size
-#define AT91_EBI_PAGES_4M          (1<<7)   // 4MByte page size
-#define AT91_EBI_PAGES_16M         (2<<7)   // 16MByte page size
-#define AT91_EBI_PAGES_64M         (3<<7)   // 64MByte page size
-
-#define AT91_EBI_WSE               (1<<5)   // Wait State enable
-
-#define AT91_EBI_NWS_1             (0<<2)   // 1 wait state
-#define AT91_EBI_NWS_2             (1<<2)   // 1 wait state
-#define AT91_EBI_NWS_3             (2<<2)   // 1 wait state
-#define AT91_EBI_NWS_4             (3<<2)   // 1 wait state
-#define AT91_EBI_NWS_5             (4<<2)   // 1 wait state
-#define AT91_EBI_NWS_6             (5<<2)   // 1 wait state
-#define AT91_EBI_NWS_7             (6<<2)   // 1 wait state
-#define AT91_EBI_NWS_8             (7<<2)   // 1 wait state
-
-#define AT91_EBI_DBW_8             (2<<0)   // 8-bit data bus width
-#define AT91_EBI_DBW_16            (1<<0)   // 16-bit data bus width
-
-#define AT91_EBI_RCB               (1<<0)   // Remap command bit
-
-#define AT91_EBI_ALE_16M           (0<<0)   // Address line enable: A20,A21,A22,A23
-#define AT91_EBI_ALE_8M            (4<<0)   //   "   "  A20,A21,A22 CS4
-#define AT91_EBI_ALE_4M            (5<<0)   //   "   "  A20,A21     CS4,CS5
-#define AT91_EBI_ALE_2M            (6<<0)   //   "   "  A20         CS4,CS5,CS6
-#define AT91_EBI_ALE_1M            (7<<0)   //   "   "              CS4,CS5,CS6,CS7
-
-#define AT91_EBI_DRP_STANDARD      (0<<4)   // Standard data read protocol
-#define AT91_EBI_DRP_EARLY         (1<<4)   // Early data read protocol
-
-
-
-// Power Savings control
-
-#define AT91_PS         0xFFFF4000
-#define AT91_PS_CR        0x000    // Control
-#define AT91_PS_PCER      0x004    // Peripheral clock enable
-#define AT91_PS_PCDR      0x004    // Peripheral clock disable
-#define AT91_PS_PCSR      0x004    // Peripheral clock status
-
-// Watchdog
-
-#define AT91_WD             0xFFFF8000
-#define AT91_WD_OMR         0x00
-#define AT91_WD_OMR_WDEN    0x00000001
-#define AT91_WD_OMR_RSTEN   0x00000002
-#define AT91_WD_OMR_IRQEN   0x00000004
-#define AT91_WD_OMR_EXTEN   0x00000008
-#define AT91_WD_OMR_OKEY    (0x00000234 << 4)
-#define AT91_WD_CMR         0x04
-#define AT91_WD_CMR_WDCLKS  0x00000003
-#define AT91_WD_CMR_HPCV    0x0000003C
-#define AT91_WD_CMR_CKEY    (0x0000006E << 7)
-#define AT91_WD_CR          0x08
-#define AT91_WD_CR_RSTKEY   0x0000C071
-#define AT91_WD_SR          0x0C
-#define AT91_WD_SR_WDOVF    0x00000001
-
-
-//-----------------------------------------------------------------------------
-// end of plf_io.h
-#endif // CYGONCE_HAL_PLF_IO_H
diff --git a/packages/hal/arm/at91/v2_0/include/plf_stub.h b/packages/hal/arm/at91/v2_0/include/plf_stub.h
deleted file mode 100644 (file)
index 1e7866e..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-#ifndef CYGONCE_HAL_PLF_STUB_H
-#define CYGONCE_HAL_PLF_STUB_H
-
-//=============================================================================
-//
-//      plf_stub.h
-//
-//      Platform header for GDB stub support.
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   jskov
-// Contributors:jskov, gthomas
-// Date:        2001-07-12
-// Purpose:     Platform HAL stub support for AT91/EB40 boards.
-// Usage:       #include <cyg/hal/plf_stub.h>
-//              
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <pkgconf/hal.h>
-#include CYGBLD_HAL_PLATFORM_H
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-#include <cyg/infra/cyg_type.h>         // CYG_UNUSED_PARAM
-
-#include <cyg/hal/arm_stub.h>           // architecture stub support
-
-//----------------------------------------------------------------------------
-// Define some platform specific communication details. This is mostly
-// handled by hal_if now, but we need to make sure the comms tables are
-// properly initialized.
-
-externC void cyg_hal_plf_comms_init(void);
-
-#define HAL_STUB_PLATFORM_INIT_SERIAL()       cyg_hal_plf_comms_init()
-
-#define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
-#define HAL_STUB_PLATFORM_INTERRUPTIBLE       0
-#define HAL_STUB_PLATFORM_INIT_BREAK_IRQ()    CYG_EMPTY_STATEMENT
-
-//----------------------------------------------------------------------------
-// Stub initializer.
-#define HAL_STUB_PLATFORM_INIT()              CYG_EMPTY_STATEMENT
-
-#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-//-----------------------------------------------------------------------------
-#endif // CYGONCE_HAL_PLF_STUB_H
-// End of plf_stub.h
diff --git a/packages/hal/arm/at91/v2_0/misc/redboot_RAM.ecm b/packages/hal/arm/at91/v2_0/misc/redboot_RAM.ecm
deleted file mode 100644 (file)
index 513773e..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "" ;
-    hardware    at91 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_AT91 v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_AT91 v2_0 ;
-    package -template CYGPKG_HAL v2_0 ;
-    package -template CYGPKG_INFRA v2_0 ;
-    package -template CYGPKG_REDBOOT v2_0 ;
-    package CYGPKG_IO_FLASH v2_0 ;
-};
-
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    user_value 6144
-};
-
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    inferred_value 0 0
-};
-
-cdl_component CYGBLD_BUILD_REDBOOT {
-    user_value 1
-};
-
-cdl_option CYGOPT_REDBOOT_FIS {
-    user_value 0
-};
-
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    user_value 0
-};
-
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    user_value 0
-};
-
diff --git a/packages/hal/arm/at91/v2_0/misc/redboot_ROM.ecm b/packages/hal/arm/at91/v2_0/misc/redboot_ROM.ecm
deleted file mode 100644 (file)
index 316d94a..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "" ;
-    hardware    at91 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_AT91 v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_AT91 v2_0 ;
-    package -template CYGPKG_HAL v2_0 ;
-    package -template CYGPKG_INFRA v2_0 ;
-    package -template CYGPKG_REDBOOT v2_0 ;
-    package CYGPKG_IO_FLASH v2_0 ;
-};
-
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    user_value 6144
-};
-
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    inferred_value 0 0
-};
-
-cdl_component CYG_HAL_STARTUP {
-    user_value ROM
-};
-
-cdl_component CYGBLD_BUILD_REDBOOT {
-    user_value 1
-};
-
-cdl_option CYGOPT_REDBOOT_FIS {
-    user_value 0
-};
-
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    user_value 0
-};
-
-
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    user_value 0
-};
diff --git a/packages/hal/arm/at91/v2_0/misc/redboot_ROMRAM.ecm b/packages/hal/arm/at91/v2_0/misc/redboot_ROMRAM.ecm
deleted file mode 100644 (file)
index 72d8964..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "" ;
-    hardware    at91 ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_AT91 v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_AT91 v2_0 ;
-    package -template CYGPKG_HAL v2_0 ;
-    package -template CYGPKG_INFRA v2_0 ;
-    package -template CYGPKG_REDBOOT v2_0 ;
-    package CYGPKG_IO_FLASH v2_0 ;
-};
-
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    user_value 6144
-};
-
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    user_value 1
-};
-
-cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-    inferred_value 0 0
-};
-
-cdl_component CYG_HAL_STARTUP {
-    user_value ROMRAM
-};
-
-cdl_component CYGBLD_BUILD_REDBOOT {
-    user_value 1
-};
-
-cdl_option CYGOPT_REDBOOT_FIS {
-    user_value 0
-};
-
-cdl_component CYGSEM_REDBOOT_FLASH_CONFIG {
-    user_value 0
-};
-
-cdl_option CYGNUM_FLASH_WORKSPACE_SIZE {
-    user_value 0x00000200
-};
-
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    user_value 0
-};
diff --git a/packages/hal/arm/at91/v2_0/src/at91_misc.c b/packages/hal/arm/at91/v2_0/src/at91_misc.c
deleted file mode 100644 (file)
index 1bcdd14..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-//==========================================================================
-//
-//      at91_misc.c
-//
-//      HAL misc board support code for Atmel AT91/EB40
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas, jskov
-// Date:         2001-07-12
-// Purpose:      HAL board support
-// Description:  Implementations of HAL board interfaces
-//
-//####DESCRIPTIONEND####
-//
-//========================================================================*/
-
-#include <pkgconf/hal.h>
-
-#include <cyg/infra/cyg_type.h>         // base types
-#include <cyg/infra/cyg_trac.h>         // tracing macros
-#include <cyg/infra/cyg_ass.h>          // assertion macros
-
-#include <cyg/hal/hal_io.h>             // IO macros
-#include <cyg/hal/hal_arch.h>           // Register state info
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_intr.h>           // necessary?
-#include <cyg/hal/hal_cache.h>
-#include <cyg/hal/hal_if.h>             // calling interface
-#include <cyg/hal/hal_misc.h>           // helper functions
-#ifdef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-#include <cyg/hal/drv_api.h>            // HAL ISR support
-#endif
-#include <cyg/hal/plf_io.h>             // platform registers
-
-static cyg_uint32 _period;
-
-void hal_clock_initialize(cyg_uint32 period)
-{
-    CYG_ADDRESS timer = AT91_TC+AT91_TC_TC0;
-
-    CYG_ASSERT(period < 0x10000, "Invalid clock period");
-
-    // Disable counter
-    HAL_WRITE_UINT32(timer+AT91_TC_CCR, AT91_TC_CCR_CLKDIS);
-
-    // Set registers
-    HAL_WRITE_UINT32(timer+AT91_TC_CMR, AT91_TC_CMR_CPCTRG |        // Reset counter on CPC
-                                        AT91_TC_CMR_CLKS_MCK32);    // 1 MHz
-    HAL_WRITE_UINT32(timer+AT91_TC_RC, period);
-
-    // Start timer
-    HAL_WRITE_UINT32(timer+AT91_TC_CCR, AT91_TC_CCR_TRIG | AT91_TC_CCR_CLKEN);
-
-    // Enable timer 0 interrupt    
-    HAL_WRITE_UINT32(timer+AT91_TC_IER, AT91_TC_IER_CPC);
-}
-
-void hal_clock_reset(cyg_uint32 vector, cyg_uint32 period)
-{
-    CYG_ADDRESS timer = AT91_TC+AT91_TC_TC0;
-    cyg_uint32 sr;
-
-    CYG_ASSERT(period < 0x10000, "Invalid clock period");
-
-    HAL_READ_UINT32(timer+AT91_TC_SR, sr);  // Clear interrupt
-    HAL_INTERRUPT_ACKNOWLEDGE(CYGNUM_HAL_INTERRUPT_RTC);
-
-    if (period != _period) {
-        hal_clock_initialize(period);
-    }
-    _period = period;
-
-}
-
-void hal_clock_read(cyg_uint32 *pvalue)
-{
-    CYG_ADDRESS timer = AT91_TC+AT91_TC_TC0;
-    cyg_uint32 val;
-
-    HAL_READ_UINT32(timer+AT91_TC_CV, val);
-    *pvalue = val;
-}
-
-// -------------------------------------------------------------------------
-//
-// Delay for some number of micro-seconds
-//   Use timer #2 in 1MHz mode
-//
-void hal_delay_us(cyg_int32 usecs)
-{
-    CYG_ADDRESS timer = AT91_TC+AT91_TC_TC2;
-    cyg_uint32 stat;
-
-    // Disable counter
-    HAL_WRITE_UINT32(timer+AT91_TC_CCR, AT91_TC_CCR_CLKDIS);
-
-    // Set registers
-    HAL_WRITE_UINT32(timer+AT91_TC_CMR, AT91_TC_CMR_CLKS_MCK32);  // 1MHz
-    HAL_WRITE_UINT32(timer+AT91_TC_RA, 0);
-    HAL_WRITE_UINT32(timer+AT91_TC_RC, usecs);
-
-    // Start timer
-    HAL_WRITE_UINT32(timer+AT91_TC_CCR, AT91_TC_CCR_TRIG | AT91_TC_CCR_CLKEN);
-
-    // Wait for the compare
-    do {
-        HAL_READ_UINT32(timer+AT91_TC_SR, stat);
-    } while ((stat & AT91_TC_SR_CPC) == 0);
-}
-
-// -------------------------------------------------------------------------
-// Hardware init
-void hal_hardware_init(void)
-{
-    // Set up eCos/ROM interfaces
-    hal_if_init();
-
-    // Reset all interrupts
-    HAL_WRITE_UINT32(AT91_AIC+AT91_AIC_IDCR, 0xFFFFFFFF);  
-
-    // Make sure interrupt controller is happy
-    HAL_WRITE_UINT32(AT91_AIC+AT91_AIC_EOI, 0xFFFFFFFF);  
-}
-
-//
-// This routine is called to respond to a hardware interrupt (IRQ).  It
-// should interrogate the hardware and return the IRQ vector number.
-
-int hal_IRQ_handler(void)
-{
-    cyg_uint32 irq_num;
-    cyg_uint32 ipr, imr;
-
-    HAL_READ_UINT32(AT91_AIC+AT91_AIC_IPR, ipr);
-    HAL_READ_UINT32(AT91_AIC+AT91_AIC_IMR, imr);
-    ipr &= imr;
-    for (irq_num = 0;  irq_num < 19;  irq_num++) {
-        if (ipr & (1 << irq_num)) {
-            break;
-        }
-    }
-
-    return irq_num;
-}
-
-//
-// Interrupt control
-//
-
-void hal_interrupt_mask(int vector)
-{
-    CYG_ASSERT(vector <= CYGNUM_HAL_ISR_MAX &&
-               vector >= CYGNUM_HAL_ISR_MIN , "Invalid vector");
-
-    HAL_WRITE_UINT32(AT91_AIC+AT91_AIC_IDCR, (1<<vector));
-}
-
-void hal_interrupt_unmask(int vector)
-{
-    CYG_ASSERT(vector <= CYGNUM_HAL_ISR_MAX &&
-               vector >= CYGNUM_HAL_ISR_MIN , "Invalid vector");
-
-    HAL_WRITE_UINT32(AT91_AIC+AT91_AIC_IECR, (1<<vector));
-}
-
-void hal_interrupt_acknowledge(int vector)
-{
-    CYG_ASSERT(vector <= CYGNUM_HAL_ISR_MAX &&
-               vector >= CYGNUM_HAL_ISR_MIN , "Invalid vector");
-
-    HAL_WRITE_UINT32(AT91_AIC+AT91_AIC_ICCR, (1<<vector));
-
-    // FIXME - This isn't 100% correct
-    HAL_WRITE_UINT32(AT91_AIC+AT91_AIC_EOI, 0xFFFFFFFF);  
-}
-
-void hal_interrupt_configure(int vector, int level, int up)
-{
-    cyg_uint32 mode;
-
-    CYG_ASSERT(vector <= CYGNUM_HAL_ISR_MAX &&
-               vector >= CYGNUM_HAL_ISR_MIN , "Invalid vector");
-
-    if (level) {
-        if (up) {
-            mode = AT91_AIC_SMR_LEVEL_HI;
-        } else {
-            mode = AT91_AIC_SMR_LEVEL_LOW;
-        }
-    } else {
-        if (up) {
-            mode = AT91_AIC_SMR_EDGE_POS;
-        } else {
-            mode = AT91_AIC_SMR_EDGE_NEG;
-        }
-    }
-    mode |= 7;  // Default priority
-    HAL_WRITE_UINT32(AT91_AIC+(AT91_AIC_SMR0+(vector*4)), mode);
-}
-
-void hal_interrupt_set_level(int vector, int level)
-{
-    cyg_uint32 mode;
-
-    CYG_ASSERT(vector <= CYGNUM_HAL_ISR_MAX &&
-               vector >= CYGNUM_HAL_ISR_MIN , "Invalid vector");
-    CYG_ASSERT(level >= 1 && level <= 7, "Invalid level");
-
-    HAL_READ_UINT32(AT91_AIC+(AT91_AIC_SMR0+(vector*4)), mode);
-    mode = (mode & ~AT91_AIC_SMR_PRIORITY) | level;
-    HAL_WRITE_UINT32(AT91_AIC+(AT91_AIC_SMR0+(vector*4)), mode);
-}
-
-void hal_show_IRQ(int vector, int data, int handler)
-{
-//    UNDEFINED(__FUNCTION__);  // FIXME
-}
-
-// 
-// Diagnostic LEDs - there are three colored LEDs which can be used
-// to send a simple diagnostic value (8 bits)
-//
-
-void 
-_at91_led(int val)
-{
-    int i, to;
-
-    HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_CODR, 0x06);  // DATA+CLOCK LEDs off
-    for (to = 0;  to < 0x200000; to++) ;
-    for (i = 0;  i < 8;  i++) {        
-        HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_SODR, ((val>>(7-i)) & 0x01)<<2);  // DATA LED
-        HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_SODR, 0x02);  // CLOCK LED on
-        for (to = 0;  to < 0x80000; to++) ;
-        HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_CODR, 0x02);  // CLOCK LED off
-        for (to = 0;  to < 0x40000; to++) ;
-        HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_CODR, 0x04);  // DATA LED off
-    }
-}
-
-void
-set_leds(int val)
-{
-    HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_CODR, 0x16);
-    HAL_WRITE_UINT32(AT91_PIO+AT91_PIO_SODR, val);
-}
-
-
-//--------------------------------------------------------------------------
-// EOF hal_misc.c
diff --git a/packages/hal/arm/at91/v2_0/src/hal_diag.c b/packages/hal/arm/at91/v2_0/src/hal_diag.c
deleted file mode 100644 (file)
index 30a25f2..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-/*=============================================================================
-//
-//      hal_diag.c
-//
-//      HAL diagnostic output code
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   jskov
-// Contributors:jskov, gthomas
-// Date:        2001-07-12
-// Purpose:     HAL diagnostic output
-// Description: Implementations of HAL diagnostic output support.
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <pkgconf/hal.h>
-#include CYGBLD_HAL_PLATFORM_H
-
-#include <cyg/infra/cyg_type.h>         // base types
-
-#include <cyg/hal/hal_arch.h>           // SAVE/RESTORE GP macros
-#include <cyg/hal/hal_io.h>             // IO macros
-#include <cyg/hal/hal_if.h>             // interface API
-#include <cyg/hal/hal_intr.h>           // HAL_ENABLE/MASK/UNMASK_INTERRUPTS
-#include <cyg/hal/hal_misc.h>           // Helper functions
-#include <cyg/hal/drv_api.h>            // CYG_ISR_HANDLED
-
-#include <cyg/hal/plf_io.h>             // USART registers
-
-//-----------------------------------------------------------------------------
-typedef struct {
-    cyg_uint8* base;
-    cyg_int32 msec_timeout;
-    int isr_vector;
-} channel_data_t;
-
-//-----------------------------------------------------------------------------
-
-static void
-cyg_hal_plf_serial_init_channel(void* __ch_data)
-{
-    cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-
-    // Reset device
-    HAL_WRITE_UINT32(base+AT91_US_CR, AT91_US_CR_RxRESET | AT91_US_CR_TxRESET);
-
-    // 8-1-no parity.
-    HAL_WRITE_UINT32(base+AT91_US_MR,
-                     AT91_US_MR_CLOCK_MCK | AT91_US_MR_LENGTH_8 |
-                     AT91_US_MR_PARITY_NONE | AT91_US_MR_STOP_1);
-
-    HAL_WRITE_UINT32(base+AT91_US_BRG, AT91_US_BAUD(CYGNUM_HAL_VIRTUAL_VECTOR_CHANNELS_DEFAULT_BAUD));
-
-    // Enable RX and TX
-    HAL_WRITE_UINT32(base+AT91_US_CR, AT91_US_CR_RxENAB | AT91_US_CR_TxENAB);
-}
-
-void
-cyg_hal_plf_serial_putc(void *__ch_data, char c)
-{
-    cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-    cyg_uint32 status, ch;
-    CYGARC_HAL_SAVE_GP();
-
-    do {
-        HAL_READ_UINT32(base+AT91_US_CSR, status);
-    } while ((status & AT91_US_CSR_TxRDY) == 0);
-
-    ch = (cyg_uint32)c;
-    HAL_WRITE_UINT32(base+AT91_US_THR, ch);
-
-    CYGARC_HAL_RESTORE_GP();
-}
-
-static cyg_bool
-cyg_hal_plf_serial_getc_nonblock(void* __ch_data, cyg_uint8* ch)
-{
-    channel_data_t* chan = (channel_data_t*)__ch_data;
-    cyg_uint8* base = chan->base;
-    cyg_uint32 stat;
-    cyg_uint32 c;
-
-    HAL_READ_UINT32(base+AT91_US_CSR, stat);
-    if ((stat & AT91_US_CSR_RxRDY) == 0)
-        return false;
-
-    HAL_READ_UINT32(base+AT91_US_RHR, c);
-    *ch = (cyg_uint8)(c & 0xff);
-
-    return true;
-}
-
-cyg_uint8
-cyg_hal_plf_serial_getc(void* __ch_data)
-{
-    cyg_uint8 ch;
-    CYGARC_HAL_SAVE_GP();
-
-    while(!cyg_hal_plf_serial_getc_nonblock(__ch_data, &ch));
-
-    CYGARC_HAL_RESTORE_GP();
-    return ch;
-}
-
-static void
-cyg_hal_plf_serial_write(void* __ch_data, const cyg_uint8* __buf, 
-                         cyg_uint32 __len)
-{
-    CYGARC_HAL_SAVE_GP();
-
-    while(__len-- > 0)
-        cyg_hal_plf_serial_putc(__ch_data, *__buf++);
-
-    CYGARC_HAL_RESTORE_GP();
-}
-
-static void
-cyg_hal_plf_serial_read(void* __ch_data, cyg_uint8* __buf, cyg_uint32 __len)
-{
-    CYGARC_HAL_SAVE_GP();
-
-    while(__len-- > 0)
-        *__buf++ = cyg_hal_plf_serial_getc(__ch_data);
-
-    CYGARC_HAL_RESTORE_GP();
-}
-
-cyg_bool
-cyg_hal_plf_serial_getc_timeout(void* __ch_data, cyg_uint8* ch)
-{
-    int delay_count;
-    channel_data_t* chan = (channel_data_t*)__ch_data;
-    cyg_bool res;
-    CYGARC_HAL_SAVE_GP();
-
-    delay_count = chan->msec_timeout * 10; // delay in .1 ms steps
-
-    for(;;) {
-        res = cyg_hal_plf_serial_getc_nonblock(__ch_data, ch);
-        if (res || 0 == delay_count--)
-            break;
-        
-        CYGACC_CALL_IF_DELAY_US(100);
-    }
-
-    CYGARC_HAL_RESTORE_GP();
-    return res;
-}
-
-static int
-cyg_hal_plf_serial_control(void *__ch_data, __comm_control_cmd_t __func, ...)
-{
-    static int irq_state = 0;
-    channel_data_t* chan = (channel_data_t*)__ch_data;
-    cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-    int ret = 0;
-    CYGARC_HAL_SAVE_GP();
-
-    switch (__func) {
-    case __COMMCTL_IRQ_ENABLE:
-        irq_state = 1;
-        HAL_INTERRUPT_ACKNOWLEDGE(chan->isr_vector);
-        HAL_INTERRUPT_UNMASK(chan->isr_vector);
-        HAL_WRITE_UINT32(base+AT91_US_IER, AT91_US_IER_RxRDY);
-        break;
-    case __COMMCTL_IRQ_DISABLE:
-        ret = irq_state;
-        irq_state = 0;
-        HAL_INTERRUPT_MASK(chan->isr_vector);
-        HAL_WRITE_UINT32(base+AT91_US_IDR, AT91_US_IER_RxRDY);
-        break;
-    case __COMMCTL_DBG_ISR_VECTOR:
-        ret = chan->isr_vector;
-        break;
-    case __COMMCTL_SET_TIMEOUT:
-    {
-        va_list ap;
-
-        va_start(ap, __func);
-
-        ret = chan->msec_timeout;
-        chan->msec_timeout = va_arg(ap, cyg_uint32);
-
-        va_end(ap);
-    }        
-    default:
-        break;
-    }
-    CYGARC_HAL_RESTORE_GP();
-    return ret;
-}
-
-static int
-cyg_hal_plf_serial_isr(void *__ch_data, int* __ctrlc, 
-                       CYG_ADDRWORD __vector, CYG_ADDRWORD __data)
-{
-    int res = 0;
-    channel_data_t* chan = (channel_data_t*)__ch_data;
-    cyg_uint32 c;
-    cyg_uint8 ch;
-    cyg_uint32 stat;
-    CYGARC_HAL_SAVE_GP();
-
-    *__ctrlc = 0;
-    HAL_READ_UINT32(chan->base+AT91_US_CSR, stat);
-    if ( (stat & AT91_US_CSR_RxRDY) != 0 ) {
-
-        HAL_READ_UINT32(chan->base+AT91_US_RHR, c);
-        ch = (cyg_uint8)(c & 0xff);
-        if( cyg_hal_is_break( &ch , 1 ) )
-            *__ctrlc = 1;
-
-        res = CYG_ISR_HANDLED;
-    }
-
-    HAL_INTERRUPT_ACKNOWLEDGE(chan->isr_vector);
-
-    CYGARC_HAL_RESTORE_GP();
-    return res;
-}
-
-static channel_data_t at91_ser_channels[2] = {
-    { (cyg_uint8*)AT91_USART0, 1000, CYGNUM_HAL_INTERRUPT_USART0},
-    { (cyg_uint8*)AT91_USART1, 1000, CYGNUM_HAL_INTERRUPT_USART1}
-};
-
-static void
-cyg_hal_plf_serial_init(void)
-{
-    hal_virtual_comm_table_t* comm;
-    int cur;
-
-    cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-
-    // Init channels
-    cyg_hal_plf_serial_init_channel(&at91_ser_channels[0]);
-#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 1
-    cyg_hal_plf_serial_init_channel(&at91_ser_channels[1]);
-#endif
-
-    // Setup procs in the vector table
-
-    // Set channel 0
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(0);
-    comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-    CYGACC_COMM_IF_CH_DATA_SET(*comm, &at91_ser_channels[0]);
-    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-#if CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS > 1
-    // Set channel 1
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(1);
-    comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-    CYGACC_COMM_IF_CH_DATA_SET(*comm, &at91_ser_channels[1]);
-    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-#endif
-
-    // Restore original console
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-}
-
-void
-cyg_hal_plf_comms_init(void)
-{
-    static int initialized = 0;
-
-    if (initialized)
-        return;
-
-    initialized = 1;
-
-    cyg_hal_plf_serial_init();
-}
-
-//-----------------------------------------------------------------------------
-// End of hal_diag.c
diff --git a/packages/hal/arm/mx37/stk5/v1_0/cdl/hal_arm_tx37.cdl b/packages/hal/arm/mx37/stk5/v1_0/cdl/hal_arm_tx37.cdl
deleted file mode 100644 (file)
index 1d89411..0000000
+++ /dev/null
@@ -1,368 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_board.cdl
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-
-cdl_package CYGPKG_HAL_ARM_MX37_STK5 {
-    display       "KaRo electronics board"
-    parent        CYGPKG_HAL_ARM_MX37
-    hardware
-    include_dir   cyg/hal
-    define_header hal_arm_board.h
-    description   "
-        This HAL platform package provides generic
-        support for the Ka-Ro TX37 module on a STK5 base board."
-
-    compile       tx37_misc.c tx37_diag.c
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-
-    #implements    CYGHWR_HAL_ARM_DUART_UARTB
-    implements    CYGHWR_HAL_ARM_SOC_UART1
-    #implements    CYGHWR_HAL_ARM_SOC_UART2
-    #implements    CYGHWR_HAL_ARM_SOC_UART3
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_VARIANT_H  <pkgconf/hal_arm_soc.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_board.h>"
-       puts $::cdl_header "#define HAL_PLATFORM_CPU    \"Freescale i.MX37 based\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TX37\""
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  1575"
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK board_program_new_stack"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"ROM"}
-        legal_values  {"RAM" "ROM" "ROMRAM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using eCos GDB
-           stubs.  Select 'rom' when building a stand-alone application
-           which will be put into ROM, or for the special case of
-           building the eCos GDB stubs themselves. Using ROMRAM will allow
-           the program to exist in ROM, but be copied to RAM during startup."
-    }
-
-    cdl_interface     CYGHWR_HAL_ARM_DUART_UARTA {
-        display   "ST16552 UARTA available as diagnostic/debug channel"
-        description "
-         The board has a ST16552 DUART chip. This
-          interface allows a platform to indicate that the specified
-          serial port can be used as a diagnostic and/or debug channel."
-    }
-
-    cdl_interface     CYGHWR_HAL_ARM_DUART_UARTB {
-        display   "ST16552 UARTB available as diagnostic/debug channel"
-        description "
-         The board has a ST16552 DUART chip. This
-          interface allows a platform to indicate that the specified
-          serial port can be used as a diagnostic and/or debug channel."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 115200
-        description   "
-            This option selects the baud rate used for the console port.
-            Note: this should match the value chosen for the GDB port if the
-            console and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 115200
-        description   "
-            This option selects the baud rate used for the GDB port.
-            Note: this should match the value chosen for the console port if the
-            console and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        active_if        CYGPRI_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_CONFIGURABLE
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            The board has three serial ports. This option
-            chooses which port will be used to connect to a host
-            running GDB."
-     }
-
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-         display      "Default console channel."
-         flavor       data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         calculated   0
-     }
-
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Console serial port"
-         active_if        CYGPRI_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_CONFIGURABLE
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT
-         description      "
-            The board has only three serial ports.  This option
-            chooses which port will be used for console output."
-     }
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        no_define
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "arm-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-mcpu=arm9 -Wall  -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-rtti -fno-exceptions -fvtable-gc -finit-priority" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -g -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) --remove-section=.fixed_vectors -O binary $< $@
-            }
-        }
-    }
-
-    cdl_component CYGPKG_HAL_ARM_BOARD_OPTIONS {
-        display "Ka-Ro TX37 Board build options"
-        flavor  none
-        no_define
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-        cdl_option CYGPKG_HAL_ARM_BOARD_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the board HAL. These flags are used in addition
-                to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_BOARD_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the board HAL. These flags are removed from
-                the set of global flags if present."
-        }
-
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { (CYG_HAL_STARTUP == "RAM")    ? "arm_board_ram" :
-                     (CYG_HAL_STARTUP == "ROMRAM") ? "arm_board_romram" :
-                                                    "arm_board_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { (CYG_HAL_STARTUP == "RAM") ?    "<pkgconf/mlt_arm_tx37_ram.ldi>" :
-                         (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.ldi>" :
-                                                         "<pkgconf/mlt_arm_tx37_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { (CYG_HAL_STARTUP == "RAM")    ? "<pkgconf/mlt_arm_tx37_ram.h>" :
-                         (CYG_HAL_STARTUP == "ROMRAM") ? "<pkgconf/mlt_arm_tx37_romram.h>" :
-                                                         "<pkgconf/mlt_arm_tx37_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 0
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" || CYG_HAL_STARTUP == "ROMRAM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-            compile -library=libextras.a redboot_cmds.c
-
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-
-            make -priority 325 {
-                <PREFIX>/bin/redboot.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img)
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-            }
-        }
-    }
-
-    cdl_component CYGPKG_REDBOOT_HAL_BOARD_OPTIONS {
-        display       "Redboot HAL variant options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-
-        # RedBoot details
-        requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0x40008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0x00001f00"
-        }
-    }
-}
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/hal_platform_setup.h b/packages/hal/arm/mx37/stk5/v1_0/include/hal_platform_setup.h
deleted file mode 100644 (file)
index e6a98e3..0000000
+++ /dev/null
@@ -1,1098 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
-#define CYGONCE_HAL_PLATFORM_SETUP_H
-
-//=============================================================================
-//
-//     hal_platform_setup.h
-//
-//     Platform specific support for HAL (assembly code)
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//===========================================================================
-
-#include <pkgconf/system.h>            // System-wide configuration info
-#include CYGBLD_HAL_VARIANT_H          // Variant specific configuration
-#include CYGBLD_HAL_PLATFORM_H         // Platform specific configuration
-#include <cyg/hal/hal_soc.h>           // Variant specific hardware definitions
-#include <cyg/hal/hal_mmu.h>           // MMU definitions
-#include <cyg/hal/karo_tx37.h>         // Platform specific hardware definitions
-
-#if defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
-#define PLATFORM_SETUP1 _platform_setup1
-#define CYGHWR_HAL_ARM_HAS_MMU
-
-#ifdef CYG_HAL_STARTUP_ROMRAM
-#define CYGSEM_HAL_ROM_RESET_USES_JUMP
-#endif
-
-//#define NFC_2K_BI_SWAP
-#define SDRAM_FULL_PAGE_BIT    0x100
-#define SDRAM_FULL_PAGE_MODE   0x37
-#define SDRAM_BURST_MODE       0x33
-
-#define CYGHWR_HAL_ROM_VADDR   0x0
-
-#if 0
-#define UNALIGNED_ACCESS_ENABLE
-#define SET_T_BIT_DISABLE
-#define BRANCH_PREDICTION_ENABLE
-#endif
-
-
-#define TX37_NAND_PAGE_SIZE     2048
-#define TX37_NAND_BLKS_PER_PAGE         64
-
-#define TX37_DEBUG
-
-#ifndef TX37_DEBUG
-#define LED_ON
-#define LED_OFF
-       .macro  LED_CTRL,val
-       .endm
-       .macro  LED_BLINK,val
-       .endm
-#define DELAY
-#else
-#define CYGHWR_LED_MACRO    LED_BLINK #\x
-#define LED_ON         bl  led_on
-#define LED_OFF                bl  led_off
-       .macro  DELAY,ms
-       ldr     r10, =\ms
-111:
-       subs    r10, r10, #1
-       bmi     113f
-       ldr     r9, =3000
-112:
-       subs    r9, r9, #1
-       bne     112b
-       b       111b
-       .ltorg
-113:
-       .endm
-
-       .macro LED_CTRL,val
-       // switch user LED (PF13) on STK5
-       ldr r10, GPIO2_BASE_ADDR_W
-       mov     r9, #\val
-       cmp     r9, #0
-       movne   r9, #(1 << 19)  // LED ON
-       moveq   r9, #0  // LED OFF
-       str     r9, [r10, #0x00]        @ GPIO_DR
-       .endm
-
-       .macro LED_BLINK,val
-       mov r2, \val
-211:
-       subs    r2, r2, #1
-       bmi     212f
-       LED_CTRL 1
-       DELAY   200
-       LED_CTRL 0
-       DELAY   300
-       b       211b
-212:
-       DELAY   1000
-       .endm
-#endif
-
-       .macro LED_INIT
-       // initialize GPIO2[19] for LED on STK5
-       ldr r10, IOMUXC_BASE_ADDR_W
-       @ AUD5_RXC = ALT4 (GPIO2[19])
-       mov     r9,     #4
-       str     r9,     [r10, #0x120]
-       ldr     r10,    GPIO2_BASE_ADDR_W
-
-       mov r9, #(1 << 19)
-       str     r9,     [r10, #0x00]    @ GPIO_DR
-
-       mov r9, #(1 << 19)
-       str     r9,     [r10, #0x04]    @ GPIO_GDIR
-       .endm
-
-//#define ENABLE_IMPRECISE_ABORT
-
-/*
-#define PLATFORM_PREAMBLE flash_header
-
-//flash header & DCD @ 0x400
-.macro flash_header
-       b reset_vector
-.org 0x400
-app_code_jump_v: .long  reset_vector
-app_code_barker: .long  0xB1
-app_code_csf:   .long  0
-dcd_ptr_ptr:    .long  dcd_ptr
-super_root_key:         .long  0
-dcd_ptr:        .long  dcd_data
-app_dest_ptr:   .long  CYGMEM_REGION_rom - REDBOOT_OFFSET
-
-dcd_data:      .long   0xB17219E9
-dcd_len:       .long   (49 * 12)
-
-//DCD
-//iomux 1
-// KEY_ROW0 -> EMI_DRAM_D[16]
-.long 4
-.long 0xc3fa8008
-.long 0x1
-// 2
-// KEY_ROW1 -> EMI_DRAM_D[17]
-.long 4
-.long 0xc3fa800c
-.long 0x1
-// 3
-// KEY_ROW2 -> EMI_DRAM_D[18]
-.long 4
-.long 0xc3fa8010
-.long 0x1
-// 4
-// KEY_ROW3 -> EMI_DRAM_D[19]
-.long 4
-.long 0xc3fa8014
-.long 0x1
-//5
-// KEY_ROW4 -> EMI_DRAM_D[20]
-.long 4
-.long 0xc3fa8018
-.long 0x1
-//6
-// KEY_ROW5 -> EMI_DRAM_D[21]
-.long 4
-.long 0xc3fa801c
-.long 0x1
-// 7
-// KEY_ROW6 -> EMI_DRAM_D[22]
-.long 4
-.long 0xc3fa8020
-.long 0x1
-// 8
-// KEY_ROW7 -> EMI_DRAM_D[23]
-.long 4
-.long 0xc3fa8024
-.long 0x1
-// 9
-// KEY_ROW7
-// IETM_D0 -> EMI_DRAM_D[24]
-.long 4
-.long 0xc3fa8028
-.long 0x1
-
-//10
-// IETM_D1 -> EMI_DRAM_D[25]
-.long 4
-.long 0xc3fa802c
-.long 0x1
-
-// 11
-// IETM_D2 -> EMI_DRAM_D[26]
-.long 4
-.long 0xc3fa8030
-.long 0x1
-
-// 12
-// IETM_D3 -> EMI_DRAM_D[27]
-.long 4
-.long 0xc3fa8034
-.long 0x1
-
-// 13
-// IETM_D4 -> EMI_DRAM_D[28]
-.long 4
-.long 0xc3fa8038
-.long 0x1
-
-// 14
-// IETM_D5 -> EMI_DRAM_D[29]
-.long 4
-.long 0xc3fa803c
-.long 0x1
-
-// 15
-// IETM_D6 -> EMI_DRAM_D[30]
-.long 4
-.long 0xc3fa8040
-.long 0x1
-
-// 16
-// IETM_D7 -> EMI_DRAM_D[31]
-.long 4
-.long 0xc3fa8044
-.long 0x1
-
-// 17
-// EIM_EB0 -> DRAM_DQM[2]
-.long 4
-.long 0xc3fa8048
-.long 0x1
-
-// 18
-// EIM_EB1 -> DRAM_DQM[3]
-.long 4
-.long 0xc3fa804c
-.long 0x1
-
-// 19
-// EIM_ECB -> DRAM_SDQS[2]
-.long 4
-.long 0xc3fa805c
-.long 0x1
-
-// 20
-// SW_PAD_CTL_PAD_EIM_ECB -> DDR input type / Pull/Keeper Enabled / Pull /  100KOhm Pull Down / High Drive Strength
-.long 4
-.long 0xc3fa82bc
-.long 0x02c4
-
-// 21
-// EIM_LBA -> DRAM_SDQS[3]
-.long 4
-.long 0xc3fa8060
-.long 0x1
-
-// 22
-// SW_PAD_CTL_PAD_EIM_LBA -> DDR input type / Pull/Keeper Enabled / Pull /  100KOhm Pull Down / High Drive Strength
-.long 4
-.long 0xc3fa82c0
-.long 0x02c4
-
-// 23
-// SW_PAD_CTL_GRP_S7 -> Medium Drive Strength
-.long 4
-.long 0xc3fa84a8
-.long 0x2
-
-// 24
-// SW_PAD_CTL_GRP_S8  -> Medium Drive Strength
-.long 4
-.long 0xc3fa84b0
-.long 0x2
-
-// 25
-// SW_PAD_CTL_GRP_S9  -> Medium Drive Strength
-.long 4
-.long 0xc3fa84b4
-.long 0x2
-
-// 26
-// SW_PAD_CTL_GRP_S10  -> Medium Drive Strength
-.long 4
-.long 0xc3fa84e0
-.long 0x2
-
-// 27
-// SW_PAD_CTL_PAD_DRAM_DQM0 -> Medium Drive Strength
-.long 4
-.long 0xc3fa8278
-.long 0x2
-
-// 28
-// SW_PAD_CTL_PAD_DRAM_DQM1 -> Medium Drive Strength
-.long 4
-.long 0xc3fa827c
-.long 0x2
-
-// 29
-// DRAM_SDQS0  -> Medium Drive Strength
-.long 4
-.long 0xc3fa8298
-.long 0x2
-
-// 30
-// DRAM_SDQS1  -> Medium Drive Strength
-.long 4
-.long 0xc3fa829c
-.long 0x2
-
-// 31
-// SW_PAD_CTL_GRP_S3  -> Medium Drive Strength
-.long 4
-.long 0xc3fa84fc
-.long 0x2
-
-// 32
-// SW_PAD_CTL_GRP_S4  -> Medium Drive Strength
-.long 4
-.long 0xc3fa8504
-.long 0x2
-
-// 33
-// SW_PAD_CTL_GRP_S5  -> Medium Drive Strength
-.long 4
-.long 0xc3fa848c
-.long 0x2
-
-// 34
-// SW_PAD_CTL_GRP_S6  -> Medium Drive Strength
-.long 4
-.long 0xc3fa849c
-.long 0x2
-
-// 35
-// DRAM_SDCLK  -> Medium Drive Strength
-.long 4
-.long 0xc3fa8294
-.long 0x2
-
-// 36
-// SW_PAD_CTL_PAD_DRAM_RAS  -> Medium Drive Strength
-.long 4
-.long 0xc3fa8280
-.long 0x2
-
-// 37
-// SW_PAD_CTL_PAD_DRAM_CAS  -> Medium Drive Strength
-.long 4
-.long 0xc3fa8284
-.long 0x2
-
-// 38
-// SW_PAD_CTL_PAD_DRAM_SDWE -> Medium Drive Strength
-.long 4
-.long 0xc3fa8288
-.long 0x2
-
-// 39
-// SW_PAD_CTL_PAD_DRAM_SDCKE0  -> Medium Drive Strength
-.long 4
-.long 0xc3fa828c
-.long 0x2
-
-// 40
-// SW_PAD_CTL_PAD_DRAM_SDCKE1  -> Medium Drive Strength
-.long 4
-.long 0xc3fa8290
-.long 0x2
-
-// set CSD0 1
-// 41
-.long 4
-.long 0xe3fd9000
-.long 0x80000000
-
-// Precharge command  2
-// 42
-.long 4
-.long 0xe3fd9014
-.long 0x04008008
-// refresh commands 3
-// 43
-.long 4
-.long 0xe3fd9014
-.long 0x00008010
-
-// 44
-.long 4
-.long 0xe3fd9014
-.long 0x00008010
-// LMR with CAS=3 BL=3 5
-// 45
-.long 4
-.long 0xe3fd9014
-.long 0x00338018
-
-// 13row 9 col 32 bit sref=4 micro model  6
-// 46
-.long 4
-.long 0xe3fd9000
-.long 0xB2120000
-
-// timing parameter 7
-// 47
-.long 4
-.long 0xe3fd9004
-.long 0x70395729
-
-// mddr enable RLAT=2  8
-// 48
-.long 4
-.long 0xe3fd9010
-.long 0x000A0084
-
-// Normal mode 9
-// 49
-.long 4
-.long 0xe3fd9014
-.long 0x00000000
-
-image_len:         .long REDBOOT_IMAGE_SIZE
-.endm
-*/
-
-// This macro represents the initial startup code for the platform
-       .macro  _platform_setup1
-KARO_TX32_SETUP_START:
-/*
- *     ARM1136 init
- *     - invalidate I/D cache/TLB and drain write buffer;
- *     - invalidate L2 cache
- *     - unaligned access
- *     - branch predictions
- */
-       // mrc p15, 0, r0, c1, c1, 0 // Read Secure Configuration Register data. Why doesn't work???
-       // mcr p15, 0, <Rd>, c1, c1, 0 ; Write Secure Configuration Register data
-#ifdef ENABLE_IMPRECISE_ABORT
-       mrs     r1, spsr            // save old spsr
-       mrs     r0, cpsr            // read out the cpsr
-       bic     r0, r0, #0x100      // clear the A bit
-       msr     spsr, r0            // update spsr
-       add     lr, pc, #0x8        // update lr
-       movs    pc, lr              // update cpsr
-       nop
-       nop
-       nop
-       nop
-       msr     spsr, r1            // restore old spsr
-#endif
-       mov     r0, #0
-       mcr     15, 0, r0, c7, c7, 0        /* invalidate I cache and D cache */
-       mcr     15, 0, r0, c8, c7, 0        /* invalidate TLBs */
-       mcr     15, 0, r0, c7, c10, 4       /* Data write barrier */
-
-       /* Also setup the Peripheral Port Remap register inside the core */
-       ldr     r0, ARM_PPMRR       /* start from AIPS 2GB region */
-       mcr     p15, 0, r0, c15, c2, 4
-#if 0
-       /* Reload data from spare area to 0x400 of main area if booting from NAND */
-       ldr     r0, NFC_BASE_W
-       cmp     pc, r0
-       blo     1f
-       cmp     pc, r1
-       bhi     1f
-#ifdef BARKER_CODE_SWAP_LOC
-#if BARKER_CODE_SWAP_LOC != 0x404
-#error FIXME: the following depends on barker code to be 0x404
-#endif
-       // Recover the word at 0x404 offset using the one stored in the spare area 0
-       add     r1, r0, #0x400
-       add     r1, r1, #0x4
-       mov     r3, #0x1000
-       ldr     r2, [r0, r3]
-       str     r2, [r1]
-#endif
-1:
-#endif
-#ifdef L2CC_ENABLED
-       /*** L2 Cache setup/invalidation/disable ***/
-       /* Disable L2 cache first */
-       mov     r0, #L2CC_BASE_ADDR
-       mov     r2, #0
-       str     r2, [r0, #L2_CACHE_CTL_REG]
-       /*
-       * Configure L2 Cache:
-       * - 128k size(16k way)
-       * - 8-way associativity
-       * - 0 ws TAG/VALID/DIRTY
-       * - 4 ws DATA R/W
-       */
-       mov     r2, #0xFF000000
-       add     r2, r2, #0x00F00000
-       ldr     r1, [r0, #L2_CACHE_AUX_CTL_REG]
-       and     r1, r1, r2
-       ldr     r2, L2CACHE_PARAM
-       orr     r1, r1, r2
-       str     r1, [r0, #L2_CACHE_AUX_CTL_REG]
-
-       /* Invalidate L2 */
-       mov     r1, #0xFF
-       str     r1, [r0, #L2_CACHE_INV_WAY_REG]
-L2_loop:
-       /* Poll Invalidate By Way register */
-       ldr     r2, [r0, #L2_CACHE_INV_WAY_REG]
-       ands    r2, r2, #0xFF
-       bne     L2_loop
-       /*** End of L2 operations ***/
-#endif
-
-/*
- * End of ARM1136 init
- */
-init_spba_start:
-       init_spba
-init_aips_start:
-       init_aips
-init_max_start:
-       init_max
-init_m4if_start:
-       init_m4if
-init_iomux_start:
-       init_iomux
-
-       LED_INIT
-       LED_CTRL 1
-
-       // disable wdog
-       ldr     r0, =0x30
-       ldr     r1, WDOG1_BASE_W
-       strh    r0, [r1]
-
-       /* If SDRAM has been setup, bypass clock/WEIM setup */
-       cmp     pc, #SDRAM_BASE_ADDR
-       blo     external_boot_cont
-       cmp     pc, #(SDRAM_BASE_ADDR + SDRAM_SIZE)
-       blo     internal_boot_cont
-
-external_boot_cont:
-init_sdram_start:
-       setup_sdram
-
-internal_boot_cont:
-init_clock_start:
-       init_clock
-
-HWInitialise_skip_SDRAM_setup:
-       ldr     r0, NFC_BASE_W
-       add     r2, r0, #0x1000     // 4K window
-       cmp     pc, r0
-       blo     Normal_Boot_Continue
-       cmp     pc, r2
-       bhs     Normal_Boot_Continue
-
-NAND_Boot_Start:
-       /* Copy image from flash to SDRAM first */
-       ldr     r1, MXC_REDBOOT_ROM_START
-1:
-       ldmia   r0!, {r3-r10}
-       stmia   r1!, {r3-r10}
-       cmp     r0, r2
-       blo     1b
-
-       /* Jump to SDRAM */
-       ldr     r1, CONST_0x0FFF
-       and     r0, pc, r1  /* offset of pc */
-       ldr     r1, MXC_REDBOOT_ROM_START
-       add     r1, r1, #0x8
-       add     pc, r0, r1
-       nop
-
-Now_in_SDRAM:
-NAND_Copy_Main:
-       // Check if x16/2kb page
-       //      ldr r7, CCM_BASE_ADDR_W
-       //      ldr r7, [r7, #0xC]
-       //      ands r7, r7, #(1 << 30)
-       ldr     r0, NFC_BASE_W                  //r0: nfc base. Reloaded after each page copying
-       mov     r1, #TX37_NAND_PAGE_SIZE        //r1: starting flash addr to be copied. Updated constantly
-                               // ???? should be dynamic based on the page size kevin todo
-       add     r2, r0, #TX37_NAND_PAGE_SIZE    //r2: end of 3rd RAM buf. Doesn't change ?? dynamic
-
-       ldr     r11, NFC_IP_BASE_W              //r11: NFC IP register base. Doesn't change
-       add     r12, r0, #0x1E00                //r12: NFC AXI register base. Doesn't change
-       ldr     r14, MXC_REDBOOT_ROM_START
-       add     r13, r14, #REDBOOT_IMAGE_SIZE   //r13: end of SDRAM address for copying. Doesn't change
-       add     r14, r14, r1                    //r14: starting SDRAM address for copying. Updated constantly
-
-       //unlock internal buffer
-       mov     r3, #0xFF000000
-       add     r3, r3, #0x00FF0000
-       str     r3, [r11, #0x4]
-       str     r3, [r11, #0x8]
-       str     r3, [r11, #0xC]
-       str     r3, [r11, #0x10]
-       mov     r3, #0x20000        // BLS = 2 -> Buffer Lock Set = unlocked
-       add     r3, r3, #0x4        // WPC = 4 -> write protection command = unlock blocks
-       str     r3, [r11, #0x0]     // kevin - revist for multiple CS ??
-       mov     r3, #0
-       str     r3, [r11, #0x18]
-
-Nfc_Read_Page:
-       mov     r3, #0x0
-       str     r3, [r12, #0x0]
-       mov     r3, #NAND_LAUNCH_FCMD
-       str     r3, [r12, #0xC]
-       do_wait_op_done
-
-//  start_nfc_addr_ops(ADDRESS_INPUT_READ_PAGE, addr, nflash_dev_info->base_mask);
-       mov     r4, r1
-       mov     r3, #0
-       do_addr_input   //1st addr cycle
-
-       mov     r3, #0
-       do_addr_input   //2nd addr cycle
-
-       mov     r3, r4, lsr #11
-       and     r3, r3, #0xFF
-       mov     r3, r3, lsl #16
-       do_addr_input   //3rd addr cycle
-
-       mov     r3, r4, lsr #19
-       and     r3, r3, #0xFF
-       mov     r3, r3, lsl #16
-       do_addr_input   //4th addr cycle
-
-       mov     r3, #0x30
-       str     r3, [r12, #0x0]
-       mov     r3, #NAND_LAUNCH_FCMD
-       str     r3, [r12, #0xC]
-       do_wait_op_done
-
-// write RBA=0 to NFC_CONFIGURATION1
-       mov     r3, #0
-       str     r3, [r12, #0x4]
-
-//  writel(mode & 0xFF, NAND_LAUNCH_REG)
-       mov     r3, #0x8
-       str     r3, [r12, #0xC]
-       do_wait_op_done
-
-Copy_Good_Blk:
-       @ copy page
-1:
-       ldmia   r0!, {r3-r10}
-       stmia   r14!, {r3-r10}
-       cmp     r0, r2
-       blo     1b
-       cmp     r14, r13
-       bge     NAND_Copy_Main_done
-       add     r1, r1, #TX37_NAND_PAGE_SIZE
-       ldr     r0, NFC_BASE_W
-       b       Nfc_Read_Page
-
-NAND_Copy_Main_done:
-
-Normal_Boot_Continue:
-#ifdef CYG_HAL_STARTUP_ROMRAM  /* enable running from RAM */
-       /* Copy image from flash to SDRAM first */
-       ldr     r0, =0xFFFFF000
-       and     r0, r0, pc
-       ldr     r1, MXC_REDBOOT_ROM_START
-       cmp     r0, r1
-       beq     HWInitialise_skip_SDRAM_copy
-
-       add     r2, r0, #REDBOOT_IMAGE_SIZE
-1:
-       ldmia   r0!, {r3-r10}
-       stmia   r1!, {r3-r10}
-       cmp     r0, r2
-       ble     1b
-
-       /* Jump to SDRAM */
-       ldr     r1, =0xFFFF
-       and     r0, pc, r1      /* offset of pc */
-       ldr     r1, MXC_REDBOOT_ROM_START
-       add     r1, r1, #0x8
-       add     pc, r0, r1
-       nop
-#endif /* CYG_HAL_STARTUP_ROMRAM */
-
-HWInitialise_skip_SDRAM_copy:
-/*
- * Note:
- *  IOMUX/PBC setup is done in C function plf_hardware_init() for simplicity
- */
-STACK_Setup:
-       // Set up a stack [for calling C code]
-       ldr     r1, =__startup_stack
-       ldr     r2, =RAM_BANK0_BASE
-       orr     sp, r1, r2
-
-       // Create MMU tables
-       bl      hal_mmu_init
-
-       // Enable MMU
-       ldr     r2, =10f
-       mrc     MMU_CP, 0, r1, MMU_Control, c0      // get c1 value to r1 first
-       orr     r1, r1, #7                          // enable MMU bit
-       orr     r1, r1, #0x800                      // enable z bit
-       b       9f
-       .align  5
-9:
-       mcr     MMU_CP, 0, r1, MMU_Control, c0
-       mov     pc,r2   /* Change address spaces */
-       nop
-10:
-       .endm                   // _platform_setup1
-
-#else // defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)
-#define PLATFORM_SETUP1
-#endif
-       /* Do nothing */
-       .macro  init_spba
-       .endm  /* init_spba */
-
-       /* AIPS setup - Only setup MPROTx registers. The PACR default values are good.*/
-       .macro init_aips
-       /*
-       * Set all MPROTx to be non-bufferable, trusted for R/W,
-       * not forced to user-mode.
-       */
-       ldr r0, AIPS1_CTRL_BASE_ADDR_W
-       ldr r1, AIPS1_PARAM_W
-       str r1, [r0, #0x00]
-       str r1, [r0, #0x04]
-       ldr r0, AIPS2_CTRL_BASE_ADDR_W
-       str r1, [r0, #0x00]
-       str r1, [r0, #0x04]
-       .endm /* init_aips */
-
-       /* MAX (Multi-Layer AHB Crossbar Switch) setup */
-       .macro init_max
-       ldr r0, MAX_BASE_ADDR_W
-#if 0
-       /* MPR - priority is M4 > M2 > M3 > M5 > M0 > M1 */
-       ldr r1, MAX_PARAM1
-       str r1, [r0, #0x000]    /* for S0 */
-       str r1, [r0, #0x100]    /* for S1 */
-       str r1, [r0, #0x200]    /* for S2 */
-       str r1, [r0, #0x300]    /* for S3 */
-       str r1, [r0, #0x400]    /* for S4 */
-       /* SGPCR - always park on last master */
-       ldr r1, =0x10
-       str r1, [r0, #0x010]    /* for S0 */
-       str r1, [r0, #0x110]    /* for S1 */
-       str r1, [r0, #0x210]    /* for S2 */
-       str r1, [r0, #0x310]    /* for S3 */
-       str r1, [r0, #0x410]    /* for S4 */
-       /* MGPCR - restore default values */
-       ldr r1, =0x0
-       str r1, [r0, #0x800]    /* for M0 */
-       str r1, [r0, #0x900]    /* for M1 */
-       str r1, [r0, #0xA00]    /* for M2 */
-       str r1, [r0, #0xB00]    /* for M3 */
-       str r1, [r0, #0xC00]    /* for M4 */
-       str r1, [r0, #0xD00]    /* for M5 */
-#endif
-       .endm /* init_max */
-
-       .macro  init_clock
-       /*
-       * Clock setup
-       * After this step,
-
-       Module      Freq (MHz)
-       ===========================
-       ARM core    532         ap_clk
-       AHB         133         ahb_clk
-       IP          66.5        ipg_clk
-       EMI         133         ddr_clk
-
-       * All other clocks can be figured out based on this.
-       */
-       /*
-       * Step 1: Switch to step clock
-       */
-       ldr     r0, CCM_BASE_ADDR_W
-       mov     r1, #0x00000104
-       str     r1, [r0, #CLKCTL_CCSR]
-
-       /* Step 2: Setup PLL's */
-       /* Set PLL1 to be 532MHz */
-       ldr r0, PLL1_BASE_ADDR_W
-
-       mov r1, #0x1200
-       add r1, r1, #0x22
-       str r1, [r0, #PLL_DP_CTL]       /* Set DPLL ON (set UPEN bit); BRMO=1 */
-       ldr r1, =0x2
-       str r1, [r0, #PLL_DP_CONFIG]  /* Enable auto-restart AREN bit */
-
-       ldr r1, =0x50
-       str r1, [r0, #PLL_DP_OP]
-       ldr r1, =23
-       str r1, [r0, #PLL_DP_MFD]
-       ldr r1, =13
-       str r1, [r0, #PLL_DP_MFN]
-
-       ldr r1, =0x50
-       str r1, [r0, #PLL_DP_HFS_OP]
-       ldr r1, =23
-       str r1, [r0, #PLL_DP_HFS_MFD]
-       ldr r1, =13
-       str r1, [r0, #PLL_DP_HFS_MFN]
-
-       /* Now restart PLL 1 */
-       ldr r1, PLL_VAL_0x1232
-       str r1, [r0, #PLL_DP_CTL]
-1:
-       ldr r1, [r0, #PLL_DP_CTL]
-       ands r1, r1, #0x1
-       beq 1b
-
-       /*
-       * Step 2: Setup PLL2 to 665 MHz.
-       */
-       ldr r0, PLL2_BASE_ADDR_W
-
-       ldr r1, =0x1200
-       add r1, r1, #0x22
-       str r1, [r0, #PLL_DP_CTL]       /* Set DPLL ON (set UPEN bit); BRMO=1 */
-       ldr r1, =0x2
-       str r1, [r0, #PLL_DP_CONFIG]  /* Enable auto-restart AREN bit */
-
-       ldr r1, =0x60
-       str r1, [r0, #PLL_DP_OP]
-       ldr r1, =95
-       str r1, [r0, #PLL_DP_MFD]
-       ldr r1, =89
-       str r1, [r0, #PLL_DP_MFN]
-
-       ldr r1, =0x60
-       str r1, [r0, #PLL_DP_HFS_OP]
-       ldr r1, =95
-       str r1, [r0, #PLL_DP_HFS_MFD]
-       ldr r1, =89
-       str r1, [r0, #PLL_DP_HFS_MFN]
-
-       /* Now restart PLL 2 */
-       ldr r1, PLL_VAL_0x1232
-       str r1, [r0, #PLL_DP_CTL]
-1:
-       ldr r1, [r0, #PLL_DP_CTL]
-       ands r1, r1, #0x1
-       beq 1b
-
-       /*
-       * Set PLL 3 to 216MHz
-       */
-       ldr r0, PLL3_BASE_ADDR_W
-
-       ldr r1, PLL_VAL_0x222
-       str r1, [r0, #PLL_DP_CTL]       /* Set DPLL ON (set UPEN bit); BRMO=1 */
-       ldr r1, =0x2
-       str r1, [r0, #PLL_DP_CONFIG]  /* Enable auto-restart AREN bit */
-
-       ldr r1, =0x92
-       str r1, [r0, #PLL_DP_OP]
-       ldr r1, =0x0
-       str r1, [r0, #PLL_DP_MFD]
-       ldr r1, =0x0
-       str r1, [r0, #PLL_DP_MFN]
-
-       ldr r1, =0x91
-       str r1, [r0, #PLL_DP_HFS_OP]
-       ldr r1, =0x0
-       str r1, [r0, #PLL_DP_HFS_MFD]
-       ldr r1, =0x0
-       str r1, [r0, #PLL_DP_HFS_MFN]
-
-       /* Now restart PLL 3 */
-       ldr r1, PLL_VAL_0x232
-       str r1, [r0, #PLL_DP_CTL]
-
-1:
-       ldr r1, [r0, #PLL_DP_CTL]
-       ands r1, r1, #0x1
-       beq 1b
-       /* End of PLL 3 setup */
-
-       /* Setup the ARM platform clock dividers */
-       ldr r0, PLATFORM_BASE_ADDR_W
-       ldr r1, PLATFORM_CLOCK_DIV_W
-       str r1, [r0, #0x18]
-
-       /*
-       * Step 3: switching to PLL 1 and restore default register values.
-       */
-       ldr r0, CCM_BASE_ADDR_W
-       mov r1, #0x00000100
-       str r1, [r0, #CLKCTL_CCSR]
-
-       mov r1, #0x000A0000
-       add r1, r1, #0x00000F0
-       str r1, [r0, #CLKCTL_CCOSR]
-       /* Use 133MHz for DDR clock */
-       mov r1, #0x1C00
-       str r1, [r0, #CLKCTL_CAMR]
-       /* Use PLL 2 for UART's, get 66.5MHz from it */
-       ldr r1, CCM_VAL_0xA5A6A020
-       str r1, [r0, #CLKCTL_CSCMR1]
-       ldr r1, CCM_VAL_0x01450B21
-       str r1, [r0, #CLKCTL_CSCDR1]
-
-       mov r1, #0x1C
-       str r1, [r0, #CLKCTL_CBCDR7]
-       mov r1, #1
-       str r1, [r0, #4]
-       .endm /* init_clock */
-
-       /* M4IF setup */
-       .macro init_m4if
-       /* Configure M4IF registers, VPU and IPU given higher priority (=0x4)
-       IPU accesses with ID=0x1 given highest priority (=0xA) */
-       ldr r1, M4IF_BASE_W
-       ldr r0, M4IF_0x00000a01
-       str r0, [r1, #M4IF_FIDBP]
-
-       ldr r0, M4IF_0x00000404
-       str r0, [r1, #M4IF_FBPM0]
-       .endm /* init_m4if */
-
-       .macro setup_sdram
-       ldr r0, ESDCTL_BASE_W
-       /* Set CSD0 */
-       mov     r1, #0x80000000
-       str     r1, [r0, #ESDCTL_ESDCTL0]
-1:
-       @ wait for SDRAM ready
-       ldr     r2, [r0, #ESDCTL_ESDMISC]
-       and     r2, r2, r1
-       beq     1b
-
-       /* Precharge command */
-       ldr     r1, SDRAM_CMD_PRECHG
-       str     r1, [r0, #ESDCTL_ESDSCR]
-
-       /* 2 refresh commands */
-       ldr     r1, SDRAM_CMD_SLFRFSH
-       .rept   2
-       str     r1, [r0, #ESDCTL_ESDSCR]
-       .endr
-
-       /* LMR with CAS Latency=3 and BurstLength=3->8words */
-       ldr     r1, SDRAM_CMD_MODEREG
-       str     r1, [r0, #ESDCTL_ESDSCR]
-
-       /* 13 ROW, 9 COL, 32Bit, SREF=4 */
-       ldr     r1, SDRAM_ESDCTL0_VAL
-       str     r1, [r0, #ESDCTL_ESDCTL0]
-
-       /* Timing parameters */
-       ldr     r1, SDRAM_ESDCFG0_VAL
-       str     r1, [r0, #ESDCTL_ESDCFG0]
-
-       /* MDDR enable, RALAT=1 */
-       ldr     r1, SDRAM_ESDMISC_VAL
-       str     r1, [r0, #ESDCTL_ESDMISC]
-
-       /* Normal mode */
-       mov     r1, #0x00000000
-       str     r1, [r0, #ESDCTL_ESDSCR]
-       .endm
-
-       .macro do_wait_op_done
-1:
-       ldr     r3, [r11, #0x18]
-       ands    r3, r3, #NFC_IPC_INT
-       beq     1b
-       mov     r3, #0x0
-       str     r3, [r11, #0x18]
-       .endm   // do_wait_op_done
-
-       .macro do_addr_input
-       str     r3, [r12, #0x0]
-       mov     r3, #NAND_LAUNCH_FADD
-       str     r3, [r12, #0xC]
-       do_wait_op_done
-       .endm   // do_addr_input
-
-       /* To support 133MHz DDR */
-       .macro  init_iomux
-       ldr     r0, IOMUXC_BASE_ADDR_W
-
-       // DDR signal setup for D16-D31 and drive strength
-       ldr     r8, =0x1
-       add     r1, r0, #8
-       add     r2, r0, #0x4C
-1:
-       stmia r1!, {r8}
-       cmp     r1, r2
-       bls     1b
-
-       str     r8, [r0, #0x5C]
-       str     r8, [r0, #0x60]
-
-       add     r2, r0, #0x200
-       mov     r8, #0x2C4
-       str     r8, [r2, #0xBC]
-       str     r8, [r2, #0xC0]
-
-       ldr     r8, =0x2
-       str     r8, [r0, #0x4A8]
-       str     r8, [r0, #0x4B0]
-       str     r8, [r0, #0x4B4]
-       str     r8, [r0, #0x4E0]
-       str     r8, [r0, #0x4FC]
-       str     r8, [r0, #0x504]
-       str     r8, [r0, #0x48C]
-       str     r8, [r0, #0x49C]
-
-       add     r1, r0, #0x278
-       add     r2, r0, #0x29C
-2:
-       stmia   r1!, {r8}
-       cmp     r1, r2
-       bls     2b
-       .endm /* init_iomux */
-
-#define PLATFORM_VECTORS       _platform_vectors
-       .macro  _platform_vectors
-       .globl  _board_BCR, _board_CFG
-_board_BCR:            .long   0       // Board Control register shadow
-_board_CFG:            .long   0       // Board Configuration (read at RESET)
-       .endm
-
-KaRo_MSG:              .asciz  "KARO TX37 " __DATE__ " " __TIME__ "\n"
-ARM_PPMRR:             .word   0x80000016
-L2CACHE_PARAM:         .word   0x0003001B
-WDOG1_BASE_W:          .word   WDOG1_BASE_ADDR
-IIM_SREV_REG_VAL:      .word   IIM_BASE_ADDR + IIM_SREV_OFF
-AIPS1_CTRL_BASE_ADDR_W: .word  AIPS1_CTRL_BASE_ADDR
-AIPS2_CTRL_BASE_ADDR_W: .word  AIPS2_CTRL_BASE_ADDR
-AIPS1_PARAM_W:         .word   0x77777777
-MAX_BASE_ADDR_W:       .word   MAX_BASE_ADDR
-MAX_PARAM1:            .word   0x00302154
-ESDCTL_BASE_W:         .word   ESDCTL_BASE
-M4IF_BASE_W:           .word   M4IF_BASE
-M4IF_0x00000a01:       .word   0x00000a01
-M4IF_0x00000404:       .word   0x00000404
-NFC_BASE_W:            .word   NFC_BASE
-NFC_IP_BASE_W:         .word   NFC_IP_BASE
-SDRAM_CMD_PRECHG:      .word   0x04008008
-SDRAM_CMD_SLFRFSH:     .word   0x00008010
-SDRAM_CMD_MODEREG:     .word   0x00338018
-SDRAM_ESDCTL0_VAL:     .word   0xB2120000
-SDRAM_0x899F6BBA:      .word   0x899F6BBA
-SDRAM_0x000A1104:      .word   0x000A1104
-SDRAM_ESDCFG0_VAL:     .word   0x70395729
-SDRAM_ESDMISC_VAL:     .word   0x000A0084
-IOMUXC_BASE_ADDR_W:    .word   IOMUXC_BASE_ADDR
-GPIO2_BASE_ADDR_W:     .word   GPIO2_BASE_ADDR
-MXC_REDBOOT_ROM_START: .word   SDRAM_BASE_ADDR + SDRAM_SIZE - REDBOOT_OFFSET
-SDRAM_ADDR_MASK:       .word   0xfff00000
-CONST_0x0FFF:          .word   0x0FFF
-CCM_BASE_ADDR_W:       .word   CCM_BASE_ADDR
-PLATFORM_BASE_ADDR_W:  .word   PLATFORM_BASE_ADDR
-PLATFORM_CLOCK_DIV_W:  .word   0x00077713
-CCM_VAL_0x01450B21:    .word   0x01450B21
-CCM_VAL_0xA5A6A020:    .word   0xA5A6A020
-PLL_VAL_0x222:         .word   0x222
-PLL_VAL_0x232:         .word   0x232
-PLL1_BASE_ADDR_W:      .word   PLL1_BASE_ADDR
-PLL2_BASE_ADDR_W:      .word   PLL2_BASE_ADDR
-PLL3_BASE_ADDR_W:      .word   PLL3_BASE_ADDR
-PLL_VAL_0x1232:                .word   0x1232
-
-/*--------------------------------------------------------------------------*/
-/* end of hal_platform_setup.h                                             */
-#endif /* CYGONCE_HAL_PLATFORM_SETUP_H */
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/karo_tx37.h b/packages/hal/arm/mx37/stk5/v1_0/include/karo_tx37.h
deleted file mode 100644 (file)
index 17f5243..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-#ifndef CYGONCE_KARO_TX37_H
-#define CYGONCE_KARO_TX37_H
-
-//=============================================================================
-//
-//      Platform specific support (register layout, etc)
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//===========================================================================
-
-#include <cyg/hal/hal_soc.h>        // Hardware definitions
-
-#include CYGHWR_MEMORY_LAYOUT_H
-
-#define SZ_1K                  0x00000400
-#define SZ_2K                  0x00000800
-#define SZ_4K                  0x00001000
-#define SZ_8K                  0x00002000
-#define SZ_16K                 0x00004000
-#define SZ_32K                 0x00008000
-#define SZ_64K                 0x00010000
-#define SZ_128K                0x00020000
-#define SZ_256K                0x00040000
-#define SZ_512K                0x00080000
-#define SZ_1M                  0x00100000
-#define SZ_2M                  0x00200000
-#define SZ_4M                  0x00400000
-#define SZ_8M                  0x00800000
-#define SZ_16M                 0x01000000
-#define SZ_32M                 0x02000000
-#define SZ_64M                 0x04000000
-#define SZ_128M                0x08000000
-#define SZ_256M                0x10000000
-#define SZ_512M                0x20000000
-#define SZ_1G                  0x40000000
-
-
-#define RAM_BANK0_BASE         SDRAM_BASE_ADDR
-#define TX37_SDRAM_SIZE                SDRAM_SIZE
-
-#define GPIO_DR                        0x00
-
-#define STK5_LED_MASK          (1 << 19)
-#define STK5_LED_REG_ADDR      (GPIO2_BASE_ADDR + GPIO_DR)
-
-#define LED_MAX_NUM            1
-
-#define LED_IS_ON(n) ({                                        \
-       CYG_WORD32 __val;                               \
-       HAL_READ_UINT32(STK5_LED_REG_ADDR, __val);      \
-       __val & STK5_LED_MASK;                          \
-})
-
-#define TURN_LED_ON(n)                                 \
-    CYG_MACRO_START                                    \
-       CYG_WORD32 __val;                               \
-       HAL_READ_UINT32(STK5_LED_REG_ADDR, __val);      \
-       __val |= STK5_LED_MASK;                         \
-       HAL_WRITE_UINT32(STK5_LED_REG_ADDR, __val);     \
-    CYG_MACRO_END
-
-#define TURN_LED_OFF(n)                                        \
-    CYG_MACRO_START                                    \
-       CYG_WORD32 __val;                               \
-       HAL_READ_UINT32(STK5_LED_REG_ADDR, __val);      \
-       __val &= ~STK5_LED_MASK;                        \
-       HAL_WRITE_UINT32(STK5_LED_REG_ADDR, __val);     \
-    CYG_MACRO_END
-
-#define BOARD_DEBUG_LED(n)                     \
-    CYG_MACRO_START                            \
-       if (n >= 0 && n < LED_MAX_NUM) {        \
-               if (LED_IS_ON(n))               \
-                       TURN_LED_OFF(n);        \
-               else                            \
-                       TURN_LED_ON(n);         \
-       }                                       \
-    CYG_MACRO_END
-
-#define BLINK_LED(l, n)                                \
-    CYG_MACRO_START                            \
-       int _i;                                 \
-       for (_i = 0; _i < (n); _i++) {          \
-               BOARD_DEBUG_LED(l);             \
-               HAL_DELAY_US(200000);           \
-               BOARD_DEBUG_LED(l);             \
-               HAL_DELAY_US(300000);           \
-       }                                       \
-       HAL_DELAY_US(1000000);                  \
-    CYG_MACRO_END
-
-#endif /* CYGONCE_KARO_TX37_H */
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/lo_mlt_arm_board_romram.h b/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/lo_mlt_arm_board_romram.h
deleted file mode 100644 (file)
index 2893fda..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// eCos memory layout - Fri Oct 20 05:56:55 2000
-
-// This is a generated file - do not edit
-#if !defined(__LINKER_SCRIPT__) && !defined(__ASSEMBLER__)
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-#endif
-
-//#define REDBOOT_BOTTOM
-
-#define REDBOOT_IMAGE_SIZE     0x00040000
-#define REDBOOT_OFFSET         0x00100000
-#define MODULE_SDRAM_SIZE              0x04000000
-
-#ifdef REDBOOT_BOTTOM
-#define CYGMEM_REGION_ram      (0xA0000000 + REDBOOT_OFFSET)
-#define CYGMEM_REGION_rom      (0xA0000000)
-#else
-#define CYGMEM_REGION_ram      (0xA0000000)
-#define CYGMEM_REGION_rom      (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - REDBOOT_OFFSET)
-#endif
-
-//#define CYGMEM_REGION_ram    (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (MODULE_SDRAM_SIZE)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-//#define CYGMEM_REGION_rom    (0xA1F00000)
-#define CYGMEM_REGION_rom_SIZE REDBOOT_OFFSET
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#if !defined(__LINKER_SCRIPT__) && !defined(__ASSEMBLER__)
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_rom - (size_t) CYG_LABEL_NAME (__heap1))
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/lo_mlt_arm_board_romram.ldi b/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/lo_mlt_arm_board_romram.ldi
deleted file mode 100644 (file)
index 2230420..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-// eCos memory layout - Fri Oct 20 05:56:55 2000
-
-// This is a generated file - do not edit
-
-#include <cyg/infra/cyg_type.inc>
-#define __LINKER_SCRIPT__
-#include <pkgconf/mlt_arm_board_romram.h>
-
-MEMORY
-{
-    ram : ORIGIN = CYGMEM_REGION_ram, LENGTH = CYGMEM_REGION_ram_SIZE
-    rom : ORIGIN = CYGMEM_REGION_rom, LENGTH = CYGMEM_REGION_rom_SIZE
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (rom, CYGMEM_REGION_rom, LMA_EQ_VMA)
-    SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (ram, CYGMEM_REGION_ram + 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, CYGMEM_REGION_ram + 0x8000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_board_romram.mlt b/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_board_romram.mlt
deleted file mode 100644 (file)
index ec24b3b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-version 0
-region ram 0 7F00000 0 !
-region rom 43F00000 100000 1 !
-section fixed_vectors 0 1 0 1 1 0 1 0 20 20 !
-section data 0 1 1 1 1 1 0 0 8000 bss !
-section bss 0 4 0 1 0 1 0 1 heap1 heap1 !
-section heap1 0 8 0 0 0 0 0 0 !
-section rom_vectors 0 1 0 1 1 1 1 1 43F00000 43F00000 text text !
-section text 0 4 0 1 0 1 0 1 fini fini !
-section fini 0 4 0 1 0 1 0 1 rodata rodata !
-section rodata 0 4 0 1 0 1 0 1 rodata1 rodata1 !
-section rodata1 0 4 0 1 0 1 0 1 fixup fixup !
-section fixup 0 4 0 1 0 1 0 1 gcc_except_table gcc_except_table !
-section gcc_except_table 0 4 0 1 0 0 0 1 data !
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_tx37_romram.h b/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_tx37_romram.h
deleted file mode 100644 (file)
index ab7d41e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-// eCos memory layout - Fri Oct 20 05:56:55 2000
-
-// This is a generated file - do not edit
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-#endif
-#include <cyg/hal/hal_soc.h>        // Hardware definitions
-
-#define SDRAM_BASE_ADDR                CSD0_BASE_ADDR
-#define SDRAM_SIZE             0x04000000
-
-#define REDBOOT_IMAGE_SIZE     0x00040000
-#define REDBOOT_OFFSET         0x00100000
-
-#define CYGMEM_REGION_ram      SDRAM_BASE_ADDR
-#define CYGMEM_REGION_ram_SIZE (SDRAM_SIZE - REDBOOT_OFFSET)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-
-#define CYGMEM_REGION_rom      (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE)
-#define CYGMEM_REGION_rom_SIZE REDBOOT_OFFSET
-#define CYGMEM_REGION_rom_ATTR CYGMEM_REGION_ATTR_R
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_rom - (size_t)CYG_LABEL_NAME(__heap1))
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi b/packages/hal/arm/mx37/stk5/v1_0/include/pkgconf/mlt_arm_tx37_romram.ldi
deleted file mode 100644 (file)
index d3a170e..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-// eCos memory layout - Fri Oct 20 05:56:55 2000
-
-// This is a generated file - do not edit
-
-#include <cyg/infra/cyg_type.inc>
-#define __ASSEMBLER__
-#include <pkgconf/mlt_arm_tx37_romram.h>
-
-MEMORY
-{
-    ram : ORIGIN = CYGMEM_REGION_ram, LENGTH = CYGMEM_REGION_ram_SIZE
-    rom : ORIGIN = CYGMEM_REGION_rom, LENGTH = CYGMEM_REGION_rom_SIZE
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (rom, CYGMEM_REGION_rom, LMA_EQ_VMA)
-    SECTION_text (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_extab (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_exidx (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (ram, CYGMEM_REGION_ram + 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, CYGMEM_REGION_ram + 0x8000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/plf_io.h b/packages/hal/arm/mx37/stk5/v1_0/include/plf_io.h
deleted file mode 100644 (file)
index acdacd9..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef CYGONCE_HAL_ARM_BOARD_PLF_IO_H
-#define CYGONCE_HAL_ARM_BOARD_PLF_IO_H
-
-//=============================================================================
-//
-//      plf_io.h
-//
-//      Platform specific support (register layout, etc)
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-
-#include <cyg/hal/karo_tx37.h>
-#include <cyg/hal/hal_soc.h>
-
-#define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_)                                                           \
-    CYG_MACRO_START                                                                                  \
-    {                                                                                                \
-      extern unsigned int system_rev;                                                                \
-             /* Next ATAG_MEM. */                                                                    \
-         _p_->hdr.size = (sizeof(struct tag_mem32) + sizeof(struct tag_header))/sizeof(long);        \
-         _p_->hdr.tag = ATAG_MEM;                                                                    \
-         /* Round up so there's only one bit set in the memory size.                                 \
-         * Don't double it if it's already a power of two, though.                                   \
-         */                                                                                          \
-         _p_->u.mem.size  = 1<<hal_msbindex(CYGMEM_REGION_ram_SIZE);                                 \
-         if (_p_->u.mem.size < CYGMEM_REGION_ram_SIZE)                                               \
-                 _p_->u.mem.size <<= 1;                                                              \
-         _p_->u.mem.start = CYGARC_PHYSICAL_ADDRESS(CYGMEM_REGION_ram);                              \
-         _p_ = (struct tag *)((long *)_p_ + _p_->hdr.size);                                          \
-         _p_->hdr.size = ((sizeof(struct tag_revision)) + sizeof(struct tag_header))/sizeof(long);   \
-         _p_->hdr.tag = ATAG_REVISION;                                                               \
-         _p_->u.revision.rev = system_rev;                                                           \
-     }                                                                                               \
-    CYG_MACRO_END
-
-#endif // CYGONCE_HAL_ARM_BOARD_PLF_IO_H
diff --git a/packages/hal/arm/mx37/stk5/v1_0/include/plf_mmap.h b/packages/hal/arm/mx37/stk5/v1_0/include/plf_mmap.h
deleted file mode 100644 (file)
index 087612b..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-#ifndef CYGONCE_HAL_BOARD_PLATFORM_PLF_MMAP_H
-#define CYGONCE_HAL_BOARD_PLATFORM_PLF_MMAP_H
-//=============================================================================
-//
-//      plf_mmap.h
-//
-//      Platform specific memory map support
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//===========================================================================
-
-#include <cyg/hal/hal_misc.h>
-
-// Get the pagesize for a particular virtual address:
-
-// This does not depend on the vaddr.
-#define HAL_MM_PAGESIZE(vaddr, pagesize) CYG_MACRO_START       \
-        (pagesize) = SZ_1M;                                    \
-CYG_MACRO_END
-
-// Get the physical address from a virtual address:
-
-#define HAL_VIRT_TO_PHYS_ADDRESS( vaddr, paddr ) CYG_MACRO_START       \
-        cyg_uint32 _v_ = (cyg_uint32)(vaddr);                          \
-        if ( _v_ < 128 * SZ_1M )          /* SDRAM */                  \
-                _v_ += SDRAM_BASE_ADDR;                                        \
-        else                             /* Rest of it */              \
-                /* no change */ ;                                      \
-                (paddr) = _v_;                                         \
-CYG_MACRO_END
-
-//---------------------------------------------------------------------------
-#endif // CYGONCE_HAL_BOARD_PLATFORM_PLF_MMAP_H
diff --git a/packages/hal/arm/mx37/stk5/v1_0/misc/redboot_ROMRAM.ecm b/packages/hal/arm/mx37/stk5/v1_0/misc/redboot_ROMRAM.ecm
deleted file mode 100644 (file)
index a1239d6..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "RedBoot configuration for Ka-Ro TX37 processor module" ;
-
-    # These fields should not be modified.
-    hardware    tx37karo ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_ARM current ;
-    package -hardware CYGPKG_HAL_ARM_MX37 current ;
-    package -hardware CYGPKG_HAL_ARM_MX37_STK5 v1_0 ;
-    package -template CYGPKG_HAL current ;
-    package -template CYGPKG_INFRA current ;
-    package -template CYGPKG_REDBOOT current ;
-    package -template CYGPKG_ISOINFRA current ;
-    package -template CYGPKG_LIBC_STRING current ;
-    package -template CYGPKG_CRC current ;
-    package -hardware CYGPKG_IO_ETH_DRIVERS current ;
-    package -hardware CYGPKG_DEVS_ETH_ARM_TX27 v1_0 ;
-    package -hardware CYGPKG_DEVS_ETH_FEC current ;
-    package -hardware CYGPKG_COMPRESS_ZLIB current ;
-    package -hardware CYGPKG_IO_FLASH current ;
-    package -hardware CYGPKG_DEVS_FLASH_ONMXC current ;
-    package -hardware CYGPKG_IO_I2C current ;
-    package -hardware CYGPKG_DEVICES_WALLCLOCK_DALLAS_DS1307 current ;
-    package CYGPKG_MEMALLOC current ;
-    package CYGPKG_DEVS_ETH_PHY current ;
-    package CYGPKG_LIBC_I18N current ;
-};
-
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    inferred_value 0
-};
-
-cdl_component CYGDBG_IO_ETH_DRIVERS_DEBUG {
-    user_value 1
-};
-
-cdl_option CYGDBG_IO_ETH_DRIVERS_DEBUG_VERBOSITY {
-    user_value 0
-};
-
-cdl_component CYGPKG_IO_ETH_DRIVERS_STAND_ALONE {
-    user_value 1
-};
-
-cdl_option CYGHWR_DEVS_ETH_PHY_LAN8700 {
-    user_value 1
-};
-
-cdl_option CYGIMP_HAL_COMMON_INTERRUPTS_USE_INTERRUPT_STACK {
-    inferred_value 0
-};
-
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    user_value 4096
-};
-
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    inferred_value 1
-};
-
-cdl_component CYG_HAL_STARTUP {
-    user_value ROMRAM
-};
-
-cdl_component CYGSEM_REDBOOT_ELF {
-    user_value 1
-};
-
-cdl_component CYGBLD_BUILD_REDBOOT {
-    user_value 1
-};
-
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_GDB {
-    user_value 0
-};
-
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    user_value 1 "Ka-Ro [exec date -I]"
-};
-
-cdl_option CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_MXCUSB {
-    user_value 0
-};
-
-cdl_option CYGBLD_BUILD_REDBOOT_WITH_EXEC {
-    user_value 1
-};
-
-cdl_option CYGDBG_REDBOOT_TICK_GRANULARITY {
-    user_value 10
-};
-
-cdl_option CYGDBG_REDBOOT_NET_DEBUG {
-    user_value 0
-};
-
-cdl_option CYGPKG_REDBOOT_ANY_CONSOLE {
-    user_value 1
-};
-
-cdl_option CYGPKG_REDBOOT_MAX_CMD_LINE {
-    user_value 1024
-};
-
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    inferred_value 0x00040000
-};
-
-cdl_option CYGDAT_REDBOOT_DEFAULT_BOOT_SCRIPT {
-    user_value 0 0
-};
-
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_TIMEOUT_RESOLUTION {
-    user_value 10
-};
-
-cdl_option CYGNUM_REDBOOT_BOOT_SCRIPT_DEFAULT_TIMEOUT {
-    user_value 100
-};
-
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS {
-    inferred_value 0xA0108000
-};
-
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT {
-    inferred_value 0x40008000
-};
-
-cdl_option CYGHWR_REDBOOT_ARM_LINUX_TAGS_ADDRESS {
-    user_value 0xA0001000
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    user_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    user_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    user_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    user_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    user_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    user_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    user_value 0 0
-};
-
-cdl_option CYGSEM_IO_FLASH_READ_INDIRECT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_IO_FLASH_VERIFY_PROGRAM {
-    inferred_value 0
-};
-
-cdl_component CYGPRI_REDBOOT_ZLIB_FLASH_FORCE {
-    inferred_value 1
-};
-
-cdl_option CYGNUM_REDBOOT_FIS_DIRECTORY_BLOCK {
-    inferred_value 2
-};
-
-cdl_option CYGDAT_REDBOOT_CUSTOM_VERSION {
-    user_value 1 "Ka-Ro [exec date -I]"
-};
-
-cdl_option CYGHWR_DEVS_FLASH_MXC_NAND {
-    inferred_value 1
-};
-
diff --git a/packages/hal/arm/mx37/stk5/v1_0/src/redboot_cmds.c b/packages/hal/arm/mx37/stk5/v1_0/src/redboot_cmds.c
deleted file mode 100644 (file)
index 844cff6..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-//==========================================================================
-//
-//     redboot_cmds.c
-//
-//     Board [platform] specific RedBoot commands
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-#include <redboot.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-#include <cyg/hal/plf_mmap.h>
-#include <cyg/hal/karo_tx37.h>         // Platform specific hardware definitions
-
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-#include <flash_config.h>
-
-#if (REDBOOT_IMAGE_SIZE != CYGBLD_REDBOOT_MIN_IMAGE_SIZE)
-#error REDBOOT_IMAGE_SIZE != CYGBLD_REDBOOT_MIN_IMAGE_SIZE
-#endif
-
-#endif //CYGSEM_REDBOOT_FLASH_CONFIG
-
-char HAL_PLATFORM_EXTRA[20] = "PASS x.x [x32 DDR]";
-static void runImg(int argc, char *argv[]);
-static void do_mem(int argc, char *argv[]);
-
-RedBoot_cmd("mem",
-           "Set a memory location",
-           "[-h|-b] [-n] [-a <address>] <data>",
-           do_mem
-    );
-
-RedBoot_cmd("run",
-           "Run an image at a location with MMU off",
-           "[<virtual addr>]",
-           runImg
-          );
-
-static void do_mem(int argc, char *argv[])
-{
-       struct option_info opts[4];
-       bool mem_half_word, mem_byte;
-       bool no_verify;
-       bool addr_set;
-       unsigned long address;
-       unsigned int value;
-       int ret;
-       init_opts(&opts[0], 'b', false, OPTION_ARG_TYPE_FLG,
-                 &mem_byte, NULL, "write a byte");
-       init_opts(&opts[1], 'h', false, OPTION_ARG_TYPE_FLG,
-                 &mem_half_word, NULL, "write a half-word");
-       init_opts(&opts[2], 'a', true, OPTION_ARG_TYPE_NUM,
-                 &address, &addr_set, "address to write to");
-       init_opts(&opts[3], 'n', false, OPTION_ARG_TYPE_FLG,
-                 &no_verify, NULL, "noverify");
-
-       ret = scan_opts(argc, argv, 1, opts, sizeof(opts) / sizeof(opts[0]),
-                       &value, OPTION_ARG_TYPE_NUM, "value to be written");
-       if (ret == 0) {
-               return;
-       }
-       if (!addr_set) {
-               diag_printf("** Error: '-a <address>' must be specified\n");
-               return;
-       }
-       if (ret == argc + 1) {
-               diag_printf("** Error: non-option argument '<value>' must be specified\n");
-               return;
-       }
-       if (mem_byte && mem_half_word) {
-               diag_printf("** Error: Should not specify both byte and half-word access\n");
-       } else if (mem_byte) {
-               value &= 0xff;
-               *(volatile cyg_uint8*)address = (cyg_uint8)value;
-               if (no_verify) {
-                       diag_printf("  Set 0x%08lX to 0x%02X\n", address, value);
-               } else {
-                       diag_printf("  Set 0x%08lX to 0x%02X (result 0x%02X)\n",
-                                   address, value, (int)*(cyg_uint8*)address );
-               }
-       } else if (mem_half_word) {
-               if (address & 1) {
-                       diag_printf("** Error: address for half-word access must be half-word aligned\n");
-               } else {
-                       value &= 0xffff;
-                       *(volatile cyg_uint16*)address = (cyg_uint16)value;
-                       if (no_verify) {
-                               diag_printf("  Set 0x%08lX to 0x%04X\n", address, value);
-                       } else {
-                               diag_printf("  Set 0x%08lX to 0x%04X (result 0x%04X)\n",
-                                           address, value, (int)*(cyg_uint16*)address);
-                       }
-               }
-       } else {
-               if (address & 3) {
-                       diag_printf("** Error: address for word access must be word aligned\n");
-               } else {
-                       *(volatile cyg_uint32*)address = (cyg_uint32)value;
-                       if (no_verify) {
-                               diag_printf("  Set 0x%08lX to 0x%08X\n", address, value);
-                       } else {
-                               diag_printf("  Set 0x%08lX to 0x%08X (result 0x%08X)\n",
-                                           address, value, (int)*(cyg_uint32*)address);
-                       }
-               }
-       }
-}
-
-void launchRunImg(unsigned long addr)
-{
-    asm volatile ("mov r12, r0;");
-    HAL_CLEAN_INVALIDATE_L2();
-    HAL_DISABLE_L2();
-    HAL_MMU_OFF();
-    asm volatile (
-                 "mov r0, #0;"
-                 "mov r1, r12;"
-                "mov r11, #0;"
-                "mov r12, #0;"
-                "mrs r10, cpsr;"
-                "bic r10, r10, #0xF0000000;"
-                "msr cpsr_f, r10;"
-                "mov pc, r1"
-                );
-}
-
-extern unsigned long entry_address;
-
-static void runImg(int argc,char *argv[])
-{
-       unsigned int virt_addr, phys_addr;
-
-       // Default physical entry point for Symbian
-       if (entry_address == 0xFFFFFFFF)
-               virt_addr = 0x800000;
-       else
-               virt_addr = entry_address;
-
-       if (!scan_opts(argc, argv, 1, 0, 0, &virt_addr,
-                      OPTION_ARG_TYPE_NUM, "virtual address"))
-               return;
-
-       if (entry_address != 0xFFFFFFFF)
-               diag_printf("load entry_address=0x%lx\n", entry_address);
-       HAL_VIRT_TO_PHYS_ADDRESS(virt_addr, phys_addr);
-
-       diag_printf("virt_addr=0x%x\n",virt_addr);
-       diag_printf("phys_addr=0x%x\n",phys_addr);
-
-       launchRunImg(phys_addr);
-}
-
-#if defined(CYGSEM_REDBOOT_FLASH_CONFIG) && defined(CYG_HAL_STARTUP_ROMRAM)
-
-RedBoot_cmd("romupdate",
-           "Update Redboot with currently running image",
-           "",
-           romupdate
-          );
-
-extern int flash_program(void *_addr, void *_data, int len, void **err_addr);
-extern int flash_erase(void *addr, int len, void **err_addr);
-extern char *flash_errmsg(int err);
-
-#ifdef CYGPKG_IO_FLASH
-void romupdate(int argc, char *argv[])
-{
-       void *err_addr, *base_addr;
-       int stat;
-
-       base_addr = (void*)MXC_NAND_BASE_DUMMY;
-       diag_printf("Updating RedBoot in NAND flash\n");
-
-       // Erase area to be programmed
-       if ((stat = flash_erase(base_addr, CYGBLD_REDBOOT_MIN_IMAGE_SIZE, &err_addr)) != 0) {
-               diag_printf("Can't erase region at %p: %s\n",
-                           err_addr, flash_errmsg(stat));
-               return;
-       }
-       // Now program it
-       if ((stat = flash_program(base_addr, ram_end - CYGMEM_REGION_rom_SIZE,
-                                 CYGBLD_REDBOOT_MIN_IMAGE_SIZE, &err_addr)) != 0) {
-               diag_printf("Can't program region at %p: %s\n",
-                           err_addr, flash_errmsg(stat));
-       }
-}
-#endif //CYGPKG_IO_FLASH
-#endif /* CYG_HAL_STARTUP_ROMRAM */
-
-static void setcorevol(int argc, char *argv[]);
-
-RedBoot_cmd("setcorevol",
-           "Set the core voltage. Setting is not checked against current core frequency.",
-           "[1.2 | 1.25 | 1.3 | 1.35 | 1.4 | 1.45 | 1.5 | 1.55 | 1.6]",
-           setcorevol
-          );
-
-/*
- * This function communicates with LP3972 to set the core voltage according to
- * the argument
- */
-// LW: revisit use I2C routines for LP3972
-unsigned int setCoreVoltage(unsigned int coreVol)
-{
-       /* Set the core voltage */
-       diag_printf("%s: Not yet implemented\n", __FUNCTION__);
-       return 0;
-}
-
-static void setcorevol(int argc, char *argv[])
-{
-       unsigned int coreVol;
-
-       /* check if the number of args is OK. 1 arg expected. argc = 2 */
-       if (argc != 2) {
-               diag_printf("Invalid argument. Need to specify a voltage\n");
-               return;
-       }
-
-       /* check if the argument is valid. */
-       if (strcasecmp(argv[1], "1.2") == 0) {
-               coreVol = 0xC;
-       } else if (strcasecmp(argv[1], "1.25") == 0) {
-               coreVol = 0xE;
-       } else if (strcasecmp(argv[1], "1.3") == 0) {
-               coreVol = 0x10;
-       } else if (strcasecmp(argv[1], "1.35") == 0) {
-               coreVol = 0x12;
-       } else if (strcasecmp(argv[1], "1.4") == 0) {
-               coreVol = 0x14;
-       } else if (strcasecmp(argv[1], "1.45") == 0) {
-               coreVol = 0x16;
-       } else if (strcasecmp(argv[1], "1.5") == 0) {
-               coreVol = 0x18;
-       } else if (strcasecmp(argv[1], "1.55") == 0) {
-               coreVol = 0x1A;
-       } else if (strcasecmp(argv[1], "1.6") == 0) {
-               coreVol = 0x1C;
-       } else {
-               diag_printf("Invalid argument. Type help setcorevol for valid values\n");
-               return ;
-       }
-
-       setCoreVoltage(coreVol);
-       return;
-}
diff --git a/packages/hal/arm/mx37/stk5/v1_0/src/tx37_diag.c b/packages/hal/arm/mx37/stk5/v1_0/src/tx37_diag.c
deleted file mode 100644 (file)
index cf9c506..0000000
+++ /dev/null
@@ -1,378 +0,0 @@
-/*=============================================================================
-//
-//      board_diag.c
-//
-//      HAL diagnostic output code
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//===========================================================================*/
-
-#include <pkgconf/hal.h>
-
-#include <cyg/infra/cyg_type.h>         // base types
-#include <cyg/infra/cyg_trac.h>         // tracing macros
-#include <cyg/infra/cyg_ass.h>          // assertion macros
-
-#include <cyg/hal/hal_arch.h>           // basic machine info
-#include <cyg/hal/hal_intr.h>           // interrupt macros
-#include <cyg/hal/hal_io.h>             // IO macros
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_if.h>             // Calling-if API
-#include <cyg/hal/drv_api.h>            // driver API
-#include <cyg/hal/hal_misc.h>           // Helper functions
-#include <cyg/hal/hal_soc.h>            // Hardware definitions
-#include <cyg/hal/karo_tx37.h>          // Platform specifics
-
-extern void cyg_hal_plf_serial_init(void);
-
-void cyg_hal_plf_comms_init(void)
-{
-    static int initialized = 0;
-
-    if (initialized) {
-           return;
-    }
-    initialized = 1;
-    cyg_hal_plf_serial_init();
-}
-
-//-----------------------------------------------------------------------------
-// Based on 3.6864 MHz xtal
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==9600
-#define CYG_DEV_SERIAL_BAUD_MSB        0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x18
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==19200
-#define CYG_DEV_SERIAL_BAUD_MSB        0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x0C
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==38400
-#define CYG_DEV_SERIAL_BAUD_MSB        0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x06
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==57600
-#define CYG_DEV_SERIAL_BAUD_MSB        0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x04
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==115200
-#define CYG_DEV_SERIAL_BAUD_MSB        0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x02
-#endif
-
-#ifndef CYG_DEV_SERIAL_BAUD_MSB
-#error Missing/incorrect serial baud rate defined - CDL error?
-#endif
-
-//-----------------------------------------------------------------------------
-// Define the serial registers. The board is equipped with a 16552
-// serial chip.
-
-#if defined (EXT_UART_x16)
-#define HAL_WRITE_UINT_UART HAL_WRITE_UINT16
-#define HAL_READ_UINT_UART HAL_READ_UINT16
-typedef cyg_uint16 uart_width;
-#elif defined (EXT_UART_x32)
-#define HAL_WRITE_UINT_UART HAL_WRITE_UINT32
-#define HAL_READ_UINT_UART HAL_READ_UINT32
-typedef cyg_uint32 uart_width;
-#else  //_x8
-#define HAL_WRITE_UINT_UART HAL_WRITE_UINT8
-#define HAL_READ_UINT_UART HAL_READ_UINT8
-typedef cyg_uint8 uart_width;
-#endif
-
-#define CYG_DEV_SERIAL_RHR   0x00 // receiver buffer register, read, dlab = 0
-#define CYG_DEV_SERIAL_THR   0x00 // transmitter holding register, write, dlab = 0
-#define CYG_DEV_SERIAL_DLL   0x00 // divisor latch (LS), read/write, dlab = 1
-#define CYG_DEV_SERIAL_IER   0x01 // interrupt enable register, read/write, dlab = 0
-#define CYG_DEV_SERIAL_DLM   0x01 // divisor latch (MS), read/write, dlab = 1
-#define CYG_DEV_SERIAL_IIR   0x02 // interrupt identification register, read, dlab = 0
-#define CYG_DEV_SERIAL_FCR   0x02 // fifo control register, write, dlab = 0
-#define CYG_DEV_SERIAL_AFR   0x02 // alternate function register, read/write, dlab = 1
-#define CYG_DEV_SERIAL_LCR   0x03 // line control register, read/write
-#define CYG_DEV_SERIAL_MCR   0x04
-#define CYG_DEV_SERIAL_MCR_A 0x04
-#define CYG_DEV_SERIAL_MCR_B 0x04
-#define CYG_DEV_SERIAL_LSR   0x05 // line status register, read
-#define CYG_DEV_SERIAL_MSR   0x06 // modem status register, read
-#define CYG_DEV_SERIAL_SCR   0x07 // scratch pad register
-
-// The interrupt enable register bits.
-#define SIO_IER_ERDAI   0x01            // enable received data available irq
-#define SIO_IER_ETHREI  0x02            // enable THR empty interrupt
-#define SIO_IER_ELSI    0x04            // enable receiver line status irq
-#define SIO_IER_EMSI    0x08            // enable modem status interrupt
-
-// The interrupt identification register bits.
-#define SIO_IIR_IP      0x01            // 0 if interrupt pending
-#define SIO_IIR_ID_MASK 0x0e            // mask for interrupt ID bits
-#define ISR_Tx          0x02
-#define ISR_Rx          0x04
-
-// The line status register bits.
-#define SIO_LSR_DR      0x01            // data ready
-#define SIO_LSR_OE      0x02            // overrun error
-#define SIO_LSR_PE      0x04            // parity error
-#define SIO_LSR_FE      0x08            // framing error
-#define SIO_LSR_BI      0x10            // break interrupt
-#define SIO_LSR_THRE    0x20            // transmitter holding register empty
-#define SIO_LSR_TEMT    0x40            // transmitter register empty
-#define SIO_LSR_ERR     0x80            // any error condition
-
-// The modem status register bits.
-#define SIO_MSR_DCTS    0x01            // delta clear to send
-#define SIO_MSR_DDSR    0x02            // delta data set ready
-#define SIO_MSR_TERI    0x04            // trailing edge ring indicator
-#define SIO_MSR_DDCD    0x08            // delta data carrier detect
-#define SIO_MSR_CTS     0x10            // clear to send
-#define SIO_MSR_DSR     0x20            // data set ready
-#define SIO_MSR_RI      0x40            // ring indicator
-#define SIO_MSR_DCD     0x80            // data carrier detect
-
-// The line control register bits.
-#define SIO_LCR_WLS0   0x01             // word length select bit 0
-#define SIO_LCR_WLS1   0x02             // word length select bit 1
-#define SIO_LCR_STB    0x04             // number of stop bits
-#define SIO_LCR_PEN    0x08             // parity enable
-#define SIO_LCR_EPS    0x10             // even parity select
-#define SIO_LCR_SP     0x20             // stick parity
-#define SIO_LCR_SB     0x40             // set break
-#define SIO_LCR_DLAB   0x80             // divisor latch access bit
-
-// The FIFO control register
-#define SIO_FCR_FCR0   0x01             // enable xmit and rcvr fifos
-#define SIO_FCR_FCR1   0x02             // clear RCVR FIFO
-#define SIO_FCR_FCR2   0x04             // clear XMIT FIFO
-
-//-----------------------------------------------------------------------------
-
-
-//#define x_debug_uart_log_buf
-#ifdef x_debug_uart_log_buf
-#define x_DIAG_BUFSIZE 2048
-static char __x_log_buf[x_DIAG_BUFSIZE];
-static int x_diag_bp = 0;
-#endif
-
-
-//=============================================================================
-// Compatibility with older stubs
-//=============================================================================
-
-#ifndef CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
-#include <cyg/hal/hal_stub.h>           // cyg_hal_gdb_interrupt
-
-
-#ifdef __BASE
-
-#ifdef CYGSEM_HAL_ROM_MONITOR
-#define CYG_HAL_STARTUP_ROM
-#define CYG_HAL_STARTUP_ROMRAM
-#undef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-#endif
-
-#if (defined(CYG_HAL_STARTUP_ROM) || defined(CYG_HAL_STARTUP_ROMRAM)) && !defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
-#define HAL_DIAG_USES_HARDWARE
-#elif !defined(CYGDBG_HAL_DIAG_TO_DEBUG_CHAN)
-#define HAL_DIAG_USES_HARDWARE
-#elif CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL != CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL
-#define HAL_DIAG_USES_HARDWARE
-#endif
-
-static channel_data_t channel = {
-    (uart_width*) _BASE, 0, 0
-};
-
-#ifdef HAL_DIAG_USES_HARDWARE
-
-void hal_diag_init(void)
-{
-    static int init = 0;
-    char *msg = "\n\rARM eCos\n\r";
-    uart_width lcr;
-
-    if (init++) return;
-
-    init_duart_channel(&channel);
-
-    while (*msg) hal_diag_write_char(*msg++);
-}
-
-#ifdef DEBUG_DIAG
-#if defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
-#define DIAG_BUFSIZE 32
-#else
-#define DIAG_BUFSIZE 2048
-#endif
-static char diag_buffer[DIAG_BUFSIZE];
-static int diag_bp = 0;
-#endif
-
-void hal_diag_write_char(char c)
-{
-    uart_width lsr;
-
-    hal_diag_init();
-
-    cyg_hal_plf_duart_putc(&channel, c)
-
-#ifdef DEBUG_DIAG
-    diag_buffer[diag_bp++] = c;
-    if (diag_bp == DIAG_BUFSIZE) {
-        while (1) ;
-        diag_bp = 0;
-    }
-#endif
-}
-
-void hal_diag_read_char(char *c)
-{
-    *c = cyg_hal_plf_duart_getc(&channel);
-}
-
-#else // HAL_DIAG relies on GDB
-
-// Initialize diag port - assume GDB channel is already set up
-void hal_diag_init(void)
-{
-    if (0) init_duart_channel(&channel); // avoid warning
-}
-
-// Actually send character down the wire
-static void hal_diag_write_char_serial(char c)
-{
-    cyg_hal_plf_duart_putc(&channel, c);
-}
-
-static bool hal_diag_read_serial(char *c)
-{
-    long timeout = 1000000000;  // A long time...
-
-    while (!cyg_hal_plf_duart_getc_nonblock(&channel, c))
-        if (0 == --timeout) return false;
-
-    return true;
-}
-
-void hal_diag_read_char(char *c)
-{
-    while (!hal_diag_read_serial(c)) ;
-}
-
-void hal_diag_write_char(char c)
-{
-    static char line[100];
-    static int pos = 0;
-
-    // No need to send CRs
-    if (c == '\r') return;
-
-    line[pos++] = c;
-
-    if (c == '\n' || pos == sizeof(line)) {
-        CYG_INTERRUPT_STATE old;
-
-        // Disable interrupts. This prevents GDB trying to interrupt us
-        // while we are in the middle of sending a packet. The serial
-        // receive interrupt will be seen when we re-enable interrupts
-        // later.
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-        CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION(old);
-#else
-        HAL_DISABLE_INTERRUPTS(old);
-#endif
-
-        while (1) {
-            static char hex[] = "0123456789ABCDEF";
-            cyg_uint8 csum = 0;
-            int i;
-            char c1;
-
-            hal_diag_write_char_serial('$');
-            hal_diag_write_char_serial('O');
-            csum += 'O';
-            for (i = 0; i < pos; i++) {
-                char ch = line[i];
-                char h = hex[(ch>>4)&0xF];
-                char l = hex[ch&0xF];
-                hal_diag_write_char_serial(h);
-                hal_diag_write_char_serial(l);
-                csum += h;
-                csum += l;
-            }
-            hal_diag_write_char_serial('#');
-            hal_diag_write_char_serial(hex[(csum>>4)&0xF]);
-            hal_diag_write_char_serial(hex[csum&0xF]);
-
-            // Wait for the ACK character '+' from GDB here and handle
-            // receiving a ^C instead.  This is the reason for this clause
-            // being a loop.
-            if (!hal_diag_read_serial(&c1))
-                continue;   // No response - try sending packet again
-
-            if ( c1 == '+' )
-                break;          // a good acknowledge
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            cyg_drv_interrupt_acknowledge(CYG_DEV_SERIAL_INT);
-            if ( c1 == 3 ) {
-                // Ctrl-C: breakpoint.
-                cyg_hal_gdb_interrupt (__builtin_return_address(0));
-                break;
-            }
-#endif
-            // otherwise, loop round again
-        }
-
-        pos = 0;
-
-        // And re-enable interrupts
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-        CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION(old);
-#else
-        HAL_RESTORE_INTERRUPTS(old);
-#endif
-
-    }
-}
-#endif
-
-#endif // __BASE
-
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
-/*---------------------------------------------------------------------------*/
diff --git a/packages/hal/arm/mx37/stk5/v1_0/src/tx37_misc.c b/packages/hal/arm/mx37/stk5/v1_0/src/tx37_misc.c
deleted file mode 100644 (file)
index dd25722..0000000
+++ /dev/null
@@ -1,487 +0,0 @@
-//==========================================================================
-//
-//             tx37_misc.c
-//
-//             HAL misc board support code for the TX37 board
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//========================================================================*/
-
-#include <pkgconf/hal.h>
-#include <pkgconf/system.h>
-#include <redboot.h>
-#include CYGBLD_HAL_PLATFORM_H
-
-#include <cyg/infra/cyg_type.h>                        // base types
-#include <cyg/infra/cyg_trac.h>                        // tracing macros
-#include <cyg/infra/cyg_ass.h>                 // assertion macros
-
-#include <cyg/hal/hal_io.h>                            // IO macros
-#include <cyg/hal/hal_arch.h>                  // Register state info
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_intr.h>                  // Interrupt names
-#include <cyg/hal/hal_cache.h>
-#include <cyg/hal/hal_soc.h>            // Hardware definitions
-#include <cyg/hal/karo_tx37.h>                    // Platform specifics
-//#include <cyg/io/mxc_i2c.h>
-#include <cyg/infra/diag.h>                            // diag_printf
-
-// All the MM table layout is here:
-#include <cyg/hal/hal_mm.h>
-
-externC void* memset(void *, int, size_t);
-
-volatile void *gpio_mcu1 = (volatile void *)GPIO1_BASE_ADDR;
-volatile void *gpio_mcu2 = (volatile void *)GPIO2_BASE_ADDR;
-volatile void *gpio_mcu3 = (volatile void *)GPIO3_BASE_ADDR;
-volatile void *iomux = (volatile void *)IOMUXC_BASE_ADDR;
-
-/* point to Data Direction Registers (DDIR) of all GPIO ports */
-static volatile cyg_uint32 *const data_dir_reg_ptr_array[3] = {
-       (cyg_uint32 *) ((cyg_uint32) GPIO1_BASE_ADDR + 4),
-       (cyg_uint32 *) ((cyg_uint32) GPIO1_BASE_ADDR + 4),
-       (cyg_uint32 *) ((cyg_uint32) GPIO1_BASE_ADDR + 4)
-};
-
-/* point to Data Registers (DR) of all GPIO ports */
-static volatile unsigned int *const data_reg_ptr_array[3] = {
-       (cyg_uint32 *) GPIO1_BASE_ADDR,
-       (cyg_uint32 *) GPIO2_BASE_ADDR,
-       (cyg_uint32 *) GPIO3_BASE_ADDR
-};
-
-/* point to Pad Status Registers (PSR) of all GPIO ports */
-static volatile unsigned int *const pad_status_reg_ptr_array[3] = {
-       (cyg_uint32 *) ((cyg_uint32) GPIO1_BASE_ADDR + 4 * 2),
-       (cyg_uint32 *) ((cyg_uint32) GPIO2_BASE_ADDR + 4 * 2),
-       (cyg_uint32 *) ((cyg_uint32) GPIO3_BASE_ADDR + 4 * 2)
-};
-
-/* point to IOMUX SW MUX Control Registers*/
-static volatile unsigned int *const iomux_sw_mux_ctrl_reg_array[3] = {
-       (cyg_uint32 *) ((cyg_uint32) IOMUXC_BASE_ADDR + 0x0008),        //the offset of sw_mux_ctrl_reg_array is 0x0004
-       (cyg_uint32 *) ((cyg_uint32) IOMUXC_BASE_ADDR + 0x0230),        //the offset of sw_pad_ctrl_reg_array is 0x0328
-       (cyg_uint32 *) ((cyg_uint32) IOMUXC_BASE_ADDR + 0x0508),        //the offset of daisy_sel_in_reg_array is 0x07AC
-};
-
-#if 1
-#define UARO_URXD      0x00
-#define UARO_UTXD      0x40
-#define UARO_UCR1      0x80
-#define UARO_UCR2      0x84
-#define UARO_UCR3      0x88
-#define UARO_UCR4      0x8c
-#define UARO_UFCR      0x90
-#define UARO_USR1      0x94
-#define UARO_USR2      0x98
-#define UARO_UESC      0x9c
-#define UARO_UTIM      0xa0
-#define UARO_UBIR      0xa4
-#define UARO_UBMR      0xa8
-#define UARO_UBRC      0xac
-#define UARO_ONEMS     0xb0
-#define UARO_UTS       0xb4
-
-void plf_uart_init(void)
-{
-       unsigned long val;
-       unsigned long UartRefFreq;
-
-       // UART1
-       //RXD
-       writel(0x0, IOMUXC_BASE_ADDR + 0x15C);
-       writel(0x4, IOMUXC_BASE_ADDR + 0x604);
-       writel(0x1C5, IOMUXC_BASE_ADDR + 0x3BC);
-
-       //TXD
-       writel(0x0, IOMUXC_BASE_ADDR + 0x160);
-       writel(0x1C5, IOMUXC_BASE_ADDR + 0x3C0);
-
-       //RTS
-       writel(0x0, IOMUXC_BASE_ADDR + 0x164);
-       writel(0x4, IOMUXC_BASE_ADDR + 0x600);
-       writel(0x1C4, IOMUXC_BASE_ADDR + 0x3C4);
-
-       //CTS
-       writel(0x0, IOMUXC_BASE_ADDR + 0x168);
-       writel(0x1C4, IOMUXC_BASE_ADDR + 0x3C8);
-
-       /* Wait for UART to finish transmitting */
-       while (!(readl(UART1_BASE_ADDR + UARO_UTS) & 0x40));
-
-       /* Disable UART */
-       val = readl(UART1_BASE_ADDR + UARO_UCR1); 
-       writel(val & 0xfffffffe, UART1_BASE_ADDR + UARO_UCR1); /* reset UARTEN */
-
-       /* Set to default POR state */
-       writel(0x00000000, UART1_BASE_ADDR + UARO_UCR1);
-       writel(0x00000000, UART1_BASE_ADDR + UARO_UCR2);
-
-       while (!(readl(UART1_BASE_ADDR + UARO_UCR2) & 1));              /* wait for SRST = 1 */
-
-       writel(0x00000704, UART1_BASE_ADDR + UARO_UCR3);
-       writel(0x00008000, UART1_BASE_ADDR + UARO_UCR4);
-       writel(0x00000801, UART1_BASE_ADDR + UARO_UFCR);
-       writel(0x0000002B, UART1_BASE_ADDR + UARO_UESC);
-       writel(0x00000000, UART1_BASE_ADDR + UARO_UTIM);
-       writel(0x00000000, UART1_BASE_ADDR + UARO_UBIR);
-       writel(0x00000000, UART1_BASE_ADDR + UARO_UBMR);
-       writel(0x00000000, UART1_BASE_ADDR + UARO_ONEMS);
-       writel(0x00000000, UART1_BASE_ADDR + UARO_UTS);
-
-       /* Configure FIFOs */
-       writel((1 << 0) | (4 << 7) | (2 << 10), UART1_BASE_ADDR + UARO_UFCR);
-       UartRefFreq = 66500000 / 2;
-
-       /* Setup One MS timer */
-       writel((UartRefFreq / 1000), UART1_BASE_ADDR + UARO_ONEMS);
-
-       /* Set to 8N1 */
-       val = readl(UART1_BASE_ADDR + UARO_UCR2); 
-       val &= ~(1 << 8);
-       val |= (1 << 5);
-       val |= (1 << 14); /* Ignore RTS */
-       val &= ~(1 << 6);
-       writel(val, UART1_BASE_ADDR + UARO_UCR2); 
-
-       /* Enable UART */
-       val = readl(UART1_BASE_ADDR + UARO_UCR1); 
-       writel(val | 1, UART1_BASE_ADDR + UARO_UCR1); 
-
-       /* Enable FIFOs */
-       val = readl(UART1_BASE_ADDR + UARO_UCR2); 
-       val |= (1 << 0);
-       val |= (1 << 1);
-       val |= (1 << 2);
-       writel(val, UART1_BASE_ADDR + UARO_UCR2); 
-
-       /* Clear status flags */
-       val = readl(UART1_BASE_ADDR + UARO_USR2); 
-       val |= 0x9197;
-       writel(val, UART1_BASE_ADDR + UARO_USR2); 
-
-       /* Clear status flags */
-       val = readl(UART1_BASE_ADDR + UARO_USR1); 
-       val |= 0x9c30;
-       writel(val, UART1_BASE_ADDR + UARO_USR1); 
-
-       /* Set the numerator value minus one of the BRM ratio */
-       writel((115200 / 100) - 1, UART1_BASE_ADDR + UARO_UBIR);
-
-       /* Set the denominator value minus one of the BRM ratio    */
-       writel((UartRefFreq / 1600) - 1, UART1_BASE_ADDR + UARO_UBMR);
-
-       writel('+', UART1_BASE_ADDR + UARO_UTXD);
-}
-
-void plf_send_char(unsigned char c)
-{
-       /* Wait for UART to finish transmitting */
-       while (!(readl(UART1_BASE_ADDR + UARO_UTS) & 0x40));
-
-       writel(c, UART1_BASE_ADDR + UARO_UTXD);
-}
-
-void plf_send_string(const char *spt)
-{
-       unsigned char achar;
-
-       while ((achar = *(spt++)) != '\0') {
-               plf_send_char(achar);
-       }
-}
-
-void plf_printhex(unsigned long val)
-{
-       int i;
-
-       for (i = 28; i >= 0; i -= 4) {
-               int digit = (val >> i) & 0xf;
-               plf_send_char(digit + ((digit < 10) ? '0' : ('A' - 10)));
-       }
-}
-
-void plf_dumpmem(unsigned long addr, int len)
-{
-       int i;
-
-       for (i = 0; i < len; i += 4) {
-               unsigned long *wp = (unsigned long *)(addr + i);
-               if (i % 16 == 0) {
-                       plf_send_char('\r');
-                       plf_send_char('\n');
-                       plf_printhex(addr + i);
-                       plf_send_char(' ');
-               }
-               plf_printhex(*wp);
-               plf_send_char(' ');
-       }
-       if (i % 16 == 0) {
-               plf_send_char('\r');
-               plf_send_char('\n');
-       }
-}
-
-void hal_mmu_check(void)
-{
-       unsigned long cr0, cr1;
-
-       asm volatile ("mrc      p15, 0, %0, c1, c0, 0" : "=r"(cr0) /*:*/);
-       asm volatile ("mrc      p15, 0, %0, c1, c0, 1" : "=r"(cr1) /*:*/);
-       plf_printhex(cr0);
-       plf_send_char(' ');
-       plf_printhex(cr1);
-       plf_send_char('\r');
-       plf_send_char('\n');
-}
-
-#define DBG_FUNC() do {                                \
-       plf_send_string(__FUNCTION__);          \
-       plf_send_char('\r');                    \
-       plf_send_char('\n');                    \
-       } while (0)
-#endif
-
-void hal_mmu_init(void)
-{
-       unsigned long ttb_base = RAM_BANK0_BASE + 0x4000;
-       unsigned long i;
-#ifdef DEBUG
-       plf_uart_init();
-       DBG_FUNC();
-       hal_mmu_check();
-#endif
-       /*
-        * Set the TTB register
-        */
-       asm volatile ("mcr      p15, 0, %0, c2, c0, 0" : : "r"(ttb_base) /*:*/);
-
-       /*
-        * Set the Domain Access Control Register
-        */
-       i = ARM_ACCESS_DACR_DEFAULT;
-       asm volatile ("mcr      p15, 0, %0, c3, c0, 0" : : "r"(i) /*:*/);
-
-       /*
-        * First clear all TT entries - ie Set them to Faulting
-        */
-       memset((void *)ttb_base, 0, ARM_FIRST_LEVEL_PAGE_TABLE_SIZE);
-
-       /*           Physical Virtual   Size   Attributes                                                    Function */
-       /*           Base     Base      MB     cached?          buffered?         access permissions                  */
-       /*           xxx00000 xxx00000                                                                                */
-       X_ARM_MMU_SECTION(0x000, 0x200, 0x200, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* ROM */
-       X_ARM_MMU_SECTION(0x100, 0x100, 0x001, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* IRAM */
-       X_ARM_MMU_SECTION(0x400, 0x000, TX37_SDRAM_SIZE >> 20, ARM_CACHEABLE,   ARM_BUFFERABLE,   ARM_ACCESS_PERM_RW_RW); /* SDRAM */
-       X_ARM_MMU_SECTION(0x400, 0x400, TX37_SDRAM_SIZE >> 20, ARM_CACHEABLE,   ARM_BUFFERABLE,   ARM_ACCESS_PERM_RW_RW); /* SDRAM */
-       X_ARM_MMU_SECTION(0x7ff, 0x7ff, 0x001, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* NAND Flash buffer */
-       X_ARM_MMU_SECTION(0x800, 0x800, 0x020, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* IPUv3D */
-       X_ARM_MMU_SECTION(0xB00, 0xB00, 0x400, ARM_UNCACHEABLE, ARM_UNBUFFERABLE, ARM_ACCESS_PERM_RW_RW); /* periperals */
-
-#ifdef DEBUG
-#if 1
-       plf_printhex(ttb_base);
-       plf_send_char('\r');
-       plf_send_char('\n');
-#endif
-#if 0
-       plf_dumpmem(ttb_base, ARM_FIRST_LEVEL_PAGE_TABLE_SIZE);
-#endif
-#if 1
-       plf_dumpmem(0xc3fa8000, 0x1000);
-#endif
-#if 0
-       plf_dumpmem(0xc3fa8000, 0x1000);
-       plf_dumpmem(0xc3fa8000, 0x1000);
-       plf_dumpmem(0xc3fa8000, 0x1000);
-#endif
-#endif
-}
-
-//
-// Platform specific initialization
-//
-
-void plf_hardware_init(void)
-{
-       unsigned int v;
-
-#ifdef DEBUG
-       DBG_FUNC();
-       hal_mmu_check();
-#endif
-       v = 0x0040174A; // modified
-       writel(v, NFC_FLASH_CONFIG2_REG);
-
-       writel(0xFFFF0000, UNLOCK_BLK_ADD0_REG);
-       writel(0xFFFF0000, UNLOCK_BLK_ADD1_REG);
-       writel(0xFFFF0000, UNLOCK_BLK_ADD2_REG);
-       writel(0xFFFF0000, UNLOCK_BLK_ADD3_REG);
-
-       v = NFC_WR_PROT_CS0 | NFC_WR_PROT_BLS_UNLOCK | NFC_WR_PROT_WPC;
-       writel(v, NFC_WR_PROT_REG);
-
-       writel(0, NFC_IPC_REG);
-#if 0
-       /* PBC setup */
-       //Enable UART transceivers also reset the Ethernet/external UART
-       temp = readw(PBC_BASE + PBC_BCTRL1);
-
-       writew(0x8023, PBC_BASE + PBC_BCTRL1);
-
-       for (i = 0; i < 100000; i++) {
-       }
-
-       // clear the reset, toggle the LEDs
-       writew(0xDF, PBC_BASE + PBC_BCTRL1_CLR);
-
-       for (i = 0; i < 100000; i++) {
-       }
-
-       dummy = readb(0xB4000008);
-       dummy = readb(0xB4000007);
-       dummy = readb(0xB4000008);
-       dummy = readb(0xB4000007);
-#endif
-
-#if 0
-       /* Reset interrupt status reg */
-       writew(0x1F, PBC_INT_REST);
-       writew(0x00, PBC_INT_REST);
-       writew(0xFFFF, PBC_INT_MASK);
-#endif
-       // UART1
-       //RXD
-       writel(0x0, IOMUXC_BASE_ADDR + 0x15C);
-       writel(0x4, IOMUXC_BASE_ADDR + 0x604);
-       writel(0x1C5, IOMUXC_BASE_ADDR + 0x3BC);
-
-       //TXD
-       writel(0x0, IOMUXC_BASE_ADDR + 0x160);
-       writel(0x1C5, IOMUXC_BASE_ADDR + 0x3C0);
-
-       //RTS
-       writel(0x0, IOMUXC_BASE_ADDR + 0x164);
-       writel(0x4, IOMUXC_BASE_ADDR + 0x600);
-       writel(0x1C4, IOMUXC_BASE_ADDR + 0x3C4);
-
-       //CTS
-       writel(0x0, IOMUXC_BASE_ADDR + 0x168);
-       writel(0x1C4, IOMUXC_BASE_ADDR + 0x3C8);
-}
-
-#if 0
-static void configure_gpio(cyg_uint32 port, cyg_uint32 pin,
-                          cyg_uint32 io_select, cyg_uint32 dir)
-{
-       cyg_uint32 tmp, rnum, roffset, cfg_val;
-
-       if ((io_select & 0x200) == 0x200) {
-               rnum = (io_select >> 12) & 0xff;
-               roffset = (io_select >> 10) & 0x3;
-               cfg_val = (io_select & 0xff);
-               tmp = iomux_sw_mux_ctrl_reg_array[port][rnum];
-               tmp &= ~(0xff << (roffset * 8));
-               tmp |= (cfg_val << (roffset * 8));
-               iomux_sw_mux_ctrl_reg_array[port][rnum] = tmp;
-       }
-       if ((io_select & 0x100) == 0x100) {
-               /* Configure the direction of GPIO */
-               if (dir) {
-                       *data_dir_reg_ptr_array[port] |= (1 << pin);
-               } else {
-                       *data_dir_reg_ptr_array[port] &= ~(1 << pin);
-               }
-       }
-}
-
-static void configure_pad(cyg_uint32 port, cyg_uint32 reg_index, cyg_uint32 val)
-{
-       iomux_sw_mux_ctrl_reg_array[port][reg_index] = val;
-}
-#endif
-
-#include CYGHWR_MEMORY_LAYOUT_H
-
-typedef void code_fun(void);
-
-void board_program_new_stack(void *func)
-{
-       register CYG_ADDRESS stack_ptr asm("sp");
-       register CYG_ADDRESS old_stack asm("r4");
-       register code_fun *new_func asm("r0");
-       old_stack = stack_ptr;
-       stack_ptr = CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - sizeof(CYG_ADDRESS);
-       new_func = (code_fun*)func;
-       new_func();
-       stack_ptr = old_stack;
-}
-
-#define SRC_SRSR 0x08
-
-static void display_board_info(void)
-{
-       char *reset_cause = "UNKNOWN";
-       CYG_WORD32 srsr;
-
-       DBG_FUNC();
-       diag_printf("\nBoard Type: Ka-Ro TX37\n");
-
-       HAL_READ_UINT32(SRC_BASE_ADDR + SRC_SRSR, srsr);
-       switch (srsr) {
-       case (1 << 0):
-               reset_cause = "POWER_ON RESET";
-               break;
-       case (1 << 2):
-               reset_cause = "EXTERNAL RESET";
-               break;
-       case (1 << 3):
-               reset_cause = "COLD RESET";
-               break;
-       case (1 << 4):
-               reset_cause = "WATCHDOG RESET";
-               break;
-       case (1 << 5):
-               reset_cause = "JTAG RESET";
-               break;
-       case (1 << 16):
-               reset_cause = "SOFT RESET";
-               break;
-       }
-
-       diag_printf("Last RESET cause: %s\n", reset_cause);
-}
-
-RedBoot_init(display_board_info, RedBoot_INIT_LAST);
index 79e0853f201b73ea58b2e6c81dfb0cf515222d60..fcb0b7bf59307638bb09e3ebd80ffa9aa9a03ddd 100644 (file)
@@ -762,7 +762,7 @@ diff -uNr /work2/iPAQ/HandHelds.org/cvs/linux/kernel/drivers/mtd/redboot.c drive
 +++ drivers/mtd/redboot.c      Fri Mar 23 20:11:37 2001
 @@ -0,0 +1,148 @@
 +/*
-+ * $Id$
++ * $Id: redboot.c,v 1.2 2001/03/14 13:19:47 dwmw2 Exp $
 + *
 + * Parse RedBoot-style Flash Image System (FIS) tables and
 + * produce a Linux partition array to match.
diff --git a/packages/hal/arm/sa11x0/ipaq/v2_0/misc/toyota_fullscr.ecm b/packages/hal/arm/sa11x0/ipaq/v2_0/misc/toyota_fullscr.ecm
deleted file mode 100644 (file)
index 9504c1f..0000000
+++ /dev/null
@@ -1,316 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "" ;
-    hardware    ipaq ;
-    template    net ;
-    package -hardware CYGPKG_HAL_ARM v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_SA11X0 v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_SA11X0_IPAQ v2_0 ;
-    package -hardware CYGPKG_IO_SERIAL_ARM_SA11X0 v2_0 ;
-    package -hardware CYGPKG_DEVS_PCMCIA_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA v2_0 ;
-    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_SA11X0 v2_0 ;
-    package -hardware CYGPKG_DEVS_TOUCH_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_KBD_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_ETH_CF v2_0 ;
-    package -hardware CYGPKG_DEVS_ETH_NS_DP83902A v2_0 ;
-    package -template CYGPKG_HAL v2_0 ;
-    package -template CYGPKG_IO v2_0 ;
-    package -template CYGPKG_IO_SERIAL v2_0 ;
-    package -template CYGPKG_INFRA v2_0 ;
-    package -template CYGPKG_ISOINFRA v2_0 ;
-    package -template CYGPKG_KERNEL v2_0 ;
-    package -template CYGPKG_MEMALLOC v2_0 ;
-    package -template CYGPKG_LIBC v2_0 ;
-    package -template CYGPKG_LIBC_TIME v2_0 ;
-    package -template CYGPKG_LIBC_STDLIB v2_0 ;
-    package -template CYGPKG_LIBC_STRING v2_0 ;
-    package -template CYGPKG_LIBC_I18N v2_0 ;
-    package -template CYGPKG_LIBC_SETJMP v2_0 ;
-    package -template CYGPKG_LIBC_STARTUP v2_0 ;
-    package -template CYGPKG_LIBC_STDIO v2_0 ;
-    package -template CYGPKG_LIBM v2_0 ;
-    package -template CYGPKG_POSIX v2_0 ;
-    package -template CYGPKG_IO_WATCHDOG v2_0 ;
-    package -template CYGPKG_IO_WALLCLOCK v2_0 ;
-    package -template CYGPKG_ERROR v2_0 ;
-    package -template CYGPKG_IO_FILEIO v2_0 ;
-    package -template CYGPKG_NET v2_0 ;
-    package -template CYGPKG_NET_OPENBSD_STACK v2_0 ;
-    package -template CYGPKG_NS_DNS v2_0 ;
-    package -template CYGPKG_IO_ETH_DRIVERS v2_0 ;
-    package CYGPKG_MICROWINDOWS v2_0 ;
-    package CYGPKG_FS_JFFS2 v2_0 ;
-    package CYGPKG_IO_FLASH v2_0 ;
-    package CYGPKG_COMPRESS_ZLIB v2_0 ;
-    package CYGPKG_SDL v2_0 ;
-    package CYGPKG_SMPEG v2_0 ;
-    package CYGPKG_FS_RAM v2_0 ;
-};
-
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    user_value arm-elf
-};
-
-cdl_option CYGPKG_IO_NFILE {
-    user_value 32
-};
-
-cdl_component CYGPKG_INFRA_DEBUG {
-    user_value 1
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    inferred_value 1 <cyg/posix/sigsetjmp.h>
-};
-
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    inferred_value 1 <cyg/fileio/dirent.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    inferred_value 1 <cyg/posix/types.h>
-};
-
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    inferred_value 1 <cyg/posix/muttypes.h>
-};
-
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    inferred_value 1 <sys/bsdtypes.h>
-};
-
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    inferred_value 1 <cyg/posix/utsname.h>
-};
-
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    inferred_value 1 <cyg/posix/semaphore.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/pthread.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    inferred_value 1 <cyg/posix/mutex.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    inferred_value 1 <cyg/posix/limits.h>
-};
-
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
-    inferred_value 1
-};
-
-cdl_option CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS {
-    user_value 2
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
-    inferred_value 1
-};
-
-cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
-    inferred_value 1
-};
-
-cdl_option FOPEN_MAX {
-    user_value 32
-};
-
-cdl_option CYGNUM_FILEIO_NFILE {
-    user_value 32
-};
-
-cdl_option CYGNUM_FILEIO_NFD {
-    user_value 32
-};
-
-cdl_component CYGPKG_IO_FILEIO_INODE {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_ECOS {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_NANOWM {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_NXKBD {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_NANOX_DEMOS {
-    inferred_value 1
-};
-
-cdl_option CYGPKG_MICROWINDOWS_CFLAGS_ADD {
-    inferred_value "-I\$(PREFIX)/include/microwin -D__ECOS=1 -DMSDOS=0 -DELKS=0 -D__rtems__=0 -D_MINIX=0 -DNOTYET=0 -DUNIX=1 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DxHAVE_JPEG_SUPPORT=1 -DHAVESELECT=1 -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565"
-};
-
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    inferred_value 1
-};
-
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    user_value 0x00200000
-};
-
-cdl_option CYGPKG_SDL_CFLAGS_ADD {
-    inferred_value "-I\$(PREFIX)/include/SDL  -I\$(REPOSITORY)/\$(PACKAGE)/src/src  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/audio  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/events  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/joystick  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/thread  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/thread/ecos  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/timer  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/video  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/video/fbcon  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/video/svga  -DDISABLE_JOYSTICK -DDISABLE_CDROM  -DUSE_INPUT_EVENTS  -DSDL_USE_PTHREADS -DPTHREAD_NO_RECURSIVE_MUTEX  -D__ECOS=1 -DENABLE_FBCON"
-};
-
-cdl_option CYGBLD_SMPEG_BUILD_PLAYMPEG {
-    inferred_value 1
-};
-
-cdl_component CYGBLD_SMPEG_BUILD_TOYOTA_DEMO {
-    user_value 1
-};
-
-
diff --git a/packages/hal/arm/sa11x0/ipaq/v2_0/misc/toyota_window.ecm b/packages/hal/arm/sa11x0/ipaq/v2_0/misc/toyota_window.ecm
deleted file mode 100644 (file)
index 06f2c4e..0000000
+++ /dev/null
@@ -1,324 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "" ;
-    hardware    ipaq ;
-    template    net ;
-    package -hardware CYGPKG_HAL_ARM v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_SA11X0 v2_0 ;
-    package -hardware CYGPKG_HAL_ARM_SA11X0_IPAQ v2_0 ;
-    package -hardware CYGPKG_IO_SERIAL_ARM_SA11X0 v2_0 ;
-    package -hardware CYGPKG_DEVS_PCMCIA_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_STRATA v2_0 ;
-    package -hardware CYGPKG_DEVICES_WATCHDOG_ARM_SA11X0 v2_0 ;
-    package -hardware CYGPKG_DEVS_TOUCH_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_KBD_IPAQ v2_0 ;
-    package -hardware CYGPKG_DEVS_ETH_CF v2_0 ;
-    package -hardware CYGPKG_DEVS_ETH_NS_DP83902A v2_0 ;
-    package -template CYGPKG_HAL v2_0 ;
-    package -template CYGPKG_IO v2_0 ;
-    package -template CYGPKG_IO_SERIAL v2_0 ;
-    package -template CYGPKG_INFRA v2_0 ;
-    package -template CYGPKG_ISOINFRA v2_0 ;
-    package -template CYGPKG_KERNEL v2_0 ;
-    package -template CYGPKG_MEMALLOC v2_0 ;
-    package -template CYGPKG_LIBC v2_0 ;
-    package -template CYGPKG_LIBC_TIME v2_0 ;
-    package -template CYGPKG_LIBC_STDLIB v2_0 ;
-    package -template CYGPKG_LIBC_STRING v2_0 ;
-    package -template CYGPKG_LIBC_I18N v2_0 ;
-    package -template CYGPKG_LIBC_SETJMP v2_0 ;
-    package -template CYGPKG_LIBC_STARTUP v2_0 ;
-    package -template CYGPKG_LIBC_STDIO v2_0 ;
-    package -template CYGPKG_LIBM v2_0 ;
-    package -template CYGPKG_POSIX v2_0 ;
-    package -template CYGPKG_IO_WATCHDOG v2_0 ;
-    package -template CYGPKG_IO_WALLCLOCK v2_0 ;
-    package -template CYGPKG_ERROR v2_0 ;
-    package -template CYGPKG_IO_FILEIO v2_0 ;
-    package -template CYGPKG_NET v2_0 ;
-    package -template CYGPKG_NET_OPENBSD_STACK v2_0 ;
-    package -template CYGPKG_NS_DNS v2_0 ;
-    package -template CYGPKG_IO_ETH_DRIVERS v2_0 ;
-    package CYGPKG_MICROWINDOWS v2_0 ;
-    package CYGPKG_FS_JFFS2 v2_0 ;
-    package CYGPKG_IO_FLASH v2_0 ;
-    package CYGPKG_COMPRESS_ZLIB v2_0 ;
-    package CYGPKG_SDL v2_0 ;
-    package CYGPKG_SMPEG v2_0 ;
-    package CYGPKG_FS_RAM v2_0 ;
-};
-
-cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-    user_value arm-elf
-};
-
-cdl_option CYGPKG_IO_NFILE {
-    user_value 32
-};
-
-cdl_component CYGPKG_INFRA_DEBUG {
-    user_value 1
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    inferred_value 1 <cyg/posix/sigsetjmp.h>
-};
-
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    inferred_value 1 <cyg/fileio/dirent.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    inferred_value 1 <cyg/posix/types.h>
-};
-
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    inferred_value 1 <cyg/posix/muttypes.h>
-};
-
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    inferred_value 1 <sys/bsdtypes.h>
-};
-
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    inferred_value 1 <cyg/posix/utsname.h>
-};
-
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    inferred_value 1 <cyg/posix/semaphore.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/pthread.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    inferred_value 1 <cyg/posix/mutex.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    inferred_value 1 <cyg/posix/limits.h>
-};
-
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
-    inferred_value 1
-};
-
-cdl_option CYGNUM_KERNEL_SCHED_TIMESLICE_TICKS {
-    user_value 2
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
-    inferred_value 1
-};
-
-cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
-    inferred_value 1
-};
-
-cdl_option FOPEN_MAX {
-    user_value 32
-};
-
-cdl_option CYGNUM_FILEIO_NFILE {
-    user_value 32
-};
-
-cdl_option CYGNUM_FILEIO_NFD {
-    user_value 32
-};
-
-cdl_component CYGPKG_IO_FILEIO_INODE {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_ECOS {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_NANOWM {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_NXKBD {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_MICROWINDOWS_NANOX_DEMOS {
-    inferred_value 1
-};
-
-cdl_option CYGPKG_MICROWINDOWS_CFLAGS_ADD {
-    inferred_value "-I\$(PREFIX)/include/microwin -D__ECOS=1 -DMSDOS=0 -DELKS=0 -D__rtems__=0 -D_MINIX=0 -DNOTYET=0 -DUNIX=1 -DHAVE_FILEIO -DHAVE_BMP_SUPPORT=1 -DHAVE_PNM_SUPPORT=1 -DHAVE_XPM_SUPPORT=1 -DxHAVE_JPEG_SUPPORT=1 -DHAVESELECT=1 -DMWPIXEL_FORMAT=MWPF_TRUECOLOR565"
-};
-
-cdl_component CYGPKG_IO_FLASH_BLOCK_DEVICE {
-    inferred_value 1
-};
-
-cdl_option CYGNUM_IO_FLASH_BLOCK_LENGTH_1 {
-    user_value 0x00200000
-};
-
-cdl_option CYGSEM_SDL_FBCON_FORCEGRAREA {
-    inferred_value 1
-};
-
-cdl_option CYGPKG_SDL_CFLAGS_ADD {
-    inferred_value "-I\$(PREFIX)/include/SDL  -I\$(REPOSITORY)/\$(PACKAGE)/src/src  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/audio  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/events  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/joystick  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/thread  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/thread/ecos  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/timer  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/video  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/video/fbcon  -I\$(REPOSITORY)/\$(PACKAGE)/src/src/video/svga  -DDISABLE_JOYSTICK -DDISABLE_CDROM  -DUSE_INPUT_EVENTS  -DSDL_USE_PTHREADS -DPTHREAD_NO_RECURSIVE_MUTEX  -D__ECOS=1 -DENABLE_FBCON"
-};
-
-cdl_option CYGBLD_SMPEG_BUILD_PLAYMPEG {
-    inferred_value 1
-};
-
-cdl_component CYGBLD_SMPEG_BUILD_TOYOTA_DEMO {
-    user_value 1
-};
-
-cdl_option CYGFUN_SMPEG_BUILD_TOYOTA_DEMO_WINDOWED {
-    user_value 1
-};
-
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triteco_stk1.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triteco_stk1.cdl
deleted file mode 100755 (executable)
index c5352ed..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_triteco_stk1.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           10th March 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_ECO_STK1 {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_ECO_STK1 HAL package provides the support needed to run
-        eCos on a Karo TRITON ECO board located on a Starter Kit I."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH16_16"
-        puts $::cdl_system_header "#define TRITON_DRAM16_16_MOBILE"
-        puts $::cdl_system_header "#define TRITON_STK 1"
-        puts $::cdl_system_header "#define TRITON_CS2_8900"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON ECO --STK1-- \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   1
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The TRITON board has only one serial port.  This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp_roma" : \
-                                                     "arm_xscale_triton_lp_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_lp_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/eco_stk1.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritetn_stk1.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritetn_stk1.cdl
deleted file mode 100755 (executable)
index b39b0a5..0000000
+++ /dev/null
@@ -1,454 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_tritetn_stk1.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           10th March 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK1 {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_ETN_STK1 HAL package provides the support needed to run
-        eCos on a Karo TRITON ETN board located on a Starter Kit I."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH32_32"
-        puts $::cdl_system_header "#define TRITON_DRAM32_64"
-        puts $::cdl_system_header "#define TRITON_STK 1"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON ETN --STK1-- \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   1
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The TRITON board has only one serial port.  This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" : \
-                                                     "arm_xscale_triton_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/triton_etn_stk1.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritetn_stk2.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritetn_stk2.cdl
deleted file mode 100755 (executable)
index 07c8a92..0000000
+++ /dev/null
@@ -1,455 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_tritetn_stk2.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           2003-03-10
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_STK2 {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_ETN_STK2 HAL package provides the support needed to run
-        eCos on a Karo TRITON ETN board located on a Starter Kit II."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH32_32"
-        puts $::cdl_system_header "#define TRITON_DRAM32_64"
-        puts $::cdl_system_header "#define TRITON_CS2_SMSC"
-        puts $::cdl_system_header "#define TRITON_STK 2"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON ETN --STK2-- \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   1
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The TRITON board has only one serial port.  This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" : \
-                                                     "arm_xscale_triton_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/etn_stk2.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritlp32_stk2.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritlp32_stk2.cdl
deleted file mode 100755 (executable)
index 8de7ed0..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_tritlp32_stk2.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           31th March 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_LP32_STK2 {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_LP32_STK2 HAL package provides the support needed to run
-        eCos on a Karo TRITON LP/32S board located on a Starter Kit II."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH16_16"
-        puts $::cdl_system_header "#define TRITON_DRAM16_32_MOBILE"
-        puts $::cdl_system_header "#define TRITON_STK 2"
-        puts $::cdl_system_header "#define TRITON_CS2_8900"
-        puts $::cdl_system_header "#define TRITON_V_CPOWER"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON LP 32 MByte --STK2-- \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   1
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The TRITON board has only one serial port.  This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp32_roma" : \
-                                                     "arm_xscale_triton_lp32_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp32_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp32_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp32_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp32_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_lp32_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/lp32_sk2.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritlp_stk2.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_tritlp_stk2.cdl
deleted file mode 100755 (executable)
index c3b498b..0000000
+++ /dev/null
@@ -1,456 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_tritlp_stk2.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           31th March 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_LP_STK2 {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_LP_STK2 HAL package provides the support needed to run
-        eCos on a Karo TRITON LP board located on a Starter Kit II."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH16_16"
-        puts $::cdl_system_header "#define TRITON_DRAM16_16_MOBILE"
-        puts $::cdl_system_header "#define TRITON_STK 2"
-        puts $::cdl_system_header "#define TRITON_CS2_8900"
-        puts $::cdl_system_header "#define TRITON_V_CPOWER"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON LP --STK2-- \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The TRITON board has only one serial port.  This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_lp_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_lp_roma" : \
-                                                     "arm_xscale_triton_lp_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_lp_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_lp_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_lp_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_lp_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/lp_stk2.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triton_stk1.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triton_stk1.cdl
deleted file mode 100755 (executable)
index a97ac0c..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_tritetn_stk1.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           10th March 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_STK1 {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_STK1 HAL package provides the support needed to run
-        eCos on a Karo TRITON board located on a Starter Kit I."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH32_32"
-        puts $::cdl_system_header "#define TRITON_DRAM32_64"
-        puts $::cdl_system_header "#define TRITON_STK 1"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON  --STK1-- \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"ROM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   1
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            This option chooses which serial port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" : \
-                                                     "arm_xscale_triton_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/std_stk1.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triton_x.cdl b/packages/hal/arm/xscale/triton/v2_0/cdl/hal_arm_xscale_triton_x.cdl
deleted file mode 100755 (executable)
index 4ecfedd..0000000
+++ /dev/null
@@ -1,457 +0,0 @@
-# ====================================================================
-#
-#      hal_arm_xscale_triton_x.cdl
-#
-#      Ka-Ro TRITON architectural HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl
-# Original data:  usteinkohl
-# Contributors:
-# Date:           26th November 2003
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON_X {
-    display       "Karo Triton XScale evaluation boards"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The TRITON_X HAL package provides the support needed to run
-        eCos on a Karo TRITON X board."
-
-    compile hal_diag.c triton_misc.c
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton.h>"
-        puts $::cdl_system_header "#define TRITON_FLASH32_32"
-        puts $::cdl_system_header "#define TRITON_DRAM32_64"
-        puts $::cdl_system_header "#define TRITON_V_CPOWER"
-        puts $::cdl_system_header "#define TRITON_X_BOARD"
-       
-        puts $::cdl_system_header "#define TRITON_STK 2"
-               puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON  XXS \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"developed and produced by Ka-Ro electronics GmbH, Germany\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value   0
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    0
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    0
-         description      "
-            The TRITON board has only one serial port.  This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON_OPTIONS {
-        display "XScale TRITON build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON_TESTS {
-            display "XScale TRITON tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "arm_xscale_triton_roma" : \
-                                                     "arm_xscale_triton_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton_stk_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton_stk_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton_stk_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-           
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/triton_x.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-# the following causes cyclone specific tests to be built in.  
-# It might me nice/necessary to modify these for triton
-#          compile -library=libextras.a diag/diag.c diag/io_utils.c diag/external_timer.c \
-#                              diag/i557_eep.c diag/interrupts.c          \
-#                              diag/xscale_test.c diag/flash.c diag/lubduart.c            \
-#                               diag/ether_test.c diag/memtest.c diag/test_menu.c          \
-#                              diag/irq.S
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/dprintf.c b/packages/hal/arm/xscale/triton/v2_0/include/dprintf.c
deleted file mode 100755 (executable)
index 0208167..0000000
+++ /dev/null
@@ -1,370 +0,0 @@
-//     Full Function UART        
-#define FFRBR      ( 0x40100000 )          // Receive Buffer Register (read only)     
-#define FFTHR      ( 0x40100000 )          // Transmit Holding Register (write only)     
-#define FFIER      ( 0x40100004 )          // Interrupt Enable Register (read/write)     
-#define FFIIR      ( 0x40100008 )          // Interrupt ID Register (read only)     
-#define FFFCR      ( 0x40100008 )          // FIFO Control Register (write only)     
-#define FFLCR      ( 0x4010000C )          // Line Control Register (read/write)     
-#define FFMCR      ( 0x40100010 )          // Modem Control Register (read/write)     
-#define FFLSR      ( 0x40100014 )          // Line Status Register (read only)     
-#define FFMSR      ( 0x40100018 )          // Modem Status Register (read only)     
-#define FFSPR      ( 0x4010001C )          // Scratch Pad Register (read/write)     
-#define FFDLL      ( 0x40100000 )          // baud divisor lower byte (read/write)     
-#define FFDLH      ( 0x40100004 )          // baud divisor higher byte (read/write)     
-#define FFISR      ( 0x40100020 )          // slow Infrared Select Register (read/write)     
-
-
-#define ANY_DISP_SEG 0x8000      // Set if should be displayed as segmented
-
-#define FALSE 0
-#define TRUE 1
-
-typedef unsigned long DWORD;
-typedef unsigned short WORD;
-typedef unsigned char  BYTE;
-
-typedef int BOOL;
-
-
-typedef void   *   PVOID;
-typedef DWORD  *   PDWORD;
-typedef WORD   *   PWORD;
-typedef BYTE   *   PBYTE;
-typedef BOOL   *   PBOOL;
-typedef char   *   PSTR;
-typedef const char *    PCSTR;
-
-typedef WORD     ROMWORD;
-typedef DWORD    ROMDWORD;
-typedef BYTE     ROMBYTE;
-typedef char     ROMCHAR;
-typedef PCSTR    PROMCHAR;
-
-
-typedef void (* WRITECHAR)(BYTE);
-
-
-
-//
-// Address structure for printf %la and ScanAddress:
-//
-typedef struct {
-    WORD     Flags;
-    WORD     MemSpace;
-    DWORD    LinearAddress;
-    PVOID    SegAddress;
-} AnyAddress, * FPANYADDRESS;
-
-
-int
-tolower( int value) {
-       if (value >= 'A' && value <='Z') 
-               return (value + 0x20);
-       else
-               return value;
-}
-
-
-
-static void iprintf(char * format, ...);    // Internal printf
-
-static WRITECHAR writechar;
-
-/*
-** define global storage for the sprint routine
-*/
-char sprintbuf[1024];
-unsigned short sbindex;
-
-
-
-
-static void output_char(unsigned char data) {
-       while(!((*(volatile unsigned long int *)FFLSR) & 0x40)); // wait here for fifo not full
-       *(volatile unsigned long int *)FFTHR = (unsigned long int) data;
-}
-
-
-
-
-/////////////////////////////////////////////////////////////////////////
-// FillSpaces() prints out a given number of spaces or zeroes
-//
-static void FillSpaces(int Size, BOOL DoIt, BOOL FillZero)
-{
-    if (DoIt)
-        while (Size-- >0)
-            writechar((char) (FillZero ? '0' : ' '));
-}
-
-/////////////////////////////////////////////////////////////////////////
-// HexDigit() returns the correct hexadecimal digit for a number
-//
-char HexDigit(DWORD value, char UpperLower)
-{
-    if (value < 10)
-        return (char)(value + '0');
-
-    return (char)(value-10 + 'A' + UpperLower - 'X');
-}
-
-/////////////////////////////////////////////////////////////////////////
-// PrintAddress prints a standard (segment:offset) or long address.
-// It is an internal routine used by printf.
-//
-static void PrintAddress(PDWORD param, BOOL Long, WORD StringIndex)
-{
-    static BYTE string0[] = "%04X:%04lX";
-    static BYTE string1[] = "%04x:%04lx";
-    static BYTE string2[] = "%01X/%07lX";
-    static BYTE string3[] = "%01x/%07lx";
-
-    static BYTE * strings[] = {string0,string1,string2,string3};
-
-    FPANYADDRESS a;
-
-    DWORD LinearAddress = param[0];
-    DWORD  MemSpace      = param[1];
-    WORD  SegValue;
-
-    if (Long)
-    {
-        a = (FPANYADDRESS)*((PDWORD)param);
-        LinearAddress = a->LinearAddress;
-        MemSpace      = a->MemSpace;
-        SegValue      = 0;
-
-        if ((a->Flags & ANY_DISP_SEG) == 0)
-            StringIndex += 2;
-        else
-        {
-            MemSpace = ((WORD)(LinearAddress >> 4) - SegValue);
-            MemSpace &= 0xF000;
-            MemSpace +=  SegValue;
-            LinearAddress -= ((DWORD)MemSpace << 4);
-        }
-    }
-    iprintf(strings[StringIndex],MemSpace,LinearAddress);
-}
-
-/////////////////////////////////////////////////////////////////////////
-// Minimal printf implementation.  Supports:
-//  % [-] [0] [<length>] [l] [s|c|x|i|d|u]
-//
-//  -     == Left justify
-//  0     == Fill field with zeroes
-// length == Minimum field width
-//  l     == Doubleword for x|i|d|u
-//  s     == string pointer
-//  c     == single character
-//  x     == hex number
-//  i,d   == signed decimal number
-//  u     == unsigned number
-//  a     == address (segment:offset)
-//  la    == long address (AnyAddress type)
-//
-void vpprintf(WRITECHAR outroutine, PCSTR * ptrptr)
-{
-    static BYTE Percent[]      = "%";
-    static BYTE PercentQuery[] = "%???";
-    static BYTE NullMsg[]      = "";
-
-    PCSTR ptr     = *ptrptr;
-    PDWORD param   = (PDWORD)(ptrptr+1);
-    BOOL ZeroFill;
-    int  MinWidth;
-    BOOL Long;
-    enum {ParseIncomplete, ParseString, ParseNum, ParsePercent,
-                   ParseAddress, ParseNonsense} ParseType;
-    BOOL LeftJustify;
-    PSTR sPtr;
-    WORD NumBase;
-    BOOL Signed;
-    char ch;
-    char NumString[16];          // Holds largest number
-
-    writechar = outroutine;
-
-    for (;;)
-    {
-        switch (ch = *(ptr++))
-        {
-            case 0:
-               return;
-            case '%':
-                ZeroFill = FALSE;
-                MinWidth = 0;
-                Long = FALSE;
-                LeftJustify = FALSE;
-                sPtr = 0;
-                NumBase = 10;
-                Signed = FALSE;
-                ParseType = ParseIncomplete;
-                while (ParseType == ParseIncomplete)
-                    switch (tolower(ch = *(ptr++)))
-                    {
-                        case 0:
-                            ptr--;
-                            ParseType = ParseNonsense;
-                            break;
-                        case '-':
-                            LeftJustify = TRUE;
-                            break;
-                        case '0':
-                        case '1':
-                        case '2':
-                        case '3':
-                        case '4':
-                        case '5':
-                        case '6':
-                        case '7':
-                        case '8':
-                        case '9':
-                            MinWidth = MinWidth*10 + ch - '0';
-                            if (MinWidth == 0)
-                                ZeroFill = TRUE;
-                            break;
-                        case 'l':
-                            Long = TRUE;
-                            break;
-                        case 'c':
-                            sPtr = (PSTR)(param++);
-                            sPtr[1] = 0;
-                            ParseType = ParseString;
-                            break;
-                        case 's':
-                            sPtr = (PSTR)param[0];
-                            param ++;
-                            ParseType = ParseString;
-                            break;
-                        case 'x':
-                            NumBase = 16;
-                            ParseType = ParseNum;
-                            break;
-                        case 'd':
-                        case 'i':
-                            Signed = TRUE;
-                        case 'u':
-                            ParseType = ParseNum;
-                            break;
-                        case 'a':
-                            ParseType = ParseAddress;
-                            break;
-                        case '%':
-                            ParseType = ParsePercent;
-                            break;
-                        default:
-                            ParseType = ParseNonsense;
-                            break;
-                    }
-                switch (ParseType)
-                {
-                    case ParsePercent:
-                        sPtr = (PSTR)Percent;
-                        break;
-                    case ParseNonsense:
-                        sPtr = (PSTR)PercentQuery;
-                        break;
-
-                    case ParseAddress:
-                        MinWidth -= 9;
-                        FillSpaces(MinWidth,!LeftJustify,ZeroFill);
-                        PrintAddress(param,Long,(WORD)(ch=='a'));
-                        sPtr = (PSTR)NullMsg;
-                        param += 2;
-                        break;
-
-                    case ParseNum:
-                    {
-                        DWORD value;
-/*
-**  The following modification made to support the Microsoft 32 bit
-**  compiler (which is required because the MaCraigor API uses a
-**  DLL, which is only supported by the 32 bit compiler).
-**
-**  The 16 bit compiler aligns stack parameters as 16 bit words.  Thus
-**  a byte value passed as a parameter to the printf will be padded by
-**  a zero  to take up one word on the stack.  The else statement below
-**  would correctly get the byte value and then bump the parameter pointer
-**  past the pad char to point at the next parameter.
-**
-**  But in the 32 bit compiler, parameters are passed as DWORDs, or unsigned
-**  longs, and take up 32 bits on the stack.  Thus, the if(Long) is
-**  always true for the purposes of incrementing the param pointer.  param
-**  is of type LPWORD, so one increment moves it by two bytes.
-*/
-//                        if (Long)
-//                        {
-                            value = *((PDWORD)param);
-                            param ++;
-//                        }
-//                        else
-//                            value = *(((LPWORD)param)++);
-                        if (Signed)
-                        {
-                            Signed = (value >= (0x8000UL << (16*Long)));
-                            if (Signed)
-                            {
-                                value = 0-value;
-                                if (!Long)
-                                    value &= 0x7FFF;
-                            }
-                        }
-
-                        sPtr = &NumString[sizeof(NumString)];
-                        *(--sPtr) = 0;
-                        do {
-                            *(--sPtr) = HexDigit(value % NumBase,ch);
-                            value /= NumBase;
-                        } while (value > 0);
-                        if (Signed)
-                            *(--sPtr) = '-';
-                    }
-                }
-                MinWidth -= strlen(sPtr);
-                FillSpaces(MinWidth,!LeftJustify,ZeroFill);
-                while (*sPtr != 0)
-                    writechar(*(sPtr++));
-                FillSpaces(MinWidth,LeftJustify,FALSE);
-                break;
-
-            default:
-                writechar(ch);
-                               // if this was a line feed, also add a Carriage return
-                               if(ch == 0xa) writechar(0xd);
-                break;
-        }
-    }
-}
-
-/////////////////////////////////////////////////////////////////////////
-//   iprintf - Internal printf for recursion, doesn't alter writechar
-//
-static void iprintf(char * format, ...)
-{
-    vpprintf(writechar,(PCSTR *)&format);
-}
-
-/////////////////////////////////////////////////////////////////////////
-//   printf - 
-//
-void dprintf(char * format, ...)
-{
-    vpprintf(output_char,(PCSTR *)&format);
-}
-
-/* character write routine for sprintf */
-void putspbuf(char data)
-{
-       sprintbuf[sbindex++] = data;
-}
-/////////////////////////////////////////////////////////////////////////
-//   sprintf - 
-//
-void sprintf(char * buffer, char * format, ...)
-{
-       sbindex = 0;
-    vpprintf((WRITECHAR)putspbuf,(PCSTR *)&format);
-       putspbuf(0);
-       strcpy(buffer,sprintbuf);
-}
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/hal_cache.h b/packages/hal/arm/xscale/triton/v2_0/include/hal_cache.h
deleted file mode 100755 (executable)
index 485a052..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-#ifndef CYGONCE_HAL_CACHE_H
-#define CYGONCE_HAL_CACHE_H
-
-//=============================================================================
-//
-//      hal_cache.h
-//
-//      HAL cache control API
-//
-//=============================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   hmt
-// Contributors:hmt
-// Date:        1999-07-05
-// Purpose:     Cache control API
-// Description: The macros defined here provide the HAL APIs for handling
-//              cache control operations.
-// Usage:
-//              #include <cyg/hal/hal_cache.h>
-//              ...
-//              
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <cyg/infra/cyg_type.h>
-//#include <cyg/hal/hal_mmu.h>
-
-//-----------------------------------------------------------------------------
-// Cache dimensions
-
-#define HAL_DCACHE_SIZE                 0x8000 // Size of data cache in bytes
-#define HAL_DCACHE_LINE_SIZE            32     // Size of a data cache line
-#define HAL_DCACHE_WAYS                 32     // Associativity of the cache
-#define HAL_DCACHE_SETS (HAL_DCACHE_SIZE/(HAL_DCACHE_LINE_SIZE*HAL_DCACHE_WAYS))
-
-#define HAL_ICACHE_SIZE                 0x8000 // Size of icache in bytes
-#define HAL_ICACHE_LINE_SIZE            32     // Size of ins cache line
-#define HAL_ICACHE_WAYS                 32     // Associativity of the cache
-#define HAL_ICACHE_SETS (HAL_ICACHE_SIZE/(HAL_ICACHE_LINE_SIZE*HAL_ICACHE_WAYS))
-
-//-----------------------------------------------------------------------------
-// Global control of data cache
-
-// Enable the data cache
-#define HAL_DCACHE_ENABLE()                                             \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc  p15,0,r1,c7,c10,4;"   /* drain write buffer */            \
-        "mrc  p15,0,r1,c1,c0,0;"                                        \
-        "orr  r1,r1,#0x0007;"  /* enable DCache (also ensures the */    \
-                               /* MMU and alignment faults are    */    \
-                               /* enabled)                        */    \
-        "mcr  p15,0,r1,c1,c0,0;"                                        \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Disable the data cache (and invalidate it, required semanitcs)
-#define HAL_DCACHE_DISABLE()                                            \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc  p15,0,r1,c1,c0,0;"                                        \
-        "bic  r1,r1,#4;"                                                \
-        "mcr  p15,0,r1,c1,c0,0;"                                        \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "mcr    p15,0,r1,c7,c6,0;" /* invalidate data cache */          \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Invalidate the entire cache (and both TLBs, just in case)
-#define HAL_DCACHE_INVALIDATE_ALL()                                     \
-CYG_MACRO_START                                                         \
-    /* this macro can discard dirty cache lines. */                     \
-    asm volatile (                                                      \
-        "mcr    p15,0,r1,c7,c6,0;"  /* invalidate data cache */         \
-        "mcr    p15,0,r1,c8,c7,0;"  /* flush I+D TLBs */                \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-     
-
-// Synchronize the contents of the cache with memory.
-#define HAL_DCACHE_SYNC()                                               \
-CYG_MACRO_START                                                         \
-    /* The best way to evict a dirty line is by using the          */   \
-    /* line allocate operation on non-existent memory.             */   \
-    asm volatile (                                                      \
-        "mov    r0, #0xa4000000;"   /* cache flush region */            \
-        "add    r1, r0, #0x8000;"   /* 32KB cache         */            \
- "667: "                                                                \
-        "mcr    p15,0,r0,c7,c2,5;"  /* allocate a line    */            \
-        "add    r0, r0, #32;"       /* 32 bytes/line      */            \
-        "teq    r1, r0;"                                                \
-        "bne    667b;"                                                  \
-        "mcr    p15,0,r0,c7,c6,0;"  /* invalidate data cache */         \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "mcr    p15,0,r0,c7,c10,4;" /* and drain the write buffer */    \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "nop"                                                           \
-        :                                                               \
-        :                                                               \
-        : "r0","r1"      /* Clobber list */                             \
-        );                                                              \
-CYG_MACRO_END
-
-// Query the state of the data cache
-#define HAL_DCACHE_IS_ENABLED(_state_)                                  \
-CYG_MACRO_START                                                         \
-    register int reg;                                                   \
-    asm volatile ("mrc  p15,0,%0,c1,c0,0"                               \
-                  : "=r"(reg)                                           \
-                  :                                                     \
-                /*:*/                                                   \
-        );                                                              \
-    (_state_) = (0 != (4 & reg)); /* Bit 2 is DCache enable */          \
-CYG_MACRO_END
-
-// Set the data cache refill burst size
-//#define HAL_DCACHE_BURST_SIZE(_size_)
-
-// Set the data cache write mode
-//#define HAL_DCACHE_WRITE_MODE( _mode_ )
-
-#define HAL_DCACHE_WRITETHRU_MODE       0
-#define HAL_DCACHE_WRITEBACK_MODE       1
-
-// Get the current writeback mode - or only writeback mode if fixed
-#define HAL_DCACHE_QUERY_WRITE_MODE( _mode_ ) CYG_MACRO_START           \
-    _mode_ = HAL_DCACHE_WRITEBACK_MODE;                                 \
-CYG_MACRO_END
-
-
-//-----------------------------------------------------------------------------
-// Global control of Instruction cache
-
-// Enable the instruction cache
-#define HAL_ICACHE_ENABLE()                                             \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc  p15,0,r1,c1,c0,0;"                                        \
-        "orr  r1,r1,#0x1000;" /* enable ICache */                       \
-        "mcr  p15,0,r1,c1,c0,0;"                                        \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Disable the instruction cache (and invalidate it, required semanitcs)
-#define HAL_ICACHE_DISABLE()                                            \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc    p15,0,r1,c1,c0,0;"                                      \
-        "bic    r1,r1,#0x1000;" /* disable Icache */                    \
-        "mcr    p15,0,r1,c1,c0,0;"                                      \
-        "mcr    p15,0,r1,c7,c5,0;"  /* invalidate instruction cache */  \
-        "nop;" /* next few instructions may be via cache */             \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop"                                                           \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Invalidate the entire cache
-#define HAL_ICACHE_INVALIDATE_ALL()                                     \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mcr    p15,0,r1,c7,c5,0;"  /* clear instruction cache */       \
-        "mcr    p15,0,r1,c8,c5,0;"  /* flush I TLB only */              \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "nop;" /* next few instructions may be via cache */             \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop"                                                           \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-     
-
-// Synchronize the contents of the cache with memory.
-// (which includes flushing out pending writes)
-#define HAL_ICACHE_SYNC()                                       \
-CYG_MACRO_START                                                 \
-    HAL_DCACHE_SYNC(); /* ensure data gets to RAM */            \
-    HAL_ICACHE_INVALIDATE_ALL(); /* forget all we know */       \
-CYG_MACRO_END
-
-// Query the state of the instruction cache
-#define HAL_ICACHE_IS_ENABLED(_state_)                                  \
-CYG_MACRO_START                                                         \
-    /* SA-110 manual states clearly that the control reg is readable */ \
-    register cyg_uint32 reg;                                            \
-    asm volatile ("mrc  p15,0,%0,c1,c0,0"                               \
-                  : "=r"(reg)                                           \
-                  :                                                     \
-                /*:*/                                                   \
-        );                                                              \
-    (_state_) = (0 != (0x1000 & reg)); /* Bit 12 is ICache enable */    \
-CYG_MACRO_END
-
-
-//-----------------------------------------------------------------------------
-#endif // ifndef CYGONCE_HAL_CACHE_H
-// End of hal_cache.h
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/hal_diag.h b/packages/hal/arm/xscale/triton/v2_0/include/hal_diag.h
deleted file mode 100755 (executable)
index 72a9529..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef CYGONCE_HAL_DIAG_H
-#define CYGONCE_HAL_DIAG_H
-
-/*=============================================================================
-//
-//      hal_diag.h
-//
-//      HAL Support for Kernel Diagnostic Routines
-//
-//=============================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    nickg, gthomas
-// Contributors: nickg, gthomas
-// Date:         1998-09-11
-// Purpose:      HAL Support for Kernel Diagnostic Routines
-// Description:  Diagnostic routines for use during kernel development.
-// Usage:        #include <cyg/hal/hal_diag.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <pkgconf/hal.h>
-
-#include <cyg/infra/cyg_type.h>
-
-#if defined(CYGSEM_HAL_VIRTUAL_VECTOR_DIAG)
-
-#include <cyg/hal/hal_if.h>
-
-#define HAL_DIAG_INIT() hal_if_diag_init()
-#define HAL_DIAG_WRITE_CHAR(_c_) hal_if_diag_write_char(_c_)
-#define HAL_DIAG_READ_CHAR(_c_) hal_if_diag_read_char(&_c_)
-
-
-#define HAL_DELAY_US(n)          hal_delay_us(n);
-
-#else // everything by steam
-
-/*---------------------------------------------------------------------------*/
-/* functions implemented in hal_diag.c                                       */
-
-externC void hal_diag_init(void);
-externC void hal_diag_write_char(char c);
-externC void hal_diag_read_char(char *c);
-
-/*---------------------------------------------------------------------------*/
-
-#define HAL_DIAG_INIT() hal_diag_init()
-
-#define HAL_DIAG_WRITE_CHAR(_c_) hal_diag_write_char(_c_)
-
-#define HAL_DIAG_READ_CHAR(_c_) hal_diag_read_char(&_c_)
-
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
-/*---------------------------------------------------------------------------*/
-/* end of hal_diag.h                                                         */
-#endif /* CYGONCE_HAL_DIAG_H */
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/hal_platform_ints.h b/packages/hal/arm/xscale/triton/v2_0/include/hal_platform_ints.h
deleted file mode 100755 (executable)
index b73fbc0..0000000
+++ /dev/null
@@ -1,195 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_INTS_H
-#define CYGONCE_HAL_PLATFORM_INTS_H
-//==========================================================================
-//
-//      hal_platform_ints.h
-//
-//      HAL Interrupt and clock support
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter
-// Contributors: 
-// Date:         2000-10-10
-// Purpose:      Define Interrupt support
-// Description:  The interrupt details for the INPHINITY are defined here.
-// Usage:
-//               #include <cyg/hal/hal_platform_ints.h>
-//               ...
-//              
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#define DEBUG_INT 0
-
-// 1st level
-// 0-7 Reserved
-#define CYGNUM_HAL_INTERRUPT_GPIO0     8
-#define CYGNUM_HAL_INTERRUPT_GPIO1     9
-#define CYGNUM_HAL_INTERRUPT_GPIO      10
-#define CYGNUM_HAL_INTERRUPT_USB       11
-#define CYGNUM_HAL_INTERRUPT_PMU       12
-#define CYGNUM_HAL_INTERRUPT_I2S       13
-#define CYGNUM_HAL_INTERRUPT_AC97      14
-// 15,16 Reserved
-#define CYGNUM_HAL_INTERRUPT_LCD       17
-#define CYGNUM_HAL_INTERRUPT_I2C       18
-#define CYGNUM_HAL_INTERRUPT_ICP       19
-#define CYGNUM_HAL_INTERRUPT_STUART    20
-#define CYGNUM_HAL_INTERRUPT_BTUART    21
-#define CYGNUM_HAL_INTERRUPT_FFUART    22
-#define CYGNUM_HAL_INTERRUPT_MMC       23
-#define CYGNUM_HAL_INTERRUPT_SSP       24
-#define CYGNUM_HAL_INTERRUPT_DMA       25
-#define CYGNUM_HAL_INTERRUPT_TIMER0    26
-#define CYGNUM_HAL_INTERRUPT_TIMER1    27
-#define CYGNUM_HAL_INTERRUPT_TIMER2    28
-#define CYGNUM_HAL_INTERRUPT_TIMER3    29
-#define CYGNUM_HAL_INTERRUPT_HZ                30
-#define CYGNUM_HAL_INTERRUPT_ALARM     31
-
-
-
-// 2nd level
-#define CYGNUM_HAL_INTERRUPT_GPIO2     (32+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO3     (32+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO4     (32+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO5     (32+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO6     (32+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO7     (32+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO8     (32+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO9     (32+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO10    (32+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO11    (32+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO12    (32+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO13    (32+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO14    (32+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO15    (32+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO16    (32+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO17    (32+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO18    (32+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO19    (32+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO20    (32+20)
-#define CYGNUM_HAL_INTERRUPT_GPIO21    (32+21)
-#define CYGNUM_HAL_INTERRUPT_GPIO22    (32+22)
-#define CYGNUM_HAL_INTERRUPT_GPIO23    (32+23)
-#define CYGNUM_HAL_INTERRUPT_GPIO24    (32+24)
-#define CYGNUM_HAL_INTERRUPT_GPIO25    (32+25)
-#define CYGNUM_HAL_INTERRUPT_GPIO26    (32+26)
-#define CYGNUM_HAL_INTERRUPT_GPIO27    (32+27)
-#define CYGNUM_HAL_INTERRUPT_GPIO28    (32+28)
-#define CYGNUM_HAL_INTERRUPT_GPIO29    (32+29)
-#define CYGNUM_HAL_INTERRUPT_GPIO30    (32+30)
-#define CYGNUM_HAL_INTERRUPT_GPIO31    (32+31)
-
-#define CYGNUM_HAL_INTERRUPT_GPIO32    (64+0)
-#define CYGNUM_HAL_INTERRUPT_GPIO33    (64+1)
-#define CYGNUM_HAL_INTERRUPT_GPIO34    (64+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO35    (64+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO36    (64+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO37    (64+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO38    (64+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO39    (64+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO40    (64+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO41    (64+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO42    (64+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO43    (64+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO44    (64+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO45    (64+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO46    (64+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO47    (64+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO48    (64+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO49    (64+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO50    (64+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO51    (64+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO52    (64+20)
-#define CYGNUM_HAL_INTERRUPT_GPIO53    (64+21)
-#define CYGNUM_HAL_INTERRUPT_GPIO54    (64+22)
-#define CYGNUM_HAL_INTERRUPT_GPIO55    (64+23)
-#define CYGNUM_HAL_INTERRUPT_GPIO56    (64+24)
-#define CYGNUM_HAL_INTERRUPT_GPIO57    (64+25)
-#define CYGNUM_HAL_INTERRUPT_GPIO58    (64+26)
-#define CYGNUM_HAL_INTERRUPT_GPIO59    (64+27)
-#define CYGNUM_HAL_INTERRUPT_GPIO60    (64+28)
-#define CYGNUM_HAL_INTERRUPT_GPIO61    (64+29)
-#define CYGNUM_HAL_INTERRUPT_GPIO62    (64+30)
-#define CYGNUM_HAL_INTERRUPT_GPIO63    (64+31)
-
-#define CYGNUM_HAL_INTERRUPT_GPIO64    (96+0)
-#define CYGNUM_HAL_INTERRUPT_GPIO65    (96+1)
-#define CYGNUM_HAL_INTERRUPT_GPIO66    (96+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO67    (96+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO68    (96+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO69    (96+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO70    (96+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO71    (96+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO72    (96+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO73    (96+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO74    (96+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO75    (96+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO76    (96+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO77    (96+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO78    (96+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO79    (96+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO80    (96+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO81    (96+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO82    (96+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO83    (96+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO84    (96+20)
-
-externC void cyg_hal_xscale_soft_reset(CYG_ADDRESS);
-
-#define HAL_PLATFORM_RESET()   cyg_hal_xscale_soft_reset(HAL_PLATFORM_RESET_ENTRY)
-#define HAL_PLATFORM_RESET_ENTRY 0x00000000
-
-// *** remainder are reserved  ****
-#define CYGNUM_HAL_INT_
-
-#define CYGNUM_HAL_ISR_MIN               0
-#define CYGNUM_HAL_ISR_MAX               48
-
-#define CYGNUM_HAL_ISR_COUNT            (CYGNUM_HAL_ISR_MAX+1)
-
-// The vector used by the Real time clock
-#define CYGNUM_HAL_INTERRUPT_RTC        CYGNUM_HAL_INTERRUPT_TIMER
-//#define CYGNUM_HAL_INTERRUPT_RTC        CYGNUM_HAL_INTERRUPT_PMU_CCNT_OVFL
-
-extern void hal_delay_us(cyg_uint32 usecs);
-
-#define HAL_DELAY_US(n)          hal_delay_us(n);
-
-#endif // CYGONCE_HAL_PLATFORM_INTS_H
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/hal_platform_setup.h b/packages/hal/arm/xscale/triton/v2_0/include/hal_platform_setup.h
deleted file mode 100755 (executable)
index 1964ab9..0000000
+++ /dev/null
@@ -1,961 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
-#define CYGONCE_HAL_PLATFORM_SETUP_H
-
-/*=============================================================================
-//
-//             hal_platform_setup.h
-//
-//             Platform specific support for HAL (assembly code)
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):  usteinkohl
-// Contributors:
-// Date:               14th January 2003
-// Purpose:            KaRo TRITON platform specific support routines
-// Description:
-// Usage:              #include <cyg/hal/hal_platform_setup.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <pkgconf/system.h>            // System-wide configuration info
-#include CYGBLD_HAL_PLATFORM_H         // Platform specific configuration
-#include <cyg/hal/hal_triton.h>                // Platform specific hardware definitions
-#include <cyg/hal/hal_mmu.h>           // MMU definitions
-
-// Define macro used to diddle the LEDs during early initialization.
-// Can use r0+r1.  Argument in \x.
-#define CYGHWR_LED_MACRO nop ;
-
-// The main useful output of this file is PLATFORM_SETUP1: it invokes lots
-// of other stuff (may depend on RAM or ROM start).    The other stuff is
-// divided into further macros to make it easier to manage what's enabled
-// when.
-
-#if defined(CYG_HAL_STARTUP_ROM)
-#define PLATFORM_SETUP1 _platform_setup1
-//#define CYGHWR_HAL_ARM_HAS_MMU
-#else
-#define PLATFORM_SETUP1
-#endif
-
-#define RAM_BASE       0xa0000000
-#define        DRAM_SIZE       (64*1024*1024)          // max size of available SDRAM
-#define        DCACHE_SIZE     (32*1024)               // size of the Dcache
-#define DCACHE_FLUSH_AREA (RAM_BASE+DRAM_SIZE) // NB: needs page table support
-
-#if 0
-#define CPSR_IRQ_DISABLE       0x80    // IRQ disabled when =1
-#define CPSR_FIQ_DISABLE       0x40    // FIQ disabled when =1
-#define CPSR_FIQ_MODE          0x11
-#define CPSR_IRQ_MODE          0x12
-#define CPSR_SUPERVISOR_MODE   0x13
-#define CPSR_UNDEF_MODE                0x1B
-
-#define CPSR_MODE_BITS         0x1F
-
-#endif
-
-#define MMU_Control_BTB 0x800
-
-// Reserved area for battery backup SDRAM memory test
-// This area is not zeroed out by initialization code
-#define        SDRAM_BATTERY_TEST_BASE 0xA1FFFFF0      // base address of last 16 memory locations in a 32MB SDRAM
-
-       .macro MEM_TEST
-               nop
-       .endm
-
-       // Trigger the logic analyzer by writing a particular
-       // address, and triggering on that address.
-       .macro TRIGGER_LA_ON_ADDRESS address, reg0, reg1
-       mrc     p15, 0, \reg0, c1, c0, 0        // read ARM control register
-       //      CPWAIT  \reg0
-       ldr     \reg1, =\address
-       str     \reg0, [\reg1]
-       .endm
-
-       // Delay a bit
-       .macro DELAY_FOR cycles, reg0
-       ldr     \reg0, =\cycles
-       subs    \reg0, \reg0, #1
-       subne   pc, pc, #0xc
-       .endm
-
-       // wait for coprocessor write complete
-       .macro CPWAIT reg
-       mrc     p15, 0, \reg, c2, c0, 0
-       mov     \reg, \reg
-       sub     pc, pc, #4
-       .endm
-
-       // blink some times on GPIO10
-       .macro BLINK10 count
-       ldr     r4, =\count
-220961:
-       ldr     r1, =0x00000400         // we use GPIO10 for controlling the debug LED
-
-       ldr     r0, =GPCRx
-       str     r1, [r0]                // switch the LED on
-
-       ldr     r2, =0x00500000         // wait some time
-       mov     r3, #1
-998:
-       sub     r2, r2, r3
-       cmp     r2, #0
-       bne     998b
-
-       ldr     r0, =GPSRx              // switch the LED off
-       str     r1, [r0]
-
-       ldr     r2, =0x00500000         // wait some time
-       mov     r3, #1
-998:
-       sub     r2, r2, r3
-       cmp     r2, #0
-       bne     998b
-
-       sub     r4, r4, r3
-       cmp     r4, #0
-       bne     220961b
-       .endm
-
-       .macro TRITON_SET_REFR_VAL
-       // TRITON specific, DRAM specific !!!!!!!!!!!!!
-       // example:
-       // Refresh period for 4096 rows = 64 ms (47 memory cycles) for 99,5 MHz MCLK
-       // DRI = 64 ms * 99,5 MHz / (4096 * 32) = 48
-
-       ldr r3, =MDREFR
-       ldr r2, [r3]                    // read MDREFR value
-       ldr     r4, =0xFFF
-       bic r2, r2, r4                  // clear out value in DRI
-#ifdef TRITON_DRAM32_64
-       // DRI = 64 ms * 99,5 MHz / (8192 * 32) = 24   (0x18)
-       orr r2, r2, #0x00000018         // put in a valid SDRAM Refresh Interval (DRI)
-#endif
-#ifdef TRITON_DRAM16_16_MOBILE
-       // DRI = 64 ms * 99,5 MHz / (4096 * 32) = 48
-       orr r2, r2, #0x00000030         // put in a valid SDRAM Refresh Interval (DRI)
-#endif
-#ifdef TRITON_DRAM16_32_MOBILE
-       // DRI = 64 ms * 99,5 MHz / (8192 * 32) = 24
-       orr r2, r2, #0x00000018         // put in a valid SDRAM Refresh Interval (DRI)
-#endif
-
-       str     r2, [r3]                // store it
-
-       .endm
-
-       .macro TRITON_CONFIG_SDRAM_BANKS
-
-       // Banks configured for 64-Mbit SDRAM devices (12(13) row x 9 col x 4 internal banks)
-       // CAS latency = 3, 32/16-bit bus width,
-
-       ldr r3, =MDCNFG                 // sdram config -- sdram should remain disabled !!!!!
-
-#ifdef TRITON_DRAM32_64
-       ldr r2, =0x00000ac8             // 13 rows
-#endif
-#ifdef TRITON_DRAM16_16_MOBILE
-       ldr r2, =0x00000aac             // 12 rows / 9 col / 4 banks / 16 bit / CL3
-#endif
-#ifdef TRITON_DRAM16_32_MOBILE
-       ldr r2, =0x00000acc             // 13 rows / 9 col / 4 banks / 16 bit / CL3
-#endif
-
-       str r2, [r3]
-       .endm
-
-       // form a first-level section entry
-       .macro FL_SECTION_ENTRY base,x,ap,p,d,c,b
-       .word (\base << 20) | (\x << 12) | (\ap << 10) | (\p << 9) |\
-       (\d << 5) | (\c << 3) | (\b << 2) | 2
-       .endm
-
-       // form a first-level page table entry
-       .macro FL_PT_ENTRY base,d
-       // I wanted to use logical operations here, but since I am using symbols later
-       // to fill in the parameters, I had to use addition to force the assembler to
-       // do it right
-       .word \base + (\d << 5) + 1
-       .endm
-
-       // form a second level small page entry
-       .macro SL_SMPAGE_ENTRY base,ap3,ap2,ap1,ap0,c,b
-       .word (\base << 12) | (\ap3 << 10) | (\ap2 << 8) | (\ap1 << 6) |\
-       (\ap0 << 4) | (\c << 3) | (\b << 2) | 2
-       .endm
-
-       // form a second level extended small page entry
-       .macro SL_XSMPAGE_ENTRY base,x,ap,c,b
-       .word (\base << 12) | (\x << 6) | (\ap << 4) | (\c << 3) | (\b << 2) | 3
-       .endm
-
-       // start of platform setup
-       .macro _platform_setup1
-
-       // This is where we wind up immediately after reset. On the CYCLONE, we have
-       // to jump around a hole in flash which runs from 0x00001000 - 0x0001fff.
-       // We might not have to do this for TRITON
-       // The start of _platform_setup1 will be below 0x1000 and since we need to
-       // align the mmu table on a 16k boundary, we just branch around the page
-       // table which we will locate at FLASH_BASE+0x4000.
-       b _real_platform_setup
-
-       .p2align 13
-       // the following alignment creates the mmu table at address 0x4000.
-       mmu_table:
-
-       // 1MB of FLASH with i80312 MMRs mapped in using 4K small pages so we can
-       // set the access permission on flash and memory-mapped registers properly.
-       FL_PT_ENTRY mmu_table_flashbase, 0
-
-       // Remaining 63MB of FLASH area (Static Chip select 0)
-       //      rw, cacheable, non-bufferable
-       .set    __base, 1
-       .rept   0x040-0x001
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 1, 0
-       .set    __base, __base+1
-       .endr
-
-       // nothing interesting here, static chip select area 1 (Address Translation)
-       .rept   0x080 - 0x040
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 0, 0
-       .set    __base, __base+1
-       .endr
-
-       // nothing interesting here, static chip select area 2 (Address Translation)
-       .rept   0x0C0 - 0x080
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 0, 0
-       .set    __base, __base+1
-       .endr
-
-       // nothing interesting here, static chip select area 3 (Address Translation)
-       .rept   0x100 - 0x0C0
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 0, 0
-       .set    __base, __base+1
-       .endr
-
-       // nothing interesting here, static chip select area 4 (Address Translation)
-       .rept   0x140 - 0x100
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 0, 0
-       .set    __base, __base+1
-       .endr
-
-       // nothing interesting here, static chip select area 5 (Address Translation)
-       .rept   0x180 - 0x140
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 0, 0
-       .set    __base, __base+1
-       .endr
-
-       // nothing interesting here (Address Translation)
-       .rept   0xA00 - 0x180
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 0, 0
-       .set    __base, __base+1
-       .endr
-
-       // up to 64MB SDRAM
-       //      x=c=b=1
-       // first 1MB mapped by second level table
-       FL_PT_ENTRY mmu_table_rambase, 0
-       .set    __base, __base+1
-
-       // remainder of SDRAM mapped 1-to-1
-       .rept   0xC00 - 0xA01
-       FL_SECTION_ENTRY __base, 1, 3, 1, 0, 1, 1
-       .set    __base, __base+1
-       .endr
-
-       // Cache flush region.
-       // Don't need physical memory, just a cached area.
-       .rept   0xD00 - 0xC00
-       FL_SECTION_ENTRY __base, 0, 3, 0, 0, 1, 1
-       .set    __base, __base+1
-       .endr
-
-       // Invalid
-       .rept   0x1000 - 0xD00
-       .word 0
-       .set    __base, __base+1
-       .endr
-
-       // Immediately after the above table (at 0x8000) is the
-       // second level page table which breaks up the lowest 1MB
-       // of physical memory into 4KB sized virtual pages.
-       mmu_table_flashbase:
-       // Virtual address 0 (Flash boot code).
-       // Map 4k page at 0x00000000 virt --> 0xA0000000 physical
-       // This allows us to have a writable vector table.
-       //      Read-Write, cacheable, bufferable
-       SL_XSMPAGE_ENTRY 0xa0000, 1, 3, 1, 1
-
-       // Virtual address 0x1000 (Memory mapped registers)
-       // Map 1-to-1, but don't cache or buffer
-       //      Read-Write, non-cacheable, non-bufferable
-       .set    __base, 1
-       SL_SMPAGE_ENTRY __base, 3, 3, 3, 3, 0, 0
-       .set    __base, __base+1
-
-       // Virtual address 0x2000-0x100000 (remainder of flash1)
-       //      Read-Write, cacheable, non-bufferable
-       .rept   0x100 - 0x2
-       SL_SMPAGE_ENTRY __base, 3, 3, 3, 3, 1, 0
-       .set    __base, __base+1
-       .endr
-
-       // Now is the second level table for the first megabyte
-       // of DRAM.
-       mmu_table_rambase:
-       // Map 4k page at 0xa0000000 virt --> 0x00000000 physical
-       //      Read-Write, cacheable, non-bufferable
-       SL_SMPAGE_ENTRY 0x00000, 3, 3, 3, 3, 1, 0
-       .set    __base, __base+1
-
-       // Map remainder of first meg of SDRAM
-       //      Read-Write, cacheable, non-bufferable
-       .set    __base, 0xA0001
-       .rept   0x100 - 0x1
-       SL_XSMPAGE_ENTRY __base, 1, 3, 1, 1
-       .set    __base, __base+1
-       .endr
-
-_real_platform_setup://Angel SDRAM init code follows
-
-       // if we come out of sleep mode, check if there is a pointer
-       // from the os, and jump to it if so
-
-       ldr r0, =RCSR           // check reset source
-       ldr     r1, [r0]
-       and r1, r1, #4
-       cmp r1, #4
-       bne 1923f
-
-       ldr r2, =PSPR           // check if there is a pointer from the operating system
-       ldr r1, [r2]
-       cmp r1, #0
-       beq 1923f
-
-       ldr r3, =0x0000000f             // reset RCSR
-       str r3, [r0]
-
-       // get SDRAM out of Self Refresh
-       TRITON_SET_REFR_VAL
-       TRITON_CONFIG_SDRAM_BANKS
-
-       ldr r3, =MDREFR
-       ldr r2, [r3]            // read MDREFR value
-       bic r2, r2, #0x03800000 // clear all Free Running Clocks
-       orr r2, r2, #0x00010000 // assert MDREFR:K1RUN
-       bic r2, r2, #0x00020000 // clear MDREFR:K1DB2 -> SDRAM-CLK = MEMCLK
-       str r2, [r3]            // change from "self-refresh and clock-stop" to "self-refresh"
-       ldr r2, [r3]            // read MDREFR value (to make sure the previous value stuck) (this is in Tricia's code)
-
-       bic r2, r2, #0x00400000 // clear self-refresh bit
-       str r2, [r3]            // change from "self-refresh" to "Power Down"
-       orr r2, r2, #0x00008000 // assert MDREFR:E1PIN
-       str r2, [r3]            // change from "Power Down" to "PWRDWNX"
-       nop
-       nop                             // no write required to change from "PWRDWNX" to "NOP"
-
-       ldr r3, =MDCNFG         // sdram config -- sdram enable
-       ldr r2, [r3]
-       orr r2, r2, #0x00000001 // enable appropriate banks
-       str r2, [r3]
-
-       // initialize CPSR (machine state register)
-       mov     r0, #(CPSR_IRQ_DISABLE|CPSR_FIQ_DISABLE|CPSR_SUPERVISOR_MODE)
-       msr     cpsr, r0
-
-       /*      Set up the stack pointer to a fixed value */
-       ldr     r3, =0xa0700000
-       mov     sp, r3
-
-       ldr r2, =PSPR           // get pointer
-       ldr r1, [r2]
-       mov r15, r1                     // jump to pointer
-
-1923:
-       //      must set the GPIOs up before any chip selects will work
-       //GPCRx = 0xffffffff put a 0 on any of the GPIOs (0=unchanged, 1=drive 0)
-       // reset all first
-       ldr     r0, =GPCRx
-       ldr     r1, =0xffffffff
-       str     r1, [r0]
-       //GPCRy = 0xffffffff
-       ldr     r0, =GPCRy
-       ldr     r1, =0xffffffff
-       str     r1, [r0]
-       //GPCRz = 0xffffffff
-       ldr     r0, =GPCRz
-       ldr     r1, =0xffffffff
-       str     r1, [r0]
-
-       // GPSRx = 0x01800000 put a 1 on any of the GPIOs (0=unchanged, 1=drive 1)
-       ldr     r0, =GPSRx
-       ldr     r1, =0x01800000
-#ifdef TRITON_CS2_SMSC
-       ldr     r1, =0x01808000
-#endif
-
-#ifdef TRITON_CS2_8900
-       ldr     r1, =0x01808000
-#endif
-       str     r1, [r0]
-
-       //GPSRy = 0x70ff0000
-       ldr     r0, =GPSRy
-       ldr     r1, =0x70ff0800
-#ifdef TRITON_USE_STUART
-       ldr     r2, =0x00008000
-       orr     r1, r1, r2
-#endif
-       str     r1, [r0]
-
-       //GPSRz = 0x00000000
-       ldr     r0, =GPSRz
-       ldr     r1, =0x00000000
-       str     r1, [r0]
-
-       //GPDRx = 0x01800800 put the GPIOs in the correct direction (0=in, 1=out)
-       ldr     r0, =GPDRx
-       ldr     r1, =0x01800000         //vorher 0x01800400
-#ifdef TRITON_CS2_SMSC
-       ldr     r1, =0x01808800
-#endif
-#ifdef TRITON_CS2_8900
-       ldr     r1, =0x01808000
-#endif
-#if (TRITON_STK==1)
-       orr     r1, r1, #0x00000800
-#endif
-#ifdef GPIO_10_OUT
-       orr     r1, r1, #0x00000400
-#endif
-       str     r1, [r0]
-
-       //GPDRy = 0x7cff0280
-       ldr     r0, =GPDRy
-       ldr     r1, =0x7cff0a80
-#ifdef TRITON_USE_STUART
-       ldr     r2, =0x00008000
-       orr     r1, r1, r2
-#endif
-       str     r1, [r0]
-       //GPDRz = 0x00000000
-       ldr     r0, =GPDRz
-       ldr     r1, =0x00000000
-       str     r1, [r0]
-
-       //GAFR0x = 0x00000000  setup the alternate functions (00=normal, 01=alt fuct 1, etc)
-       ldr     r0, =GAFR0x
-       ldr     r1, =0x00000000
-#ifdef TRITON_CS2_SMSC
-       ldr     r1, =0x80000000
-#endif
-#ifdef TRITON_CS2_8900
-       ldr     r1, =0x80000000
-#endif
-       str     r1, [r0]
-
-       //GAFR1x = 0x00128140
-       ldr     r0, =GAFR1x
-       ldr     r1, =0x0012814
-       str     r1, [r0]
-
-       //GAFR0y = 0x00988050
-       ldr     r0, =GAFR0y
-       ldr     r1, =0x00988050
-#ifdef TRITON_USE_STUART
-       ldr     r2, =0x60000000
-       orr     r1, r1, r2
-#endif
-       str     r1, [r0]
-
-       //GAFR1y = 0x0005aaaa
-       ldr     r0, =GAFR1y
-       ldr     r1, =0x0005aaaa
-       str     r1, [r0]
-
-       //GAFR0z = 0x00000000
-       ldr     r0, =GAFR0z
-       ldr     r1, =0x00000000
-       str     r1, [r0]
-
-       //GAFR1z = 0x00000000
-       ldr     r0, =GAFR1z
-       ldr     r1, =0x00000000
-       str     r1, [r0]
-
-       //PSSR = 0x20 clear the RDH and PH bit in the PSSR
-       ldr     r0, =PSSR
-       ldr     r1, =0x30
-       str     r1, [r0]
-
-       ldr r3, =PCFR           // clear PCFR[FS] and PCFR[FP]
-       ldr r2, [r3]
-       bic r2, r2, #0x00000006
-       str r2, [r3]
-#ifdef GPIO_10_OUT
-       BLINK10 3
-#endif
-       MRC     p15, 0, r0, c0, c0, 0           // read the ID reg .... 0x69052100
-       // and display it if possible
-       // not possible for TRITON
-
-       // turn everything off
-       mov     r0, #0x78
-       mcr     p15, 0, r0, c1, c0, 0   // caches off -- MMU off or ID map
-
-       mcr p15, 0, R0, c7, c7, 0       // Invalidate the I & D cache, mini- d cache, and BTB
-
-       //MCR   p15, 0, r0, c7, c5, 0   // Invalidate the instruction cache and branch target buffer
-       //MCR   p15, 0, r0, c7, c6, 0   // Invalidate the data cache and mini-data cache
-
-       MCR p15, 0, r0, c7, c10, 4      // Drain write buffer -- r0 ignored
-
-                                       // CPWAIT macro
-       MRC p15, 0, R0, c2, c0, 0       // arbitrary read of CP15
-       MOV R0, R0                      // wait for it
-       SUB PC, PC, #4                  // branch to next instruction
-
-       nop
-       nop
-       nop
-       nop
-// setup manager access, interrupts, etc.
-// grant manager access to all domains
-       mvn     r0, #0          // all 1s
-       mcr     p15, 0, r0, c3, c0, 0
-                                       // all IRQs should be masked to prevent spurious IRQs
-       ldr     r3, =ICMR               // pending interrupts are masked from becoming active
-       mov     r2, #0
-       str     r2, [r3]
-
-       ldr     r3, =ICLR               // route all interrupts to CPU IRQ ( not to FIQ )
-       mov     r2, #0
-       str     r2, [r3]
-
-       ldr     r3, =ICCR               // only enabled and unmasked interrupts bring core out of idle
-       mov     r2, #1
-       str     r2, [r3]
-
-// Turn on the RTC circuit (if you want)
-
-       ldr     r1, =OSCC               // oscillator config reg
-       // turn on the 32.768 KHz clock for RTC, etc.
-       mov     r0, #0x2
-       str     r0, [r1]
-
-       // Wait 200 usec
-       ldr     r3, =OSCR       // reset the OS Timer Count to zero
-       mov     r2, #0
-       str     r2, [r3]
-       ldr     r4, =0x300      // really 0x2E1 is about 200usec, so 0x300 should be plenty
-
-10:
-       ldr     r2, [r3]
-       cmp     r4, r2
-       bgt     10b
-
-// CS0 : RDF=14(15), RDN=4 , RRR=2, 32 bits Flash
-// Suitable for 128-Mbit StrataFlash (Tcyc = 150 ns) and 100MHz MEMCLK
-       ldr     r3, =MSC0               // low  - bank 0 Flash
-#ifdef TRITON_FLASH32_32
-       ldr     r2, =0x7ff024d0
-#endif
-#ifdef TRITON_FLASH16_16
-       ldr     r2, =0x7ff024d8
-#endif
-
-#ifdef TRITON_CS2_SMSC
-       ldr     r4, =0x0000ffff
-       and     r2, r2, r4
-       ldr     r4, =0x12440000
-       orr     r2, r2, r4
-#endif
-#ifdef TRITON_CS2_8900
-       ldr     r4, =0x0000ffff
-       and     r2, r2, r4
-       ldr     r4, =0x12dc0000
-       orr     r2, r2, r4
-#endif
-       str     r2, [r3]
-       ldr     r2, [r3]                // need to read it back to make sure the value latches (see MSC section of manual)
-
-       ldr     r3, =MSC1
-       ldr     r2, =0x7ff07ff0
-       str     r2, [r3]
-       ldr     r2, [r3]                // need to read it back to make sure the value latches (see MSC section of manual)
-
-       ldr     r3, =MSC2
-       ldr     r2, =0x7ff07ff0
-       str     r2, [r3]
-       ldr     r2, [r3]                // need to read it back to make sure the value latches (see MSC section of manual)
-
-       // ********************************************************************
-       // Disable (mask) all interrupts at the interrupt controller
-
-       // clear the interrupt level register (use IRQ, not FIQ)
-       mov     r1, #0
-       ldr     r2,  =ICLR
-       str     r1,  [r2]
-
-       // mask all interrupts at the controller
-       ldr     r2,  =ICMR
-       str     r1,  [r2]
-
-       // make sure the DCACHE is off
-       mov     r0, #0x78               // turn everything off
-       mcr     p15, 0, r0, c1, c0, 0   // caches off, MMU off, etc.
-
-       TRITON_SET_REFR_VAL
-
-       ldr     r3, =SXCNFG
-       mov     r2, #0x0                // since Triton does not have SMROM, make register = 0
-       str     r2, [r3]                // store it
-
-       ldr     r3, =MDREFR
-       ldr     r2, [r3]                // read MDREFR value
-       bic     r2, r2, #0x03800000     // clear all Free Running Clocks
-       orr     r2, r2, #0x00010000     // assert MDREFR:K1RUN
-       bic     r2, r2, #0x00020000     // clear MDREFR:K1DB2 -> SDRAM-CLK = MEMCLK
-
-       str     r2, [r3]                // change from "self-refresh and clock-stop" to "self-refresh"
-       ldr     r2, [r3]                // read MDREFR value (to make sure the previous value stuck) (this is in Tricia's code)
-
-       bic     r2, r2, #0x00400000     // clear self-refresh bit
-       str     r2, [r3]                // change from "self-refresh" to "Power Down"
-       orr     r2, r2, #0x00008000     // assert MDREFR:E1PIN
-       str     r2, [r3]                // change from "Power Down" to "PWRDWNX"
-       nop
-       nop                     // no write required to change from "PWRDWNX" to "NOP"
-
-       TRITON_CONFIG_SDRAM_BANKS
-
-       //---- Wait 200 usec
-       ldr     r3, =OSCR       // reset the OS Timer Count to zero
-       mov     r2, #0
-       str     r2, [r3]
-       ldr     r4, =0x300      // really 0x2E1 is about 200usec, so 0x300 should be plenty
-10:
-       ldr     r2, [r3]
-       cmp     r4, r2
-       bgt     10b
-
-       ldr     r3, =SDRAM_B0
-       mov     r2, #9          // now must do 8 refresh or CBR commands before the first access
-10:                            // no we must do 9 because of errata 116
-       str     r3, [r3]
-       subs    r2, r2, #1
-       bne     10b
-
-       ldr     r3, =MDCNFG             // sdram config -- sdram enable
-       ldr     r2, [r3]
-       orr     r2, r2, #0x00000001     // enable appropriate banks
-       str     r2, [r3]
-
-       ldr     r3, =MDMRS              // write the MDMRS
-       mov     r2, #0                  // the writable bits will be written as a 0 (Tricia's code writes 0x00320032)
-       str     r2, [r3]
-#ifdef TRITON_DRAM16_16_MOBILE
-       ldr     r3, =MDMRSLP
-       ldr     r2, =0x0000a000
-       str     r2, [r3]
-#endif
-#ifdef TRITON_DRAM16_32_MOBILE
-       ldr     r3, =MDMRSLP
-       ldr     r2, =0x0000c000
-       str     r2, [r3]
-#endif
-       //---- Wait 600 usec
-       ldr     r3, =OSCR               // reset the OS Timer Count to zero
-       mov     r2, #0
-       str     r2, [r3]
-       ldr     r4, =0x900              // really 0x2E1 is about 200usec, so 0x300 should be plenty
-10:
-       ldr     r2, [r3]
-       cmp     r4, r2
-       bgt     10b
-
-       MEM_TEST
-#if 0
-       /*      Set up the stack pointer to a fixed value */
-       ldr     r3, =0xa0700000
-       mov     sp, r3
-
-       // if we come out of sleep mode, check if there is a pointer
-       // from the os, and jump to it if so
-
-       ldr     r0, =RCSR               // check reset source
-       ldr     r1, [r0]
-       and     r1, r1, #4
-       cmp     r1, #4
-       bne     1923f
-
-       ldr     r2, =PSPR               // check if there is a pointer from the operating system
-       ldr     r1, [r2]
-       cmp     r1, #0
-       beq     1923f
-
-       ldr     r3, =0x0000000f // reset RCSR
-       str     r3, [r0]
-
-       // initialize CPSR (machine state register)
-       mov     r0, #(CPSR_IRQ_DISABLE|CPSR_FIQ_DISABLE|CPSR_SUPERVISOR_MODE)
-       msr     cpsr, r0
-
-       mov     r15, r1         // jump to pointer
-1923:
-#endif
-
-_sdram_init_end:
-//
-//
-// Change Frequency!!!
-//
-//
-#if 0
-       ldr     r4, =0x145      // PxBus = 165,9 MHz MEM/LCD Clock = 165,9 MHz SDRAM-Clock 83 MHz
-       ldr     r2, =CCCR       // Core Clock Config Reg
-       str     r4, [r2]        // set speed
-
-       // set to Frequency Change Mode
-       mov     r0, #0x3
-       mcr     p14, 0, r0, c6, c0, 0   // write to the CCLKCFG coprocessor reg
-                                       // no TURBO-mode is set here
-#endif
-       // Enable access to all coprocessor registers
-       ldr     r0, =0x2001             // enable access to all coprocessors
-       mcr     p15, 0, r0, c15, c1, 0
-
-       mcr     p15, 0, r0, c7, c10, 4  // drain the write & fill buffers
-       CPWAIT  r0
-
-       mcr     p15, 0, r0, c7, c7, 0   // flush Icache, Dcache and BTB
-       CPWAIT  r0
-
-       mcr     p15, 0, r0, c8, c7, 0   // flush instuction and data TLBs
-       CPWAIT  r0
-
-       // Enable the Icache
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_I
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-       // Set the TTB register
-       ldr     r0, =mmu_table
-       mcr     p15, 0, r0, c2, c0, 0
-
-       // Enable permission checks in all domains
-       ldr     r0, =0x55555555
-       mcr     p15, 0, r0, c3, c0, 0
-
-       // Enable the MMU
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_M
-       orr     r0, r0, #MMU_Control_R
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-       mcr     p15, 0, r0, c7, c10, 4  // drain the write & fill buffers
-       CPWAIT  r0
-
-       // Enable the Dcache
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_C
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-       // Enable the BTB
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_BTB
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-       // clean/drain/flush the main Dcache
-       mov     r1, #DCACHE_FLUSH_AREA  // use a CACHEABLE area of
-                                       // the memory map above SDRAM
-       mov     r0, #1024               // number of lines in the Dcache
-20:
-       mcr     p15, 0, r1, c7, c2, 5   // allocate a Dcache line
-/* increment the address to the next cache line */
-       add     r1, r1, #32
-// decrement the loop count
-       subs    r0, r0, #1              // decrement the loop count
-       bne     20b
-
-       // clean/drain/flush the mini Dcache
-       ldr     r2, =(DCACHE_FLUSH_AREA+DCACHE_SIZE) // use a CACHEABLE area of
-                                       // the memory map above SDRAM
-       mov     r0, #64                 // number of lines in the mini Dcache
-21:
-       mcr     p15, 0, r2, c7, c2, 5   // allocate a Dcache line
-       add     r2, r2, #32             // increment the address to
-                                       // the next cache line
-       subs    r0, r0, #1              // decrement the loop count
-       bne     21b
-
-       mcr     p15, 0, r0, c7, c6, 0   // flush Dcache
-       CPWAIT  r0
-
-       mcr     p15, 0, r0, c7, c10, 4  // drain the write & fill buffers
-       CPWAIT  r0
-#if 1
-       mov     r0, #0x1000000
-1:
-       subs    r0, r0, #1
-       bne     1b
-#endif
-       // Save SDRAM size
-       ldr     r1, =hal_dram_size      // [see hal_intr.h]
-       str     r8, [r1]
-
-       // Move mmu tables into RAM so page table walks by the cpu
-       // don't interfere with FLASH programming.
-       ldr     r0, =mmu_table
-       mov     r4, r0
-       add     r2, r0, #0x4800         // End of tables
-       mov     r1, #RAM_BASE
-       orr     r1, r1, #0x4000         // RAM tables
-       mov     r5, r1
-
-       // first, fixup physical address to second level
-       // table used to map first 1MB of flash.
-       ldr     r3, [r0], #4
-       sub     r3, r3, r4
-       add     r3, r3, r5
-       str     r3, [r1], #4
-       // everything else can go as-is
-1:
-       ldr     r3, [r0], #4
-       str     r3, [r1], #4
-       cmp     r0, r2
-       bne     1b
-
-       // go back and fixup physical address to second level
-       // table used to map first 1MB of SDRAM.
-       add     r1, r5, #(0xA00 * 4)
-       ldr     r0, [r1]                // entry for first 1MB of DRAM
-       sub     r0, r0, r4
-       add     r0, r0, r5
-       str     r0, [r1]                // store it back
-
-       // Flush the cache
-       mov     r0, #DCACHE_FLUSH_AREA  /* cache flush region */
-       add     r1, r0, #0x8000 /* 32KB cache   */
-667:
-       mcr     p15, 0, r0, c7, c2, 5   /* allocate a line      */
-       add     r0, r0, #32             /* 32 bytes/line        */
-       teq     r1, r0
-       bne     667b
-       mcr     p15, 0, r0, c7, c6, 0   /* invalidate data cache */
-       /* cpuwait */
-       mrc     p15, 0, r1, c2, c0, 0   /* arbitrary read       */
-       mov     r1, r1
-       sub     pc, pc, #4
-       mcr     p15, 0, r0, c7, c10, 4
-       /* cpuwait */
-       mrc     p15, 0, r1, c2, c0, 0   /* arbitrary read       */
-       mov     r1, r1
-       sub     pc, pc, #4
-       nop
-
-       // Set the TTB register to DRAM mmu_table
-       mov     r0, r5
-       mov     r1, #0
-       mcr     p15, 0, r1, c7, c5, 0   // flush I cache
-       mcr     p15, 0, r1, c7, c10, 4  // drain WB
-       mcr     p15, 0, r0, c2, c0, 0   // load page table pointer
-       mcr     p15, 0, r1, c8, c7, 0   // flush TLBs
-       CPWAIT  r0
-
-       //Disable software and data breakpoints
-       mov     r0, #0
-       mcr     p15, 0, r0, c14, c8, 0  // ibcr0
-       mcr     p15, 0, r0, c14, c9, 0  // ibcr1
-       mcr     p15, 0, r0, c14, c4, 0  // dbcon
-
-       //Enable all debug functionality
-       mov     r0, #0x80000000
-       mcr     p14, 0, r0, c10, c0, 0  // dcsr
-#if 0
-220961:
-       ldr     r1, =0x00000800         // we use GPIO23 for controlling the debug LED
-
-       ldr     r0, =GPCRx
-       str     r1, [r0]                // switch the LED on
-
-       ldr     r2, =0x00500000         // wait some time
-       mov     r3, #1
-998:
-       sub     r2, r2, r3
-       cmp     r2, #0
-       bne     998b
-
-       ldr     r0, =GPSRx              // switch the LED off
-       str     r1, [r0]
-
-       ldr     r2, =0x00500000         // wait some time
-       mov     r3, #1
-998:
-       sub     r2, r2, r3
-       cmp     r2, #0
-       bne     998b
-
-       b       220961b
-#endif
-       mov     r0, #0
-
-       //---- Wait 200 usec
-       ldr     r3, =OSCR                       // reset the OS Timer Count to zero
-       mov     r2, #0
-       str     r2, [r3]
-       ldr     r4, =0x300              // really 0x2E1 is about 200usec, so 0x300 should be plenty
-10:
-       add     r0, r0, #1
-       ldr     r2, [r3]
-       cmp     r4, r2
-       bgt     10b
-
-       ldr     r2, =0xa0800000
-       str     r0, [r2]
-       .endm   // _platform_setup1
-/*----------------------------------------------------------------------*/
-/* end of hal_platform_setup.h                                         */
-#endif /* CYGONCE_HAL_PLATFORM_SETUP_H */
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/hal_triton.h b/packages/hal/arm/xscale/triton/v2_0/include/hal_triton.h
deleted file mode 100755 (executable)
index 2ba2970..0000000
+++ /dev/null
@@ -1,605 +0,0 @@
-#ifndef CYGONCE_HAL_TRITON_H
-#define CYGONCE_HAL_TRITON_H
-
-/*=============================================================================
-//
-//     hal_triton.h
-//
-//     HAL Description of PXA250PXA255 control registers
-//     and ARM memory control in general.
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   usteinkohl
-// Contributors: usteinkohl 
-// Date:        14th January 2003
-// Purpose:     Intel PXA250/PXA255 register and Ka-Ro TRITON hardware descriptions
-// Description:
-// Usage:       #include <cyg/hal/hal_triton.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-/*******************/
-/* TRITON Devices */
-/*******************/
-
-#include <pkgconf/system.h>            // System-wide configuration info
-
-#define BOOT_ROM       0x00000000    /* Boot ROM (Flash) */
-#define SDRAM_B0       0xA0000000    /* 64 MByte of SDRAM Bank 0 */
-
-#define BOOTFLASHSIZE  0x2000000      /* BOOT FLASH - 32 Mbytes */
-#define SDRAMBANK0SIZE 0x2000000     /* SDRAM bank 0 - 32 Mbytes */
-
-/* On-Board Ethernet (physical addrs) */
-#if (TRITON_STK==2)                                                            /* use onboard ethernet controller */
-#define SMC91C111_ETH_IOBASE           0x04000300  /* I/O base */
-#define IRQ_GPIO_ETH                   CYGNUM_HAL_INTERRUPT_GPIO4
-#elif (TRITON_STK==1)
-#define SMC91C111_ETH_IOBASE           0x21800000  /* I/O base */
-#define IRQ_GPIO_ETH                   CYGNUM_HAL_INTERRUPT_GPIO0
-#else
-       #error: unknown starter kit type
-#endif
-
-#define I2C_PCF8574_DEVADR                     (0x40)
-
-#define CS8900A_ETH_IOBASE             0x04000300  /* I/O base */
-#define IRQ_GPIO_CS8900A               CYGNUM_HAL_INTERRUPT_GPIO4
-
-#ifndef __ASSEMBLER__
-typedef                struct pin_i2c_t_tag {
-                       unsigned char scl_no;
-                       unsigned char sda_no;
-                       } pin_i2c_t;
-
-#define __REG(x)       ((volatile unsigned long *)(x))
-
-// i2c function prototypes
-void init_i2c(void);
-cyg_int32 write_i2c_pcf8574(cyg_uint8 device_adr, cyg_uint8 dat_value);
-cyg_int32 read_i2c_pcf8574(cyg_uint8 device_adr);
-
-void init_i2c_pp(void);                /* init i2c par. port */
-
-void triton_program_new_stack(void *func);
-
-void pin_i2c_setup(pin_i2c_t *pin_data);
-void bus_out(pin_i2c_t *pin_data, unsigned char pdata);
-int bus_in(pin_i2c_t *pin_data);
-void i2c_start(pin_i2c_t *pin_data);
-void i2c_stop(pin_i2c_t *pin_data);
-int i2c_read_ack(pin_i2c_t *pin_data);
-void i2c_write_ack(pin_i2c_t *pin_data);
-void i2c_write_nack(pin_i2c_t *pin_data);
-void i2c_slave_addr(pin_i2c_t *pin_data, unsigned char dev, unsigned char mode);
-void i2c_read(pin_i2c_t *pin_data, unsigned char *res);
-void i2c_write(pin_i2c_t *pin_data, unsigned char val);
-
-int se_read(pin_i2c_t *pin_data, unsigned char addr, unsigned char dev_address, unsigned int numb, char *dat);
-int se_write(pin_i2c_t *pin_data, unsigned char addr,unsigned char dev_address, unsigned char val);
-
-int ltc1663_write(pin_i2c_t *pin_data, unsigned char dev_address, unsigned char command, unsigned short val);
-
-int set_alternate_function(unsigned char gpio_nr, unsigned char function_code);
-int set_pin_dir(unsigned char pin_no, unsigned char io_code);          /* 0=input 1=output */
-int set_pin(unsigned char pin_no);
-int get_pin_status(unsigned char pin_no);
-int clear_pin(unsigned char pin_no);
-int set_rising_edge(unsigned char pin_no, unsigned char io_code);      /* 0= disable  1= enable */
-int set_falling_edge(unsigned char pin_no, unsigned char io_code);     /* 0= disable  1= enable */
-int clear_edge(unsigned char pin_no);
-int detect_edge(unsigned char pin_no);
-
-void reset_cp_dac(void);
-#else
-#define __REG(x)       (x)
-#endif
-
-#define NUM_GPIOS      85
-
-//     Memory Controller 0x48000000           
-#define MDCNFG __REG(0x48000000)       // SDRAM configuration register 0
-#define MDREFR __REG(0x48000004)       // SDRAM refresh control register
-#define MSC0   __REG(0x48000008)       // Static memory control register 0
-#define MSC1   __REG(0x4800000C)       // Static memory control register 1
-#define MSC2   __REG(0x48000010)       // Static memory control register 2
-#define MECR   __REG(0x48000014)       // Expansion memory (PCMCIA / Compact Flash) bus configuration register
-#define SXLCR  __REG(0x48000018)       // LCR value to be written to SDRAM-Timing Synchronous Flash
-#define SXCNFG __REG(0x4800001C)       // Synchronous static memory control register
-#define FLYCNFG __REG(0x48000020)      // Fly by DMA DVAL assert and deassert times
-#define SXMRS  __REG(0x48000024)       // MRS value to be written to Synchronous Flash or SMROM
-#define MCMEM0 __REG(0x48000028)       // Card interface Common Memory Space Socket 0 Timing Configuration
-#define MCMEM1 __REG(0x4800002C)       // Card interface Common Memory Space Socket 1 Timing Configuration
-#define MCATT0 __REG(0x48000030)       // Card interface Attribute Space Socket 0 Timing Configuration
-#define MCATT1 __REG(0x48000034)       // Card interface Attribute Space Socket 1 Timing Configuration
-#define MCIO0  __REG(0x48000038)       // Card interface I/O Space Socket 0 Timing Configuration
-#define MCIO1  __REG(0x4800003C)       // Card interface I/O Space Socket 1 Timing Configuration
-#define MDMRS  __REG(0x48000040)       // MRS value to be written to SDRAM
-#define MDMRSLP __REG(0x48000058)      // extended MRS value to be written to SDRAM
-
-#define BOOTDEF __REG(0x48000044)      // Read-Only Boot-time register. Contains BOOT_SEL and PKG_SEL values.
-//     LCD Controller 0x44000000  
-#define LCCR0  __REG(0x44000000)       // LCD controller control register 0
-#define LCCR1  __REG(0x44000004)       // LCD controller control register 1
-#define LCCR2  __REG(0x44000008)       // LCD controller control register 2
-#define LCCR3  __REG(0x4400000C)       // LCD controller control register 3
-#define FDADR0 __REG(0x44000200)       // DMA channel 0 frame descriptor address register
-#define FSADR0 __REG(0x44000204)       // DMA channel 0 frame source address register
-#define FIDR0  __REG(0x44000208)       // DMA channel 0 frame ID register
-#define LDCMD0 __REG(0x4400020C)       // DMA channel 0 command register
-#define FDADR1 __REG(0x44000210)       // DMA channel 1 frame descriptor address register
-#define FSADR1 __REG(0x44000214)       // DMA channel 1 frame source address register
-#define FIDR1  __REG(0x44000218)       // DMA channel 1 frame ID register
-#define LDCMD1 __REG(0x4400021C)       // DMA channel 1 command register
-#define FBR0   __REG(0x44000020)       // DMA channel 0 frame branch register
-#define FBR1   __REG(0x44000024)       // DMA channel 1 frame branch register
-#define LCSR   __REG(0x44000038)       // LCD controller status register
-#define LIIDR  __REG(0x4400003C)       // LCD controller interrupt ID register
-#define TRGBR  __REG(0x44000040)       // TMED RGB Seed Register
-#define TCR    __REG(0x44000044)       // TMED Control Register
-//     DMA Controller 0x40000000  
-#define DCSR0  __REG(0x40000000)       // DMA Control / Status Register for Channel 0
-#define DCSR1  __REG(0x40000004)       // DMA Control / Status Register for Channel 1
-#define DCSR2  __REG(0x40000008)       // DMA Control / Status Register for Channel 2
-#define DCSR3  __REG(0x4000000c)       // DMA Control / Status Register for Channel 3
-#define DCSR4  __REG(0x40000010)       // DMA Control / Status Register for Channel 4
-#define DCSR5  __REG(0x40000014)       // DMA Control / Status Register for Channel 5
-#define DCSR6  __REG(0x40000018)       // DMA Control / Status Register for Channel 6
-#define DCSR7  __REG(0x4000001c)       // DMA Control / Status Register for Channel 7
-#define DCSR8  __REG(0x40000020)       // DMA Control / Status Register for Channel 8
-#define DCSR9  __REG(0x40000024)       // DMA Control / Status Register for Channel 9
-#define DCSR10 __REG(0x40000028)       // DMA Control / Status Register for Channel 10
-#define DCSR11 __REG(0x4000002c)       // DMA Control / Status Register for Channel 11
-#define DCSR12 __REG(0x40000030)       // DMA Control / Status Register for Channel 12
-#define DCSR13 __REG(0x40000034)       // DMA Control / Status Register for Channel 13
-#define DCSR14 __REG(0x40000038)       // DMA Control / Status Register for Channel 14
-#define DCSR15 __REG(0x4000003c)       // DMA Control / Status Register for Channel 15
-#define DINT   __REG(0x400000f0)       // DMA Interrupt Register
-#define DRCMR0 __REG(0x40000100)       // Request to Channel Map Register for DREQ 0 (companion chip request 0)
-#define DRCMR1 __REG(0x40000104)       // Request to Channel Map Register for DREQ 1 (companion chip request 1)
-#define DRCMR2 __REG(0x40000108)       // Request to Channel Map Register for I2S receive Request
-#define DRCMR3 __REG(0x4000010c)       // Request to Channel Map Register for I2S transmit Request
-#define DRCMR4 __REG(0x40000110)       // Request to Channel Map Register for BTUART receive Request
-#define DRCMR5 __REG(0x40000114)       // Request to Channel Map Register for BTUART transmit Request.
-#define DRCMR6 __REG(0x40000118)       // Request to Channel Map Register for FFUART receive Request
-#define DRCMR7 __REG(0x4000011c)       // Request to Channel Map Register for FFUART transmit Request
-#define DRCMR8 __REG(0x40000120)       // Request to Channel Map Register for AC97 microphone Request
-#define DRCMR9 __REG(0x40000124)       // Request to Channel Map Register for AC97 modem receive Request
-#define DRCMR10 __REG(0x40000128)      // Request to Channel Map Register for AC97 modem transmit Request
-#define DRCMR11 __REG(0x4000012c)      // Request to Channel Map Register for AC97 audio receive Request
-#define DRCMR12 __REG(0x40000130)      // Request to Channel Map Register for AC97 audio transmit Request
-#define DRCMR13 __REG(0x40000134)      // Request to Channel Map Register for SSP receive Request
-#define DRCMR14 __REG(0x40000138)      // Request to Channel Map Register for SSP transmit Request
-#define DRCMR15 __REG(0x4000013c)      // Reserved
-#define DRCMR16 __REG(0x40000140)      // Reserved
-#define DRCMR17 __REG(0x40000144)      // Request to Channel Map Register for ICP receive Request
-#define DRCMR18 __REG(0x40000148)      // Request to Channel Map Register for ICP transmit Request
-#define DRCMR19 __REG(0x4000014c)      // Request to Channel Map Register for STUART receive Request
-#define DRCMR20 __REG(0x40000150)      // Request to Channel Map Register for STUART transmit Request
-#define DRCMR21 __REG(0x40000154)      // Request to Channel Map Register for MMC receive Request
-#define DRCMR22 __REG(0x40000158)      // Request to Channel Map Register for MMC transmit Request
-#define DRCMR23 __REG(0x4000015c)      // RESERVED
-#define DRCMR24 __REG(0x40000160)      // RESERVED
-#define DRCMR25 __REG(0x40000164)      // Request to Channel Map Register for USB endpoint 1 Request
-#define DRCMR26 __REG(0x40000168)      // Request to Channel Map Register for USB endpoint 2 Request
-#define DRCMR27 __REG(0x4000016C)      // Request to Channel Map Register for USB endpoint 3 Request
-#define DRCMR28 __REG(0x40000170)      // Request to Channel Map Register for USB endpoint 4 Request
-#define DRCMR29 __REG(0x40000174)      // RESERVED
-#define DRCMR30 __REG(0x40000178)      // Request to Channel Map Register for USB endpoint 6 Request
-#define DRCMR31 __REG(0x4000017C)      // Request to Channel Map Register for USB endpoint 7 Request
-#define DRCMR32 __REG(0x40000180)      // Request to Channel Map Register for USB endpoint 8 Request
-#define DRCMR33 __REG(0x40000184)      // Request to Channel Map Register for USB endpoint 9 Request
-#define DRCMR34 __REG(0x40000188)      // RESERVED
-#define DRCMR35 __REG(0x4000018C)      // Request to Channel Map Register for USB endpoint 11 Request
-#define DRCMR36 __REG(0x40000190)      // Request to Channel Map Register for USB endpoint 12 Request
-#define DRCMR37 __REG(0x40000194)      // Request to Channel Map Register for USB endpoint 13 Request
-#define DRCMR38 __REG(0x40000198)      // Request to Channel Map Register for USB endpoint 14 Request
-#define DRCMR39 __REG(0x4000019C)      // RESERVED
-#define DDADR0 __REG(0x40000200)       // DMA Descriptor Address Register channel 0
-#define DSADR0 __REG(0x40000204)       // DMA Source Address Register channel 0
-#define DTADR0 __REG(0x40000208)       // DMA Target Address Register channel 0
-#define DCMD0  __REG(0x4000020C)       // DMA Command Address Register channel 0
-#define DDADR1 __REG(0x40000210)       // DMA Descriptor Address Register channel 1
-#define DSADR1 __REG(0x40000214)       // DMA Source Address Register channel 1
-#define DTADR1 __REG(0x40000218)       // DMA Target Address Register channel 1
-#define DCMD1  __REG(0x4000021C)       // DMA Command Address Register channel 1
-#define DDADR2 __REG(0x40000220)       // DMA Descriptor Address Register channel 2
-#define DSADR2 __REG(0x40000224)       // DMA Source Address Register channel 2
-#define DTADR2 __REG(0x40000228)       // DMA Target Address Register channel 2
-#define DCMD2  __REG(0x4000022C)       // DMA Command Address Register channel 2
-#define DDADR3 __REG(0x40000230)       // DMA Descriptor Address Register channel 3
-#define DSADR3 __REG(0x40000234)       // DMA Source Address Register channel 3
-#define DTADR3 __REG(0x40000238)       // DMA Target Address Register channel 3
-#define DCMD3  __REG(0x4000023C)       // DMA Command Address Register channel 3
-#define DDADR4 __REG(0x40000240)       // DMA Descriptor Address Register channel 4
-#define DSADR4 __REG(0x40000244)       // DMA Source Address Register channel 4
-#define DTADR4 __REG(0x40000248)       // DMA Target Address Register channel 4
-#define DCMD4  __REG(0x4000024C)       // DMA Command Address Register channel 4
-#define DDADR5 __REG(0x40000250)       // DMA Descriptor Address Register channel 5
-#define DSADR5 __REG(0x40000254)       // DMA Source Address Register channel 5
-#define DTADR5 __REG(0x40000258)       // DMA Target Address Register channel 5
-#define DCMD5  __REG(0x4000025C)       // DMA Command Address Register channel 5
-#define DDADR6 __REG(0x40000260)       // DMA Descriptor Address Register channel 6
-#define DSADR6 __REG(0x40000264)       // DMA Source Address Register channel 6
-#define DTADR6 __REG(0x40000268)       // DMA Target Address Register channel 6
-#define DCMD6  __REG(0x4000026C)       // DMA Command Address Register channel 6
-#define DDADR7 __REG(0x40000270)       // DMA Descriptor Address Register channel 7
-#define DSADR7 __REG(0x40000274)       // DMA Source Address Register channel 7
-#define DTADR7 __REG(0x40000278)       // DMA Target Address Register channel 7
-#define DCMD7  __REG(0x4000027C)       // DMA Command Address Register channel 7
-#define DDADR8 __REG(0x40000280)       // DMA Descriptor Address Register channel 8
-#define DSADR8 __REG(0x40000284)       // DMA Source Address Register channel 8
-#define DTADR8 __REG(0x40000288)       // DMA Target Address Register channel 8
-#define DCMD8  __REG(0x4000028C)       // DMA Command Address Register channel 8
-#define DDADR9 __REG(0x40000290)       // DMA Descriptor Address Register channel 9
-#define DSADR9 __REG(0x40000294)       // DMA Source Address Register channel 9
-#define DTADR9 __REG(0x40000298)       // DMA Target Address Register channel 9
-#define DCMD9  __REG(0x4000029C)       // DMA Command Address Register channel 9
-#define DDADR10 __REG(0x400002a0)      // DMA Descriptor Address Register channel 10
-#define DSADR10 __REG(0x400002a4)      // DMA Source Address Register channel 10
-#define DTADR10 __REG(0x400002a8)      // DMA Target Address Register channel 10
-#define DCMD10 __REG(0x400002aC)       // DMA Command Address Register channel 10
-#define DDADR11 __REG(0x400002b0)      // DMA Descriptor Address Register channel 11
-#define DSADR11 __REG(0x400002b4)      // DMA Source Address Register channel 11
-#define DTADR11 __REG(0x400002b8)      // DMA Target Address Register channel 11
-#define DCMD11 __REG(0x400002bC)       // DMA Command Address Register channel 11
-#define DDADR12 __REG(0x400002c0)      // DMA Descriptor Address Register channel 12
-#define DSADR12 __REG(0x400002c4)      // DMA Source Address Register channel 12     
-#define DTADR12 __REG(0x400002c8)      // DMA Target Address Register channel 12     
-#define DCMD12 __REG(0x400002cC)       // DMA Command Address Register channel 12     
-#define DDADR13 __REG(0x400002d0)      // DMA Descriptor Address Register channel 13     
-#define DSADR13 __REG(0x400002d4)      // DMA Source Address Register channel 13     
-#define DTADR13 __REG(0x400002d8)      // DMA Target Address Register channel 13     
-#define DCMD13 __REG(0x400002dC)       // DMA Command Address Register channel 13     
-#define DDADR14 __REG(0x400002e0)      // DMA Descriptor Address Register channel 14     
-#define DSADR14 __REG(0x400002e4)      // DMA Source Address Register channel 14     
-#define DTADR14 __REG(0x400002e8)      // DMA Target Address Register channel 14     
-#define DCMD14 __REG(0x400002eC)       // DMA Command Address Register channel 14     
-#define DDADR15 __REG(0x400002f0)      // DMA Descriptor Address Register channel 15     
-#define DSADR15 __REG(0x400002f4)      // DMA Source Address Register channel 15     
-#define DTADR15 __REG(0x400002f8)      // DMA Target Address Register channel 15     
-#define DCMD15 __REG(0x400002fC)       // DMA Command Address Register channel 15     
-//     Full Function UART       
-#define FFRBR  __REG(0x40100000)       // Receive Buffer Register (read only)     
-#define FFTHR  __REG(0x40100000)       // Transmit Holding Register (write only)     
-#define FFIER  __REG(0x40100004)       // Interrupt Enable Register (read/write)     
-#define FFIIR  __REG(0x40100008)       // Interrupt ID Register (read only)     
-#define FFFCR  __REG(0x40100008)       // FIFO Control Register (write only)     
-#define FFLCR  __REG(0x4010000C)       // Line Control Register (read/write)     
-#define FFMCR  __REG(0x40100010)       // Modem Control Register (read/write)     
-#define FFLSR  __REG(0x40100014)       // Line Status Register (read only)     
-#define FFMSR  __REG(0x40100018)       // Modem Status Register (read only)     
-#define FFSPR  __REG(0x4010001C)       // Scratch Pad Register (read/write)     
-#define FFDLL  __REG(0x40100000)       // baud divisor lower byte (read/write)     
-#define FFDLH  __REG(0x40100004)       // baud divisor higher byte (read/write)     
-#define FFISR  __REG(0x40100020)       // slow Infrared Select Register (read/write)     
-//     Bluetooth UART       
-#define BTRBR  __REG(0x40200000)       // Receive Buffer Register (read only)     
-#define BTTHR  __REG(0x40200000)       // Transmit Holding Register (write only)     
-#define BTIER  __REG(0x40200004)       // Interrupt Enable Register (read/write)
-#define BTIIR  __REG(0x40200008)       // Interrupt ID Register (read only)
-#define BTFCR  __REG(0x40200008)       // FIFO Control Register (write only)
-#define BTLCR  __REG(0x4020000C)       // Line Control Register (read/write)
-#define BTMCR  __REG(0x40200010)       // Modem Control Register (read/write)
-#define BTLSR  __REG(0x40200014)       // Line Status Register (read only)
-#define BTMSR  __REG(0x40200018)       // Modem Status Register (read only)
-#define BTSPR  __REG(0x4020001C)       // Scratch Pad Register (read/write)
-#define BTDLL  __REG(0x40200000)       // baud divisor lower byte (read/write)
-#define BTDLH  __REG(0x40200004)       // baud divisor higher byte (read/write)
-#define BTISR  __REG(0x40200020)       // slow Infrared Select Register (read/write)
-//     Standard UART   
-#define STRBR  __REG(0x40700000)       // Receive Buffer Register (read only)
-#define STTHR  __REG(0x40700000)       // Transmit Holding Register (write only)
-#define STIER  __REG(0x40700004)       // Interrupt Enable Register (read/write)
-#define STIIR  __REG(0x40700008)       // Interrupt ID Register (read only)
-#define STFCR  __REG(0x40700008)       // FIFO Control Register (write only)
-#define STLCR  __REG(0x4070000C)       // Line Control Register (read/write)
-#define STMCR  __REG(0x40700010)       // Modem Control Register (read/write)
-#define STLSR  __REG(0x40700014)       // Line Status Register (read only)
-#define STMSR  __REG(0x40700018)       // Reserved
-#define STSPR  __REG(0x4070001C)       // Scratch Pad Register (read/write)
-#define STDLL  __REG(0x40700000)       // baud divisor lower byte (read/write)
-#define STDLH  __REG(0x40700004)       // baud divisor higher byte (read/write)
-#define STISR  __REG(0x40700020)       // slow Infrared Select Register (read/write)
-//     I2C   
-#define IBMR   __REG(0x40301680)       // I2C Bus Monitor Register - IBMR
-#define IDBR   __REG(0x40301688)       // I2C Data Buffer Register - IDBR
-#define ICR    __REG(0x40301690)       // I2C Control Register - ICR
-#define ISR    __REG(0x40301698)       // I2C Status Register - ISR
-#define ISAR   __REG(0x403016A0)       // I2C Slave Address Register - ISAR
-//#define ICCR __REG(0x403016A8)       // I2C Clock Count Register - ICCR
-//     I2S   
-#define SACR0  __REG(0x40400000)       // Global Control Register
-#define SACR1  __REG(0x40400004)       // Serial Audio I2S/MSB-Justified Control Register
-// -    0x4040-0008 )          // Reserved
-#define SASR0  __REG(0x4040000C)       // Serial Audio I2S/MSB-Justified Interface and FIFO Status Register
-// -    0x4040-0010 )          // Reserved
-#define SAIMR  __REG(0x40400014)       // Serial Audio Interrupt Mask Register
-#define SAICR  __REG(0x40400018)       // Serial Audio Interrupt Clear Register
-//     0x4040-001C  
-//     through  
-// Reserved    0x4040-0058 -  
-#define SAITR  __REG(0x4040005C)       // Serial Audio Interrupt Test Register
-#define SADIV  __REG(0x40400060)       // "Audio clock divider register. See section Section 12.3, \93Serial Audio Clocks and Sampling Frequencies\94 on page 12-7."
-// -     0x4040-0064  Reserved
-//     through  
-// Reserved    0x4040-007C -  
-#define SADR   __REG(0x40400080)       // Serial Audio Data Register (TX and RX FIFO access register).
-// -     0x4040-0084 to 0x404F-FFFF  Reserved
-//     AC97   
-#define POCR   __REG(0x40500000)       // PCM Out Control Register
-#define PICR   __REG(0x40500004)       // PCM In Control Register
-#define MCCR   __REG(0x40500008)       // Mic In Control Register
-#define GCR    __REG(0x4050000C)       // Global Control Register 
-#define POSR   __REG(0x40500010)       // PCM Out Status Register
-#define PISR   __REG(0x40500014)       // PCM In Status Register
-#define MCSR   __REG(0x40500018)       // Mic In Status Register
-#define GSR    __REG(0x4050001C)       // Global Status Register 
-#define CAR    __REG(0x40500020)       // CODEC Access Register 
-// -    0x4050-0024 through 0x4050-003C   Reserved
-#define PCDR   __REG(0x40500040)       // PCM FIFO Data Register 
-// -    0x4050-0044 through 0x4050-005C   Reserved
-#define MCDR   __REG(0x40500060)       // Mic-in FIFO Data Register 
-// -    0x4050-0064 through 0x4050-00FC   Reserved
-#define MOCR   __REG(0x40500100)       // MODEM Out Control Register
-// -    0x4050-0104  Reserved
-#define MICR   __REG(0x40500108)       // MODEM In Control Register
-// -    0x4050-010C  Reserved
-#define MOSR   __REG(0x40500110)       // MODEM Out Status Register
-// -    0x4050-0114  Reserved
-#define MISR   __REG(0x40500118)       // MODEM In Status Register
-// -    0x4050-011C through 0x4050-013C  Reserved
-#define MODR   __REG(0x40500140)       // MODEM FIFO Data Register
-// -    0x4050-0144 through 0x4050-01FC   Reserved
-//      __REG(0x4050-0200 through 0x4050-02FC)  
-//     with all in increments of 0x00004 Primary Audio CODEC registers 
-//      __REG(0x4050-0300 through 0x4050-03FC)  
-//     with all in increments of 0x00004 Secondary Audio CODEC registers  
-//       
-//     with all in increments of 0x0000-0004 Primary MODEM CODEC registers  
-//       
-//     with all in increments of 0x00004 Secondary MODEM CODEC registers  
-//     UDC   
-#define UDCCR  __REG(0x40600000)       // UDC control register
-#define UDCCS0 __REG(0x40600010)       // UDC Endpoint 0 Control/Status Register
-#define UDCCS1 __REG(0x40600014)       // UDC Endpoint 1 (IN) Control/Status Register
-#define UDCCS2 __REG(0x40600018)       // UDC Endpoint 2 (OUT) Control/Status Register
-#define UDCCS3 __REG(0x4060001C)       // UDC Endpoint 3 (IN) Control/Status Register
-#define UDCCS4 __REG(0x40600020)       // UDC Endpoint 4 (OUT) Control/Status Register
-#define UDCCS5 __REG(0x40600024)       // UDC Endpoint 5 (Interrupt) Control/Status Register
-#define UDCCS6 __REG(0x40600028)       // UDC Endpoint 6 (IN) Control/Status Register
-#define UDCCS7 __REG(0x4060002C)       // UDC Endpoint 7 (OUT) Control/Status Register
-#define UDCCS8 __REG(0x40600030)       // UDC Endpoint 8 (IN) Control/Status Register
-#define UDCCS9 __REG(0x40600034)       // UDC Endpoint 9 (OUT) Control/Status Register
-#define UDCCS10 __REG(0x40600038)      // UDC Endpoint 10 (Interrupt) Control/Status Register
-#define UDCCS11 __REG(0x4060003C)      // UDC Endpoint 11 (IN) Control/Status Register
-#define UDCCS12 __REG(0x40600040)      // UDC Endpoint 12 (OUT) Control/Status Register
-#define UDCCS13 __REG(0x40600044)      // UDC Endpoint 13 (IN) Control/Status Register
-#define UDCCS14 __REG(0x40600048)      // UDC Endpoint 14 (OUT) Control/Status Register
-#define UDCCS15 __REG(0x4060004C)      // UDC Endpoint 15 (Interrupt) Control/Status Register
-#define UFNRH  __REG(0x40600060)       // UDC Frame Number Register High
-#define UFNRL  __REG(0x40600064)       // UDC Frame Number Register Low
-#define UDDR0  __REG(0x40600080)       // UDC Endpoint 0 Data Register
-#define UDDR1  __REG(0x40600100)       // UDC Endpoint 1 Data Register
-#define UDDR2  __REG(0x406001C0)       // UDC Endpoint 2 Data Register
-#define UDDR3  __REG(0x40600200)       // UDC Endpoint 3 Data Register
-#define UDDR4  __REG(0x40600400)       // UDC Endpoint 4 Data Register
-#define UDDR5  __REG(0x406000A0)       // UDC Endpoint 5 Data Register
-#define UDDR6  __REG(0x40600600)       // UDC Endpoint 6 Data Register
-#define UDDR7  __REG(0x40600680)       // UDC Endpoint 7 Data Register
-#define UDDR8  __REG(0x40600700)       // UDC Endpoint 8 Data Register
-#define UDDR9  __REG(0x40600A00)       // UDC Endpoint 9 Data Register
-#define UDDR10 __REG(0x406000C0)       // UDC Endpoint 10 Data Register
-#define UDDR11 __REG(0x40600B00)       // UDC Endpoint 11 Data Register
-#define UDDR12 __REG(0x40600B80)       // UDC Endpoint 12 Data Register
-#define UDDR13 __REG(0x40600C00)       // UDC Endpoint 13 Data Register
-#define UDDR14 __REG(0x40600E00)       // UDC Endpoint 14 Data Register
-#define UDDR15 __REG(0x406000E0)       // UDC Endpoint 15 Data Register
-#define UICR0  __REG(0x40600050)       // UDC Interrupt Control Register 0
-#define UICR1  __REG(0x40600054)       // UDC Interrupt Control Register 1
-#define USIR0  __REG(0x40600058)       // UDC Status Interrupt Register 0
-#define USIR1  __REG(0x4060005C)       // UDC Status Interrupt Register 1
-//     ICP   
-#define ICCR0  __REG(0x40800000)       // ICP control register 0
-#define ICCR1  __REG(0x40800004)       // ICP control register 1
-#define ICCR2  __REG(0x40800008)       // ICP control register 2
-#define ICDR   __REG(0x4080000C)       // ICP data register
-// \97       0h 40800010 )          // Reserved
-#define ICSR0  __REG(0x40800014)       // ICP status register 0
-#define ICSR1  __REG(0x40800018)       // ICP status register 1
-// \97       0h 4080001C - 0h 4080 FFFF  Reserved
-//     RTC
-#define RCNR   __REG(0x40900000)       //RTC count register
-#define RTAR   __REG(0x40900004)       //RTC alarm register
-#define RTSR   __REG(0x40900008)       //RTC status register
-#define RTTR   __REG(0x4090000C)       //RTC timer trim register
-
-//     OS Timer          
-#define OSMR0  __REG(0x40A00000)       // OS timer match registers<3:0>
-#define OSMR1  __REG(0x40A00004)       // 
-#define OSMR2  __REG(0x40A00008)       // 
-#define OSMR3  __REG(0x40A0000C)       // 
-#define OSCR   __REG(0x40A00010)       // OS timer counter register
-#define OSSR   __REG(0x40A00014)       // OS timer status register
-#define OWER   __REG(0x40A00018)       // OS timer watchdog enable register
-#define OIER   __REG(0x40A0001C)       // OS timer interrupt enable register
-//     PWM 0   
-#define PWMCTRL0 __REG(0x40B00000)     // PWM 0 Control Register
-#define PWDUTY0 __REG(0x40B00004)      // PWM 0 Duty Cycle Register
-#define PERVAL0 __REG(0x40B00008)      // PWM 0 Period Control Register
-//     PWM 1   
-#define PWMCTRL1 __REG(0x40C00000)     // PWM 1 Control Register
-#define PWDUTY1 __REG(0x40C00004)      // PWM 1 Duty Cycle Register
-#define PERVAL1 __REG(0x40C00008)      // PWM 1 Period Control Register
-//     Interrupt Control   
-#define ICIP   __REG(0x40D00000)       // Interrupt controller IRQ pending register
-#define        ICMR    __REG(0x40D00004)       // Interrupt controller mask register
-#define ICLR   __REG(0x40D00008)       // Interrupt controller level register
-#define ICFP   __REG(0x40D0000C)       // Interrupt controller FIQ pending register
-#define ICPR   __REG(0x40D00010)       // Interrupt controller pending register
-#define ICCR   __REG(0x40D00014)       // Interrupt controller control register
-//     GPIO   
-#define GPLRx  __REG(0x40E00000)       // GPIO pin-level register GPIO<31:0>
-#define GPLRy  __REG(0x40E00004)       // GPIO pin-level register GPIO<63:32>
-#define GPLRz  __REG(0x40E00008)       // GPIO pin-level register GPIO<80:64>
-#define GPDRx  __REG(0x40E0000C)       // GPIO pin direction register GPIO<31:0>
-#define GPDRy  __REG(0x40E00010)       // GPIO pin direction register GPIO<63:32>
-#define GPDRz  __REG(0x40E00014)       // GPIO pin direction register GPIO<80:64>
-#define GPSRx  __REG(0x40E00018)       // GPIO pin output set register GPIO<31:0>
-#define GPSRy  __REG(0x40E0001C)       // GPIO pin output set register GPIO<63:32>
-#define GPSRz  __REG(0x40E00020)       // GPIO pin output set register GPIO<80:64>
-#define GPCRx  __REG(0x40E00024)       // GPIO pin output clear register GPIO<31:0>
-#define GPCRy  __REG(0x40E00028)       // GPIO pin output clear register GPIO <63:32>
-#define GPCRz  __REG(0x40E0002C)       // GPIO pin output clear register GPIO <80:64>
-#define GRERx  __REG(0x40E00030)       // GPIO rising-edge detect register GPIO<31:0>
-#define GRERy  __REG(0x40E00034)       // GPIO rising-edge detect register GPIO<63:32>
-#define GRERz  __REG(0x40E00038)       // GPIO rising-edge detect register GPIO<80:64>
-#define GFERx  __REG(0x40E0003C)       // GPIO falling-edge detect register GPIO<31:0>
-#define GFERy  __REG(0x40E00040)       // GPIO falling-edge detect register GPIO<63:32>
-#define GFERz  __REG(0x40E00044)       // GPIO falling-edge detect register GPIO<80:64>
-#define GEDRx  __REG(0x40E00048)       // GPIO edge detect status register GPIO<31:0>
-#define GEDRy  __REG(0x40E0004C)       // GPIO edge detect status register GPIO<63:32>
-#define GEDRz  __REG(0x40E00050)       // GPIO edge detect status register GPIO<80:64>
-#define GAFR0x __REG(0x40E00054)       // GPIO alternate function select register GPIO<15:0>
-#define GAFR1x __REG(0x40E00058)       // GPIO alternate function select register GPIO<31:16>
-#define GAFR0y __REG(0x40E0005C)       // GPIO alternate function select register GPIO<47:32>
-#define GAFR1y __REG(0x40E00060)       // GPIO alternate function select register GPIO<63:48>
-#define GAFR0z __REG(0x40E00064)       // GPIO alternate function select register GPIO<79:64>
-#define GAFR1z __REG(0x40E00068)       // GPIO alternate function select register GPIO<80:84>
-
-//     Power Manager and Reset Control 
-#define PMCR   __REG(0x40F00000)       // Power Manager Control register
-#define PSSR   __REG(0x40F00004)       // Power Manager Sleep Status register
-#define PSPR   __REG(0x40F00008)       // Power Manager Scratch Pad register
-#define PWER   __REG(0x40F0000C)       // Power Manager Wake-up Enable register
-#define PRER   __REG(0x40F00010)       // Power Manager GPIO Rising-edge Detect Enable register
-#define PFER   __REG(0x40F00014)       // Power Manager GPIO Falling-edge Detect Enable register
-#define PEDR   __REG(0x40F00018)       // Power Manager GPIO Edge Detect Status register
-#define PCFR   __REG(0x40F0001C)       // Power Manager General Configuration register
-#define PGSRx  __REG(0x40F00020)       // Power Manager GPIO Sleep State register for GP[31-0]
-#define PGSRy  __REG(0x40F00024)       // Power Manager GPIO Sleep State register for GP[63-32]
-#define PGSRz  __REG(0x40F00028)       // Power Manager GPIO Sleep State register for GP[84-64]
-// -    0x40F0002C  Reserved
-// -    0x40F0002C  Reserved
-#define RCSR   __REG(0x40F00030)       // Reset controller status register
-// -    0x40F00034 - 0x40FFFFF  Reserved
-//     Clocks Manager  
-#define CCCR   __REG(0x41300000)       // Core Clock Configuration Register
-#define CKEN   __REG(0x41300004)       // Clock Enable Register
-#define OSCC   __REG(0x41300008)       // Oscillator Configuration Register
-// --    0x4130000C - 0x413FFFF  Reserved
-//     SSP   
-#define SSCR0  __REG(0x41000000)       // SSP Control Register 0
-#define SSCR1  __REG(0x41000004)       // SSP Control Register 1 
-#define SSSR   __REG(0x41000008)       // SSP Status Register
-#define SSITR  __REG(0x4100000C)       // SSP Interrupt Test Register
-#define SSDR   __REG(0x41000010)       // SSP Data Write Register/SSP Data Read Register
-// --    0x41000014 - 0x410F FFFF  Reserved
-//     MMC   
-#define MMCSTRPCL __REG(0x41100000)    // Control to start and stop MMC clock
-#define MMCSTAT __REG(0x41100004)      // MMC status register (read only)
-#define MMCCLKRT __REG(0x41100008)     // MMC clock rate 
-#define MMCSPI __REG(0x4110000c)       // SPI mode control bits
-#define MMCCMDAT __REG(0x41100010)     // Command/response/data sequence control
-#define MMCRESTO __REG(0x41100014)     // Expected response time out
-#define MMCRDTO __REG(0x41100018)      // Expected data read time out
-#define MMCBLKLEN  __REG(0x4110001c)   // Block length of data transaction
-#define MMCNOB __REG(0x41100020)       // "Number of blocks, for block mode"
-#define MMCPRTBUF  __REG(0x41100024)   // Partial MMC_TXFIFO FIFO written
-#define MMCIMASK __REG(0x41100028)     // Interrupt Mask
-#define MMCIREG __REG(0x4110002c)      // Interrupt Register (read only)
-#define MMCCMD __REG(0x41100030)       // Index of current command
-#define MMCARGH __REG(0x41100034)      // MSW part of the current command argument
-#define MMCARGL __REG(0x41100038)      // LSW part of the current command argument
-#define MMCRES __REG(0x4110003c)       // Response FIFO (read only)
-#define MMCRXFIFO  __REG(0x41100040)   // Receive FIFO (read only)
-#define MMCTXFIFO  __REG(0x41100044)   // Transmit FIFO (write only)
-//     ADC   
-#define ADCD   __REG(0x41200000)       // ADC Data Register
-#define ADCS   __REG(0x41200004)       // ADC Control Register
-#define ADCE   __REG(0x41200008)       // ADC Enable Register
-#define ADCTSC __REG(0x4120000C)       // ADC Touch Screen Control Register
-#define ADCTSS1 __REG(0x41200010)      // ADC Touch Screen Setup Register 1
-#define ADCTSS2 __REG(0x41200014)      // ADC Touch Screen Setup Register 2
-// --    0x41200018 - 0x412FFFF  Reserved
-
-/* I2C register definitions            */
-/* some bit masks of register ICR      */
-#define        ICR_START       0x00000001
-#define        ICR_STOP        0x00000002
-#define        ICR_ACKNAK      0x00000004
-#define        ICR_TB          0x00000008
-#define ICR_MA         0x00000010
-#define ICR_SCLE       0x00000020
-#define ICR_IUE                0x00000040
-#define ICR_GCD                0x00000080
-#define ICR_ITEIE      0x00000100
-#define ICR_IRFIE      0x00000200
-#define ICR_BEIE       0x00000400
-#define ICR_SSDIE      0x00000800
-#define ICR_ALDIE      0x00001000
-#define ICR_SADIE      0x00002000
-#define ICR_UR         0x00004000
-#define ICR_FM         0x00008000
-
-/* some bit masks of register ISR */
-#define        ISR_RWM         0x00000001
-#define        ISR_ACKNACK     0x00000002
-#define        ISR_UB          0x00000004
-#define        ISR_IBB         0x00000008
-#define ISR_SSD                0x00000010
-#define ISR_ALD                0x00000020
-#define ISR_ITE                0x00000040
-#define ISR_IRF                0x00000080
-#define ISR_GCAD       0x00000100
-#define ISR_SAD                0x00000200
-#define ISR_BED                0x00000400
-
-#define OSSR_TIMER0    (0x1 << 0)
-#define OSSR_TIMER1    (0x1 << 1)
-#define OSSR_TIMER2    (0x1 << 2)
-#define OSSR_TIMER3    (0x1 << 3)
-
-#define OIER_TIMER0    (0x1 << 0)
-#define OIER_TIMER1    (0x1 << 1)
-#define OIER_TIMER2    (0x1 << 2)
-#define OIER_TIMER3    (0x1 << 3)
-
-#define OWER_WME       (0x1 << 0)
-#endif
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_ram.h b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_ram.h
deleted file mode 100755 (executable)
index 36118bc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_ram.ldi b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_ram.ldi
deleted file mode 100755 (executable)
index a0378bb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_rom.h b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_rom.h
deleted file mode 100755 (executable)
index 74cadd9..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (0x1000000)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp32_rom.ldi
deleted file mode 100755 (executable)
index 9b7c821..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = 0x2000000
-    rom  : ORIGIN = 0x00000000, LENGTH = 0x1000000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_ram.h b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_ram.h
deleted file mode 100755 (executable)
index 5964e73..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (16*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_ram.ldi b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_ram.ldi
deleted file mode 100755 (executable)
index 6e1a261..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_rom.h b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_rom.h
deleted file mode 100755 (executable)
index 61f2c31..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (16*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (0x1000000)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_rom.ldi b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_lp_rom.ldi
deleted file mode 100755 (executable)
index d86d0f6..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = 0x1000000
-    rom  : ORIGIN = 0x00000000, LENGTH = 0x1000000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_ram.h b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_ram.h
deleted file mode 100755 (executable)
index 207b85d..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (0x4000000)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_ram.ldi b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_ram.ldi
deleted file mode 100755 (executable)
index dcf20f2..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = 0x4000000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_rom.h b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_rom.h
deleted file mode 100755 (executable)
index 655b2e1..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (0x2000000)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-
-
-#endif
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_rom.ldi b/packages/hal/arm/xscale/triton/v2_0/include/pkgconf/mlt_arm_xscale_triton_stk_rom.ldi
deleted file mode 100755 (executable)
index b08fcb1..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = 0x4000000
-    rom  : ORIGIN = 0x00000000, LENGTH = 0x2000000
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/plf_io.h b/packages/hal/arm/xscale/triton/v2_0/include/plf_io.h
deleted file mode 100755 (executable)
index 2516268..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef CYGONCE_PLF_IO_H
-#define CYGONCE_PLF_IO_H
-
-//=============================================================================
-//
-//      plf_io.h
-//
-//      Platform specific IO support
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    usteinkohl
-// Contributors: usteinkohl
-// Date:         16th January 2003
-// Purpose:      Ka-Ro Triton  IO support macros
-// Description: 
-// Usage:        #include <cyg/hal/plf_io.h>
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-
-
-unsigned long _fu_phys_address(unsigned long);
-
-
-
-#define CYGARC_PHYSICAL_ADDRESS(_x_)   (_fu_phys_address((unsigned long)_x_))
-
-
-#ifdef CYGHWR_REDBOOT_LINUX_ATAG_MEM
-#error CYGHWR_REDBOOT_LINUX_ATAG_MEM already defined
-#endif
-#define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_)                                                      \
-    CYG_MACRO_START                                                                             \
-    /* Next ATAG_MEM. */                                                                        \
-    _p_->hdr.size = (sizeof(struct tag_mem32) + sizeof(struct tag_header))/sizeof(long);        \
-    _p_->hdr.tag = ATAG_MEM;                                                                    \
-    /* Round up so there's only one bit set in the memory size.                                 \
-     * Don't double it if it's already a power of two, though.                                  \
-     */                                                                                         \
-    _p_->u.mem.size  = CYGMEM_REGION_ram_SIZE;                                                                   \
-    _p_->u.mem.start = CYGMEM_REGION_ram;                              \
-    CYG_MACRO_END
-                                       
-
-
-//-----------------------------------------------------------------------------
-
-//  IDE interface
-
-
-#if (TRITON_STK==2)                                                            
-       #define HAL_HAG_IDE_SKT1_CMD          (0x30000000)
-       #define HAL_HAG_IDE_SKT1_CTL          (0x30400000)
-       #define HAL_HAG_IDE_SKT2_CMD          (0x30000000)
-       #define HAL_HAG_IDE_SKT2_CTL          (0x30400000)
-#elif (TRITON_STK==1)
-       #define HAL_HAG_IDE_SKT1_CMD          (0x30000000)
-       #define HAL_HAG_IDE_SKT1_CTL          (0x30400000)
-       #define HAL_HAG_IDE_SKT2_CMD          (0x30000000)
-       #define HAL_HAG_IDE_SKT2_CTL          (0x30400000)
-#else
-       #error: unknown starter kit type
-#endif
-
-
-
-
-
-
-#define HAL_IDE_NUM_CONTROLLERS 1
-
-// Initialize the IDE controller(s).
-externC void cyg_hal_plf_ide_init(void);
-#define HAL_IDE_INIT() cyg_hal_plf_ide_init()
-
-
-
-#define __CMD_ADDR(__n) ((__n) ? HAL_HAG_IDE_SKT2_CMD : HAL_HAG_IDE_SKT1_CMD)
-#define __CTL_ADDR(__n) ((__n) ? HAL_HAG_IDE_SKT2_CTL : HAL_HAG_IDE_SKT1_CTL)
-
-#define HAL_IDE_READ_UINT8( __ctlr, __regno  , __val )  \
-    HAL_READ_UINT8(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_READ_UINT16( __ctlr, __regno, __val )  \
-    HAL_READ_UINT16(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_READ_ALTSTATUS( __ctlr, __val )  \
-    HAL_READ_UINT16(__CTL_ADDR(__ctlr) + 2, (__val))
-
-#define HAL_IDE_WRITE_UINT8( __ctlr, __regno, __val )  \
-    HAL_WRITE_UINT8(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_WRITE_UINT16( __ctlr, __regno, __val )  \
-    HAL_WRITE_UINT16(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_WRITE_CONTROL( __ctlr, __val )  \
-    HAL_WRITE_UINT16(__CTL_ADDR(__ctlr) + 2, (__val))
-
-
-
-// end of plf_io.h
-#endif // CYGONCE_PLF_IO_H
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/plf_stub.h b/packages/hal/arm/xscale/triton/v2_0/include/plf_stub.h
deleted file mode 100755 (executable)
index eebad7c..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef CYGONCE_HAL_PLF_STUB_H
-#define CYGONCE_HAL_PLF_STUB_H
-
-//=============================================================================
-//
-//      plf_stub.h
-//
-//      Platform header for GDB stub support.
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   msalter
-// Contributors:jskov, gthomas, msalter
-// Date:        2000-10-10
-// Purpose:     Platform HAL stub support for Ka-Ro TRITON boards.
-// Usage:       #include <cyg/hal/plf_stub.h>
-//              
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/hal_arm_xscale_triton.h>
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-#include <cyg/infra/cyg_type.h>         // CYG_UNUSED_PARAM
-
-#include <cyg/hal/arm_stub.h>           // architecture stub support
-
-//----------------------------------------------------------------------------
-// Define some platform specific communication details. This is mostly
-// handled by hal_if now, but we need to make sure the comms tables are
-// properly initialized.
-
-externC void cyg_hal_plf_comms_init(void);
-
-#define HAL_STUB_PLATFORM_INIT_SERIAL()       cyg_hal_plf_comms_init()
-
-#define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
-#define HAL_STUB_PLATFORM_INTERRUPTIBLE       0
-#define HAL_STUB_PLATFORM_INIT_BREAK_IRQ()    CYG_EMPTY_STATEMENT
-
-//----------------------------------------------------------------------------
-// Stub initializer.
-#define HAL_STUB_PLATFORM_INIT()              CYG_EMPTY_STATEMENT
-
-#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-//----------------------------------------------------------------------------
-// Reset.
-#include <cyg/hal/hal_triton.h>        // registers
-#include <cyg/hal/hal_io.h>             // IO macros
-
-// FIXME - Can we reset the board?
-#define HAL_STUB_PLATFORM_RESET()   CYG_EMPTY_STATEMENT
-
-#define HAL_STUB_PLATFORM_RESET_ENTRY 0x00000000
-
-extern int   cyg_hal_plf_hw_breakpoint(int setflag, void *addr, int len);
-extern int   cyg_hal_plf_hw_watchpoint(int setflag, void *addr, int len, int type);
-extern int   cyg_hal_plf_is_stopped_by_hardware(void **paddr);
-
-#define HAL_STUB_HW_BREAKPOINT(f,a,l)      cyg_hal_plf_hw_breakpoint((f),(a),(l))
-#define HAL_STUB_HW_WATCHPOINT(f,a,l,t)    cyg_hal_plf_hw_watchpoint((f),(a),(l),(t))
-#define HAL_STUB_IS_STOPPED_BY_HARDWARE(p) cyg_hal_plf_is_stopped_by_hardware(&(p))
-
-//-----------------------------------------------------------------------------
-#endif // CYGONCE_HAL_PLF_STUB_H
-// End of plf_stub.h
diff --git a/packages/hal/arm/xscale/triton/v2_0/include/triton_1w_dev.inl b/packages/hal/arm/xscale/triton/v2_0/include/triton_1w_dev.inl
deleted file mode 100755 (executable)
index 6d630bd..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-
-#define        SNO_WRITE_SCRATCHPAD            0x0f
-#define SNO_READ_SCRATCHPAD            0xaa
-#define SNO_COPY_SCRATCHPAD            0x55
-#define SNO_READ_MEMORY                        0xf0
-#define SNO_WRITE_APPLICATION_REG      0x99
-#define SNO_READ_STATUS_REG            0x66
-#define SNO_READ_APPLICATION_REG       0xc3
-#define SNO_COPY_LOCK                  0x5a
-#define SNO_READ_ROM                   0x33
-#define SNO_MATCH_ROM                  0x55
-#define SNO_SKIP_ROM                   0xcc
-#define SNO_SEARCH_ROM                 0xf0
-
-int reset_1w(void)
-{
-       int fu_result;
-
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 500 usec
-                     "ldr r6, [r5];"
-                     "ldr r7, =1800;"
-                     "adc r6, r6, r7;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r5, =0x40a00010;"    // timer 80 usec
-                     "ldr r6, [r5];"
-                     "ldr r7, =288;"
-                     "adc r6, r6, r7;"
-
-                     "113:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 113b;"
-
-                     "ldr r5, =0x40e00000;"    // pin level register
-                     "ldr r6, [r5];"
-                     "and r6, r6, r4;"
-                     "mov %0, r6, lsr#5;"      // shift right by 5
-
-                     "ldr r5, =0x40a00010;"    // timer 500 usec
-                     "ldr r6, [r5];"
-                     "ldr r7, =1800;"
-                     "adc r6, r6, r7;"
-
-                     "114:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 114b;"
-
-                     : "=r"(fu_result)
-                     :
-                     : "r4","r5","r6","r7");
-
-       return fu_result;
-}
-
-int sno_read(void)
-{
-       int fu_result;
-
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 5 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #18;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r5, =0x40a00010;"    // timer 5 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #18;"
-
-                     "113:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 113b;"
-
-                     "ldr r5, =0x40e00000;"    // pin level register
-                     "ldr r6, [r5];"
-                     "and r6, r6, r4;"
-                     "mov %0, r6, lsr#5;"      // shift right by 5
-
-                     : "=r"(fu_result)
-                     :
-                     : "r4","r5","r6","r7");
-
-       return fu_result;
-}
-
-void sno_write_1(void)
-{
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 5 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #18;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r5, =0x40a00010;"    // timer 60 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #214;"
-
-                     "113:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 113b;"
-
-                     :
-                     :
-                     : "r4","r5","r6","r7");
-}
-
-void sno_write_0(void)
-{
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 67 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #240;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     :
-                     :
-                     : "r4","r5","r6","r7");
-}
-
-void sno_write_byte (unsigned char sbyte)
-{
-       unsigned char mask;
-       int i;
-
-       mask = 0x01;
-       for (i = 0; i < 8; i++) {
-               if (sbyte & mask) {
-                       sno_write_1();
-               } else {
-                       sno_write_0();
-               }
-               mask <<= 1;
-               HAL_DELAY_US(1);
-       }
-}
-
-unsigned char sno_read_byte (void)
-{
-       unsigned char mask = 0x01;
-       unsigned char abyte = 0x00;
-       unsigned char return_value;
-       int i;
-
-       for (i = 0; i < 8; i++) {
-               return_value = sno_read();
-               if (return_value) {
-                       abyte |= mask;
-               }
-               HAL_DELAY_US(80);
-               mask <<= 1;
-       }
-       return abyte;
-}
-
-unsigned char sno_crc8(unsigned char * data, unsigned long count)
-{
-       unsigned char look_up_table[256] = {
-               0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,
-               157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,
-               35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98,
-               190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255,
-               70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7,
-               219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154,
-               101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36,
-               248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185,
-               140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205,
-               17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80,
-               175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238,
-               50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115,
-               202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139,
-               87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22,
-               233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,
-               116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53};
-       int i;
-       unsigned char crc = 0;
-
-       for (i = 0; i < count; i++) {
-               crc = look_up_table[crc ^ data[i]];
-       }
-       return crc;
-}
-
-int sno_reset(void)
-{
-       int result;
-
-       result = reset_1w();
-       if (!result) {
-               //diag_printf("presence pulse detected\n");
-               return 0;
-       } else {
-               diag_printf("NO presence pulse detected\n");
-               return 1;
-       }
-}
-
-cyg_bool get_esa_1w(cyg_uint8 *buffer)
-{
-       int i;
-       unsigned char mac_data[8] = {0x00,0x00,0x0c,0xc6,0x00,0x00,0x00,0x00};
-       unsigned char crc, status;
-
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-                     "ldr r7, =0x00000040;"    // mask for GPIO 6
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "orr r6, r6, r7;"
-
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r7, [r5];"           // set pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r4, =0x00003c00;"
-                     "ldr r5, =0x40e00054;"    // alternate function register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to IO function
-                     :
-                     :
-                     : "r4","r5","r6","r7"
-                     );
-
-       HAL_DELAY_US(2000);                     // 2 msec recovery time
-
-       // check status of application register
-
-       if (sno_reset()) {
-               diag_printf("no eeprom device for MAC address found \n");
-               return 0;
-       }
-
-       sno_write_byte(SNO_SKIP_ROM);
-       sno_write_byte(SNO_READ_STATUS_REG);
-       sno_write_byte(0x00);                                           // validation key
-       status = sno_read_byte();
-       //diag_printf("Status des Application Registers ist: %02X\n", status);
-
-       if (sno_reset()) {
-               diag_printf("no eeprom device for MAC address found \n");
-               return 0;
-       }
-
-       if (status & 0x03) {
-               diag_printf("No information in Application Register !!!!\n");
-               diag_printf("using defauft MAC 0x00 : 0x0C : 0xC6 : 0x00 : 0x00 : 0x00\n");
-               for (i = 0; i < 6; i++) {
-                       buffer[i] = mac_data[i+1];
-               }
-               return 1;
-       }
-
-       sno_write_byte(SNO_SKIP_ROM);
-       sno_write_byte(SNO_READ_APPLICATION_REG);
-       sno_write_byte(0x00);                                           // register address
-       for (i = 0; i < 8;i++) {
-               mac_data[i] = sno_read_byte();
-       }
-
-       if (sno_reset()) {
-               diag_printf("no eeprom device for MAC address found \n");
-               return 0;
-       }
-
-//     diag_printf("\nMAC address read from ROM: ");
-//     for (i=0; i<8; i++) {
-//             diag_printf("0x%02X ", mac_data[i]);
-//     }
-       diag_printf("\n");
-
-       crc = sno_crc8(mac_data,7);
-
-       //diag_printf("calculated CRC is: %02X\n", crc );
-
-       if (crc != mac_data[7]) {
-               diag_printf("ROM data CRC Checksum Error !!!\n\n");
-               return 0;
-       }
-
-       for (i = 0; i < 6; i++)
-               buffer[i] = mac_data[i + 1];
-
-       return 1;
-}
diff --git a/packages/hal/arm/xscale/triton/v2_0/src/hal_diag.c b/packages/hal/arm/xscale/triton/v2_0/src/hal_diag.c
deleted file mode 100755 (executable)
index 8a0df02..0000000
+++ /dev/null
@@ -1,693 +0,0 @@
-/*=============================================================================
-//
-//     hal_diag.c
-//
-//     HAL diagnostic output code
-//
-//=============================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):  msalter
-// Contributors:msalter
-// Date:       2000-10-10
-// Purpose:    HAL diagnostic output
-// Description: Implementations of HAL diagnostic output support.
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <string.h>
-#include <pkgconf/hal.h>
-#include <pkgconf/system.h>
-#include CYGBLD_HAL_PLATFORM_H
-
-#include <cyg/infra/cyg_type.h>                // base types
-#include <cyg/infra/cyg_trac.h>                // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-
-#include <cyg/hal/hal_arch.h>          // basic machine info
-#include <cyg/hal/hal_intr.h>          // interrupt macros
-#include <cyg/hal/hal_io.h>            // IO macros
-#include <cyg/hal/hal_if.h>            // calling interface API
-#include <cyg/hal/hal_misc.h>          // helper functions
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_triton.h>                // Hardware definitions
-#include <cyg/hal/drv_api.h>           // cyg_drv_interrupt_acknowledge
-
-#define SIO_IER_ERDAI SIO_IER_RAVIE
-
-#if defined(CYGSEM_HAL_VIRTUAL_VECTOR_DIAG) || defined(CYGPRI_HAL_IMPLEMENTS_IF_SERVICES)
-static void cyg_hal_plf_serial_init(void);
-
-void resetSRAM(void)
-{
-       memset((void *)0x0a000000, 0, 1024 * 1024);
-}
-
-void cyg_hal_plf_comms_init(void)
-{
-       static int initialized = 0;
-
-       if (initialized) {
-               return;
-       }
-       initialized = 1;
-
-       cyg_hal_plf_serial_init();
-
-       //        cyg_hal_plf_lcd_init();
-       resetSRAM();
-}
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGPRI_HAL_IMPLEMENTS_IF_SERVICES
-
-//=============================================================================
-// Serial driver
-//=============================================================================
-
-//-----------------------------------------------------------------------------
-// There are three serial ports.
-#define CYG_DEV_SERIAL_BASE_FF   0x40100000 
-#define CYG_DEV_SERIAL_BASE_BT   0x40200000 
-#define CYG_DEV_SERIAL_BASE_STD          0x40700000
-
-//-----------------------------------------------------------------------------
-
-// Based on Based on 14.7456 MHz clock
-struct baud_config {
-       cyg_int32 baud_rate;
-       cyg_uint8 msb;
-       cyg_uint8 lsb;
-};
-
-struct baud_config baud_conf[] = {
-       {9600,   0x00, 0x60},
-       {19200,  0x00, 0x30},
-       {38400,  0x00, 0x18},
-       {57600,  0x00, 0x10},
-       {115200, 0x00, 0x08}};
-
-// Default baud rate is 115200
-// Based on 14.7456 MHz clock
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==9600
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x60
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==19200
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x30
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==38400
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x18
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==57600
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x10
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==115200
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x08
-#endif
-
-#ifndef CYG_DEV_SERIAL_BAUD_MSB
-#error Missing/incorrect serial baud rate defined - CDL error?
-#endif
-
-//-----------------------------------------------------------------------------
-// Define the serial registers. The Cogent board is equipped with a 16552
-// serial chip.
-#define CYG_DEV_SERIAL_RBR   0x00 // receiver buffer register, read, dlab = 0
-#define CYG_DEV_SERIAL_THR   0x00 // transmitter holding register, write, dlab = 0
-#define CYG_DEV_SERIAL_DLL   0x00 // divisor latch (LS), read/write, dlab = 1
-#define CYG_DEV_SERIAL_IER   0x04 // interrupt enable register, read/write, dlab = 0
-#define CYG_DEV_SERIAL_DLM   0x04 // divisor latch (MS), read/write, dlab = 1
-#define CYG_DEV_SERIAL_IIR   0x08 // interrupt identification register, read, dlab = 0
-#define CYG_DEV_SERIAL_FCR   0x08 // fifo control register, write, dlab = 0
-#define CYG_DEV_SERIAL_LCR   0x0c // line control register, write
-#define CYG_DEV_SERIAL_MCR   0x10 // modem control register, write
-#define CYG_DEV_SERIAL_LSR   0x14 // line status register, read
-#define CYG_DEV_SERIAL_MSR   0x18 // modem status register, read
-#define CYG_DEV_SERIAL_SPR   0x1c // scratch pad register
-#define CYG_DEV_SERIAL_ISR   0x20 // slow infrared select register (ISR), read/write
-
-// The interrupt enable register bits.
-#define SIO_IER_RAVIE          0x01            // enable received data available irq
-#define SIO_IER_TIE            0x02            // enable transmit data request interrupt
-#define SIO_IER_RLSE           0x04            // enable receiver line status irq
-#define SIO_IER_MIE            0x08            // enable modem status interrupt
-#define SIO_IER_RTOIE          0x10            // enable Rx timeout interrupt
-#define SIO_IER_NRZE           0x20            // enable NRZ coding
-#define SIO_IER_UUE            0x40            // enable the UART unit
-#define SIO_IER_DMAE           0x80            // enable DMA requests
-
-// The interrupt identification register bits.
-#define SIO_IIR_IP             0x01            // 0 if interrupt pending
-#define SIO_IIR_ID_MASK                0xff            // mask for interrupt ID bits
-#define ISR_Tx                 0x02
-#define ISR_Rx                 0x04
-
-// The line status register bits.
-#define SIO_LSR_DR             0x01            // data ready
-#define SIO_LSR_OE             0x02            // overrun error
-#define SIO_LSR_PE             0x04            // parity error
-#define SIO_LSR_FE             0x08            // framing error
-#define SIO_LSR_BI             0x10            // break interrupt
-#define SIO_LSR_THRE           0x20            // transmitter holding register empty
-#define SIO_LSR_TEMT           0x40            // transmitter holding and Tx shift registers empty
-#define SIO_LSR_ERR            0x80            // any error condition (FIFOE)
-
-// The modem status register bits.
-#define SIO_MSR_DCTS           0x01            // delta clear to send
-#define SIO_MSR_DDSR           0x02            // delta data set ready
-#define SIO_MSR_TERI           0x04            // trailing edge ring indicator
-#define SIO_MSR_DDCD           0x08            // delta data carrier detect
-#define SIO_MSR_CTS            0x10            // clear to send
-#define SIO_MSR_DSR            0x20            // data set ready
-#define SIO_MSR_RI             0x40            // ring indicator
-#define SIO_MSR_DCD            0x80            // data carrier detect
-
-// The line control register bits.
-#define SIO_LCR_WLS0           0x01            // word length select bit 0
-#define SIO_LCR_WLS1           0x02            // word length select bit 1
-#define SIO_LCR_STB            0x04            // number of stop bits
-#define SIO_LCR_PEN            0x08            // parity enable
-#define SIO_LCR_EPS            0x10            // even parity select
-#define SIO_LCR_SP             0x20            // stick parity
-#define SIO_LCR_SB             0x40            // set break
-#define SIO_LCR_DLAB           0x80            // divisor latch access bit
-
-// The FIFO control register
-#define SIO_FCR_FCR0           0x01            // enable xmit and rcvr fifos
-#define SIO_FCR_FCR1           0x02            // clear RCVR FIFO
-#define SIO_FCR_FCR2           0x04            // clear XMIT FIFO
-#define SIO_FCR_ITL0           0x40            // Interrupt trigger level (ITL) bit 0
-#define SIO_FCR_ITL1           0x80            // Interrupt trigger level (ITL) bit 1
-#define SIO_FCR_ITL_1BYTE      0x00            // 1 byte triggers interrupt
-
-//-----------------------------------------------------------------------------
-typedef struct {
-       cyg_uint8* base;
-       cyg_int32 msec_timeout;
-       int isr_vector;
-       cyg_int32 baud_rate;
-} channel_data_t;
-
-//-----------------------------------------------------------------------------
-
-static int set_baud(channel_data_t *chan)
-{
-       cyg_uint8* base = chan->base;
-       cyg_uint8 i;
-
-       for (i=0; i<(sizeof(baud_conf)/sizeof(baud_conf[0])); i++) {
-               if (chan->baud_rate == baud_conf[i].baud_rate) {
-                       cyg_uint8 lcr;
-                       HAL_READ_UINT8(base + CYG_DEV_SERIAL_LCR, lcr);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_LCR, lcr|SIO_LCR_DLAB);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_DLL, baud_conf[i].lsb);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_DLM, baud_conf[i].msb);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_LCR, lcr);
-                       return 1;
-               }
-       }
-       return -1;
-}
-
-static void init_serial_channel(channel_data_t* chan)
-{
-       cyg_uint8* base = chan->base;
-
-       // 8-1-no parity.
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_LCR, SIO_LCR_WLS0 | SIO_LCR_WLS1);
-
-       chan->baud_rate = CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD;
-       set_baud(chan);
-
-       //  Enable & clear FIFOs
-       //  set Interrupt Trigger Level to be 1 byte
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_FCR, (SIO_FCR_FCR0 | SIO_FCR_FCR1 | SIO_FCR_FCR2)); // Enable & clear FIFO
-
-       //      Configure NRZ, disable DMA requests and enable UART
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_IER, SIO_IER_UUE);
-}
-
-static cyg_bool cyg_hal_plf_serial_getc_nonblock(void *__ch_data, cyg_uint8 *ch)
-{
-       cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-       cyg_uint8 lsr;
-
-       HAL_READ_UINT8(base+CYG_DEV_SERIAL_LSR, lsr);
-       if ((lsr & SIO_LSR_DR) == 0)
-               return false;
-
-       HAL_READ_UINT8(base+CYG_DEV_SERIAL_RBR, *ch);
-
-       return true;
-}
-
-cyg_uint8 cyg_hal_plf_serial_getc(void* __ch_data)
-{
-       cyg_uint8 ch;
-       CYGARC_HAL_SAVE_GP();
-
-       while (!cyg_hal_plf_serial_getc_nonblock(__ch_data, &ch));
-
-       CYGARC_HAL_RESTORE_GP();
-       return ch;
-}
-
-void cyg_hal_plf_serial_putc(void* __ch_data, cyg_uint8 c)
-{
-       cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-       cyg_uint8 lsr;
-       CYGARC_HAL_SAVE_GP();
-
-       do {
-               HAL_READ_UINT8(base+CYG_DEV_SERIAL_LSR, lsr);
-       } while ((lsr & SIO_LSR_THRE) == 0);
-
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_THR, c);
-       // Hang around until the character has been safely sent.
-       do {
-               HAL_READ_UINT8(base+CYG_DEV_SERIAL_LSR, lsr);
-       } while ((lsr & SIO_LSR_THRE) == 0);
-
-       CYGARC_HAL_RESTORE_GP();
-}
-
-#if defined(CYGSEM_HAL_VIRTUAL_VECTOR_DIAG) || defined(CYGPRI_HAL_IMPLEMENTS_IF_SERVICES)
-static channel_data_t channels[3] = {
-       { (cyg_uint8*)CYG_DEV_SERIAL_BASE_FF, 1000, CYGNUM_HAL_INTERRUPT_FFUART, 38400 },
-       { (cyg_uint8*)CYG_DEV_SERIAL_BASE_BT, 1000, CYGNUM_HAL_INTERRUPT_BTUART, 38400 },
-       { (cyg_uint8*)CYG_DEV_SERIAL_BASE_STD, 1000, CYGNUM_HAL_INTERRUPT_STUART, 38400 },
-};
-
-static void cyg_hal_plf_serial_write(void* __ch_data, const cyg_uint8* __buf, cyg_uint32 __len)
-{
-       CYGARC_HAL_SAVE_GP();
-
-       while (__len-- > 0) {
-               cyg_hal_plf_serial_putc(__ch_data, *__buf++);
-       }
-       CYGARC_HAL_RESTORE_GP();
-}
-
-static void cyg_hal_plf_serial_read(void* __ch_data, cyg_uint8* __buf, cyg_uint32 __len)
-{
-       CYGARC_HAL_SAVE_GP();
-
-       while (__len-- > 0) {
-               *__buf++ = cyg_hal_plf_serial_getc(__ch_data);
-       }
-       CYGARC_HAL_RESTORE_GP();
-}
-
-cyg_bool cyg_hal_plf_serial_getc_timeout(void* __ch_data, cyg_uint8* ch)
-{
-       int delay_count;
-       channel_data_t* chan = __ch_data;
-       cyg_bool res;
-       CYGARC_HAL_SAVE_GP();
-
-       delay_count = chan->msec_timeout * 10; // delay in .1 ms steps
-       for(;;) {
-               res = cyg_hal_plf_serial_getc_nonblock(__ch_data, ch);
-               if (res || 0 == delay_count--)
-                       break;
-
-               CYGACC_CALL_IF_DELAY_US(100);
-       }
-
-       CYGARC_HAL_RESTORE_GP();
-       return res;
-}
-
-static int cyg_hal_plf_serial_control(void *__ch_data, __comm_control_cmd_t __func, ...)
-{
-       static int irq_state = 0;
-       channel_data_t* chan = __ch_data;
-       cyg_uint8 ier;
-       int ret = 0;
-       CYGARC_HAL_SAVE_GP();
-
-       switch (__func) {
-       case __COMMCTL_IRQ_ENABLE:
-               HAL_INTERRUPT_UNMASK(chan->isr_vector);
-               HAL_INTERRUPT_SET_LEVEL(chan->isr_vector, 1);
-               HAL_READ_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               ier |= SIO_IER_ERDAI;
-               HAL_WRITE_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               irq_state = 1;
-               break;
-       case __COMMCTL_IRQ_DISABLE:
-               ret = irq_state;
-               irq_state = 0;
-               HAL_INTERRUPT_MASK(chan->isr_vector);
-               HAL_READ_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               ier &= ~SIO_IER_ERDAI;
-               HAL_WRITE_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               break;
-       case __COMMCTL_DBG_ISR_VECTOR:
-               ret = chan->isr_vector;
-               break;
-       case __COMMCTL_SET_TIMEOUT:
-               {
-                       va_list ap;
-
-                       va_start(ap, __func);
-
-                       ret = chan->msec_timeout;
-                       chan->msec_timeout = va_arg(ap, cyg_uint32);
-
-                       va_end(ap);
-               }  
-       case __COMMCTL_GETBAUD:
-               ret = chan->baud_rate;
-               break;
-       case __COMMCTL_SETBAUD:
-               {
-                       va_list ap;
-                       va_start(ap, __func);
-                       chan->baud_rate = va_arg(ap, cyg_int32);
-                       va_end(ap);
-                       ret = set_baud(chan);
-                       break;
-               }
-       default:
-               break;
-       }
-       CYGARC_HAL_RESTORE_GP();
-       return ret;
-}
-
-static int cyg_hal_plf_serial_isr(void *__ch_data, int* __ctrlc, 
-                                 CYG_ADDRWORD __vector, CYG_ADDRWORD __data)
-{
-       channel_data_t* chan = __ch_data;
-       cyg_uint8 _iir;
-       int res = 0;
-       CYGARC_HAL_SAVE_GP();
-
-       HAL_READ_UINT8(chan->base+CYG_DEV_SERIAL_IIR, _iir);
-       _iir &= SIO_IIR_ID_MASK;
-
-       *__ctrlc = 0;
-       if (ISR_Rx == _iir) {
-               cyg_uint8 c, lsr;
-               HAL_READ_UINT8(chan->base + CYG_DEV_SERIAL_LSR, lsr);
-               if (lsr & SIO_LSR_DR) {
-                       HAL_READ_UINT8(chan->base + CYG_DEV_SERIAL_RBR, c);
-
-                       if (cyg_hal_is_break(&c, 1)) {
-                               *__ctrlc = 1;
-                       }
-               }
-
-               // Acknowledge the interrupt
-               HAL_INTERRUPT_ACKNOWLEDGE(chan->isr_vector);
-               res = CYG_ISR_HANDLED;
-       }
-
-       CYGARC_HAL_RESTORE_GP();
-       return res;
-}
-
-static void cyg_hal_plf_serial_init(void)
-{
-       hal_virtual_comm_table_t* comm;
-       int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-
-       // Disable interrupts.
-       HAL_INTERRUPT_MASK(channels[0].isr_vector);
-       HAL_INTERRUPT_MASK(channels[1].isr_vector);
-       HAL_INTERRUPT_MASK(channels[2].isr_vector);
-
-       // Init channels
-       init_serial_channel((channel_data_t *)&channels[0]);
-       init_serial_channel((channel_data_t *)&channels[1]);
-       init_serial_channel((channel_data_t *)&channels[2]);
-
-       // Setup procs in the vector table
-       // Set channel 0
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(0);
-       comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-       CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[0]);
-       CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-       CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-       CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-       CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-       CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-       CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-       CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-       // Set channel 1
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(1);
-       comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-       CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[1]);
-       CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-       CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-       CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-       CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-       CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-       CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-       CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-       // Set channel 2
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(2);
-       comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-       CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[2]);
-       CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-       CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-       CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-       CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-       CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-       CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-       CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-       // Restore original console
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-}
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGPRI_HAL_IMPLEMENTS_IF_SERVICES
-
-//=============================================================================
-// Compatibility with older stubs
-//=============================================================================
-
-#ifndef CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-#include <cyg/hal/drv_api.h>
-#include <cyg/hal/hal_stub.h>          // cyg_hal_gdb_interrupt
-#endif
-
-// Assumption: all diagnostic output must be GDB packetized unless this is a ROM (i.e.
-// totally stand-alone) system.
-
-#if defined(CYG_HAL_STARTUP_ROM) || defined(CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL)
-#define HAL_DIAG_USES_HARDWARE
-#endif
-
-/*---------------------------------------------------------------------------*/
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL==0
-// This is the base address of the FF-channel
-#define CYG_DEV_SERIAL_BASE    CYG_DEV_SERIAL_BASE_FF
-#define CYG_DEV_SERIAL_INT     CYGNUM_HAL_INTERRUPT_FFUART
-#elif CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL==1
-// This is the base address of the BT-channel
-#define CYG_DEV_SERIAL_BASE    CYG_DEV_SERIAL_BASE_BT
-#define CYG_DEV_SERIAL_INT     CYGNUM_HAL_INTERRUPT_BTUART
-else
-// This is the base address of the STD-channel
-#define CYG_DEV_SERIAL_BASE    CYG_DEV_SERIAL_BASE_STD
-#define CYG_DEV_SERIAL_INT     CYGNUM_HAL_INTERRUPT_STUART
-#endif
-
-static channel_data_t ser_channel = { (cyg_uint8*)CYG_DEV_SERIAL_BASE, 0, 0};
-
-#ifdef HAL_DIAG_USES_HARDWARE
-void hal_diag_init(void)
-{
-       static int init = 0;
-       char *msg = "\n\rARM eCos\n\r";
-
-       if (init++) return;
-
-       init_serial_channel(&ser_channel);
-
-       while (*msg) hal_diag_write_char(*msg++);
-}
-
-#ifdef DEBUG_DIAG
-#if defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
-#define DIAG_BUFSIZE 32
-#else
-#define DIAG_BUFSIZE 2048
-#endif
-static char diag_buffer[DIAG_BUFSIZE];
-static int diag_bp = 0;
-#endif
-
-void hal_diag_write_char(char c)
-{
-       cyg_uint8 lsr;
-
-       hal_diag_init();
-
-       cyg_hal_plf_serial_putc(&ser_channel, c);
-
-#ifdef DEBUG_DIAG
-       diag_buffer[diag_bp++] = c;
-       if (diag_bp == DIAG_BUFSIZE) {
-               while (1) ;
-               diag_bp = 0;
-       }
-#endif
-}
-
-void hal_diag_read_char(char *c)
-{
-       *c = cyg_hal_plf_serial_getc(&ser_channel);
-}
-
-#else // HAL_DIAG relies on GDB
-
-// Initialize diag port - assume GDB channel is already set up
-void hal_diag_init(void)
-{
-       if (0) init_serial_channel(&ser_channel); // avoid warning
-}
-
-// Actually send character down the wire
-static void hal_diag_write_char_serial(char c)
-{
-       cyg_hal_plf_serial_putc(&ser_channel, c);
-}
-
-static bool hal_diag_read_serial(char *c)
-{
-       long timeout = 1000000000;  // A long time...
-
-       while (!cyg_hal_plf_serial_getc_nonblock(&ser_channel, c)) {
-               if (0 == --timeout) return false;
-       }
-       return true;
-}
-
-void hal_diag_read_char(char *c)
-{
-       while (!hal_diag_read_serial(c));
-}
-
-void hal_diag_write_char(char c)
-{
-       static char line[100];
-       static int pos = 0;
-
-       // No need to send CRs
-       if (c == '\r') return;
-
-       line[pos++] = c;
-
-       if (c == '\n' || pos == sizeof(line)) {
-               CYG_INTERRUPT_STATE old;
-
-               // Disable interrupts. This prevents GDB trying to interrupt us
-               // while we are in the middle of sending a packet. The serial
-               // receive interrupt will be seen when we re-enable interrupts
-               // later.
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-               CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION(old);
-#else
-               HAL_DISABLE_INTERRUPTS(old);
-#endif
-               while (1) {
-                       static char hex[] = "0123456789ABCDEF";
-                       cyg_uint8 csum = 0;
-                       int i;
-                       char c1;
-
-                       hal_diag_write_char_serial('$');
-                       hal_diag_write_char_serial('O');
-                       csum += 'O';
-                       for( i = 0; i < pos; i++ ) {
-                               char ch = line[i];
-                               char h = hex[(ch>>4)&0xF];
-                               char l = hex[ch&0xF];
-                               hal_diag_write_char_serial(h);
-                               hal_diag_write_char_serial(l);
-                               csum += h;
-                               csum += l;
-                       }
-                       hal_diag_write_char_serial('#');
-                       hal_diag_write_char_serial(hex[(csum>>4)&0xF]);
-                       hal_diag_write_char_serial(hex[csum&0xF]);
-
-                       // Wait for the ACK character '+' from GDB here and handle
-                       // receiving a ^C instead.  This is the reason for this clause
-                       // being a loop.
-                       if (!hal_diag_read_serial(&c1)) {
-                               continue;   // No response - try sending packet again
-                       }
-                       if (c1 == '+') {
-                               break;          // a good acknowledge
-                       }
-#ifdef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-                       cyg_drv_interrupt_acknowledge(CYG_DEV_SERIAL_INT);
-                       if (c1 == 3) {
-                               // Ctrl-C: breakpoint.
-                               cyg_hal_gdb_interrupt(__builtin_return_address(0));
-                               break;
-                       }
-#endif
-                       // otherwise, loop round again
-               }
-               pos = 0;
-
-               // And re-enable interrupts
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-               CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION(old);
-#else
-               HAL_RESTORE_INTERRUPTS(old);
-#endif
-       }
-}
-#endif
-
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
-/*---------------------------------------------------------------------------*/
-/* End of hal_diag.c */
diff --git a/packages/hal/arm/xscale/triton/v2_0/src/redboot_cmds.c b/packages/hal/arm/xscale/triton/v2_0/src/redboot_cmds.c
deleted file mode 100755 (executable)
index f9f73f3..0000000
+++ /dev/null
@@ -1,334 +0,0 @@
-//==========================================================================
-//
-//      redboot_cmds.c
-//
-//      TRITON [platform] specific RedBoot commands
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-//               Richard Panton <richard.panton@3glab.com>
-// Date:         2001-02-24
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-
-#include <cyg/hal/hal_triton.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-// Exported CLI function(s)
-
-
-
-#define CCCR_MEMCLK_99         0x00000001
-#define CCCR_MEMCLK_117                0x00000002
-#define CCCR_MEMCLK_132                0x00000003
-#define CCCR_MEMCLK_147        0x00000004
-#define CCCR_MEMCLK_165        0x00000005
-
-#define CCCR_RUN_EQ_MEM                0x00000020
-#define CCCR_RUN_2T_MEM                0x00000040
-
-#define CCCR_TURBO_10          0x00000100
-#define CCCR_TURBO_15          0x00000180
-#define CCCR_TURBO_20          0x00000200
-#define CCCR_TURBO_30          0x00000300
-
-
-
-RedBoot_cmd("mem",
-           "Set a memory location",
-           "[-h|-b] [-a <address>] <data>",
-           do_mem
-           );
-
-void do_mem(int argc, char *argv[])
-{
-       struct option_info opts[3];
-       bool mem_half_word, mem_byte;
-       volatile cyg_uint32 *address = NULL;
-       cyg_uint32 value;
-
-       init_opts(&opts[0], 'b', false, OPTION_ARG_TYPE_FLG,
-                 (void *)&mem_byte, 0, "write a byte");
-       init_opts(&opts[1], 'h', false, OPTION_ARG_TYPE_FLG,
-                 (void *)&mem_half_word, 0, "write a half-word");
-       init_opts(&opts[2], 'a', true, OPTION_ARG_TYPE_NUM,
-                 (void *)&address, NULL, "address to write at");
-       if (!scan_opts(argc, argv, 1, opts, 3, (void *)&value, OPTION_ARG_TYPE_NUM, "address to set"))
-               return;
-       if (mem_byte && mem_half_word) {
-               diag_printf("*ERR: Should not specify both byte and half-word access\n");
-       } else if (mem_byte) {
-               *(cyg_uint8*)address = (cyg_uint8)(value & 255);
-               diag_printf("  Set 0x%08X to 0x%02X (result 0x%02X)\n", address, value & 255, (int)*(cyg_uint8*)address);
-       } else if (mem_half_word) {
-               if ((unsigned long)address & 1) {
-                       diag_printf("*ERR: Badly aligned address 0x%08X for half-word store\n", address);
-               } else {
-                       *(cyg_uint16*)address = (cyg_uint16)(value & 0xffff);
-                       diag_printf("  Set 0x%08X to 0x%04X (result 0x%04X)\n", address, value & 0xffff, (int)*(cyg_uint16*)address);
-               }
-       } else {
-               if ((unsigned long)address & 3) {
-                       diag_printf("*ERR: Badly aligned address 0x%08X for word store\n", address);
-               } else {
-                       *address = value;
-                       diag_printf("  Set 0x%08X to 0x%08X (result 0x%08X)\n", address, value,
-                                   *address);
-               }
-       }
-}
-
-RedBoot_cmd("clock", 
-            "Set/Query the system clock speed", 
-            "[-s <clock>]",
-            do_clock
-           );
-
-int get_clock_rate(void) {
-       
-       unsigned long CCCR_reg, CCLKCFG_reg;
-       
-       
-       asm volatile (
-                     "ldr r1, =0x41300000;"            // Core Clock Config Reg
-                     "ldr %0, [r1];"
-                     "mrc p14, 0, %1, c6, c0, 0;"      // read CCLKCFG register
-                     : "=r"(CCCR_reg), "=r"(CCLKCFG_reg)
-                     :  
-                     : "r1"
-                     );
-
-       CCCR_reg &= 0x3ff;                      // blank reserved bits
-
-       if (!(CCLKCFG_reg & 1)) {               // we do not stay in turbo mode
-               CCCR_reg &= 0x7f;               // delete turbo information
-               switch (CCCR_reg) {
-               case (CCCR_MEMCLK_99 | CCCR_RUN_EQ_MEM):
-                       return 100;
-                       break;
-               case (CCCR_MEMCLK_99 | CCCR_RUN_2T_MEM):
-                       return 200;
-                       break;
-               default:
-                       return 0;
-               }
-       } else {                                // we stay in turbo mode
-               switch (CCCR_reg) {
-               case (CCCR_MEMCLK_99 | CCCR_RUN_2T_MEM | CCCR_TURBO_15):
-                       return 300;
-                       break;
-               case (CCCR_MEMCLK_99 | CCCR_RUN_2T_MEM | CCCR_TURBO_20):
-                       return 400;
-                       break;
-               default:
-                       return 0;
-               }
-       }
-}
-void do_clock(int argc, char *argv[])
-{
-       int new_clock, ret;
-       bool new_clock_set, clock_ok;
-       struct option_info opts[1];
-//#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-//    struct config_option opt;
-//#endif
-       unsigned long reg;
-
-       init_opts(&opts[0], 's', true, OPTION_ARG_TYPE_NUM,
-                 (void *)&new_clock, (bool *)&new_clock_set, "new clock speed");
-       if (!scan_opts(argc, argv, 1, opts, 1, 0, 0, "")) {
-               return;
-       }
-
-       if (new_clock_set) {
-               diag_printf("Clock speed will be changed to %d MHz\n", new_clock);
-        
-               clock_ok = 1;    
-        
-               switch (new_clock) {
-               case 100:
-                       reg =   CCCR_MEMCLK_99  | CCCR_RUN_EQ_MEM | CCCR_TURBO_10;
-                       asm volatile (
-                                     "mov      r1,     %0;"
-                                     "ldr    r2, =0x41300000;"                 // Core Clock Config Reg
-                                     "str    r1, [r2];"                                // set speed
-                                     "mov      r1, #0x2;"                                      // no turbo mode
-                                     "mcr      p14, 0, r1, c6, c0, 0;"         // frequency change  sequence
-                                     :  
-                                     : "r"(reg)  
-                                     : "r1", "r2"
-                                     );        
-                       break;
-               case 200:
-                       reg =   CCCR_MEMCLK_99 | CCCR_RUN_2T_MEM | CCCR_TURBO_10;
-                       asm volatile (
-                                     "mov      r1,     %0;"
-                                     "ldr    r2, =0x41300000;"                 // Core Clock Config Reg
-                                     "str    r1, [r2];"                                // set speed
-                                     "mov      r1, #0x2;"                                      // no turbo mode
-                                     "mcr      p14, 0, r1, c6, c0, 0;"         // frequency change  sequence
-                                     :  
-                                     : "r"(reg)  
-                                     : "r1", "r2"
-                                     );        
-                       break;
-               case 300:       
-                       reg =   CCCR_MEMCLK_99 | CCCR_RUN_2T_MEM | CCCR_TURBO_15;
-                       asm volatile (
-                                     "mov      r1,     %0;"
-                                     "ldr    r2, =0x41300000;"                 // Core Clock Config Reg
-                                     "str    r1, [r2];"                                // set speed
-                                     "mov      r1, #0x3;"                                      // set turbo mode
-                                     "mcr      p14, 0, r1, c6, c0, 0;"         // frequency change  sequence
-                                     :  
-                                     : "r"(reg)  
-                                     : "r1", "r2"
-                                     );        
-                       break;
-               case 400:
-                       reg =   CCCR_MEMCLK_99 | CCCR_RUN_2T_MEM | CCCR_TURBO_20;
-                       asm volatile (
-                                     "mov      r1,     %0;"
-                                     "ldr    r2, =0x41300000;"                 // Core Clock Config Reg
-                                     "str    r1, [r2];"                                // set speed
-                                     "mov      r1, #0x3;"                                      // set turbo mode
-                                     "mcr      p14, 0, r1, c6, c0, 0;"         // frequency change  sequence
-                                     :  
-                                     : "r"(reg)  
-                                     : "r1", "r2"
-                                     );        
-                       break;
-               default:
-                       clock_ok = 0;
-                       diag_printf("\ndon't know how to install %d MHz, keeping clock speed at %d MHz\n\n", new_clock, get_clock_rate());
-               }       
-               if (clock_ok) {    
-                       diag_printf("\nclock speed set to %d MHz ...\n", new_clock);
-               }
-
-//#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-//        opt.type = CONFIG_INT;
-//        opt.enable = (char *)0;
-//        opt.enable_sense = 1;
-//        opt.key = "console_baud_rate";
-//        opt.dflt = new_rate;
-//        flash_add_config(&opt, true);
-//#endif
-       } else {
-               ret = get_clock_rate();
-               diag_printf("Clock = ");
-               if (ret == 0) {
-                       diag_printf("unknown\n");
-               } else {
-                       diag_printf("%d\n", ret);
-               }
-       }
-}
-
-RedBoot_cmd("run",
-            "Execute code at a location",
-            "[-w <timeout>] [entry]",
-            do_run
-           );
-
-void do_run(int argc, char *argv[])
-{
-       typedef void code_fun(void);
-       unsigned long entry;
-       unsigned long oldints;
-       code_fun *fun;
-       bool wait_time_set;
-       int  wait_time, res;
-       struct option_info opts[1];
-       char line[8];
-
-       entry = entry_address;  // Default from last 'load' operation
-       init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM,
-                 (void *)&wait_time, (bool *)&wait_time_set, "wait timeout");
-       if (!scan_opts(argc, argv, 1, opts, 1, (void *)&entry, OPTION_ARG_TYPE_NUM,
-                      "starting address")) {
-               entry = 0xa0100000;
-               diag_printf("starting run at address 0x%08X ...\n", entry);
-       }
-       if (wait_time_set) {
-               int script_timeout_ms = wait_time * 1000;
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-               unsigned char *hold_script = script;
-               script = (unsigned char *)0;
-#endif
-               diag_printf("About to start execution at %p - abort with ^C within %d seconds\n",
-                           (void *)entry, wait_time);
-               while (script_timeout_ms >= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT) {
-                       res = _rb_gets(line, sizeof(line), CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT);
-                       if (res == _GETS_CTRLC) {
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-                               script = hold_script;  // Re-enable script
-#endif
-                               return;
-                       }
-                       script_timeout_ms -= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT;
-               }
-       }
-       fun = (code_fun *)entry;
-       HAL_DISABLE_INTERRUPTS(oldints);
-       HAL_DCACHE_SYNC();
-       HAL_ICACHE_DISABLE();
-       HAL_DCACHE_DISABLE();
-       HAL_DCACHE_SYNC();
-       HAL_ICACHE_INVALIDATE_ALL();
-       HAL_DCACHE_INVALIDATE_ALL();
-#ifdef HAL_ARCH_PROGRAM_NEW_STACK
-       HAL_ARCH_PROGRAM_NEW_STACK(fun);
-#else
-       (*fun)();
-#endif
-       HAL_ICACHE_ENABLE();
-       HAL_DCACHE_ENABLE();
-       HAL_RESTORE_INTERRUPTS(oldints);
-}
diff --git a/packages/hal/arm/xscale/triton/v2_0/src/triton_misc.c b/packages/hal/arm/xscale/triton/v2_0/src/triton_misc.c
deleted file mode 100755 (executable)
index 64888a6..0000000
+++ /dev/null
@@ -1,1843 +0,0 @@
-//==========================================================================
-//
-//     triton_misc.c
-//
-//     HAL misc board support code for XScale TRITON
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   msalter, usteinkohl
-// Contributors: msalter, usteinkohl
-// Date:        14th January 2003 (last modification)
-// Purpose:     HAL board support
-// Description:         Implementations of HAL board interfaces
-//
-//####DESCRIPTIONEND####
-//
-//========================================================================*/
-#include <redboot.h>
-#include <flash_config.h>
-
-#include <pkgconf/hal.h>
-#include <pkgconf/system.h>
-#include CYGBLD_HAL_PLATFORM_H
-#include CYGHWR_MEMORY_LAYOUT_H
-
-#include <cyg/infra/cyg_type.h>                // base types
-#include <cyg/infra/cyg_trac.h>                // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-
-#include <cyg/hal/hal_io.h>            // IO macros
-#include <cyg/hal/hal_stub.h>          // Stub macros
-#include <cyg/hal/hal_if.h>            // calling interface API
-#include <cyg/hal/hal_arch.h>          // Register state info
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_intr.h>          // Interrupt names
-#include <cyg/hal/hal_cache.h>
-#include <cyg/hal/hal_triton.h>                // Hardware definitions
-#include <cyg/hal/drv_api.h>           // CYG_ISR_HANDLED
-
-extern int  printf(char *fmt, ...);
-
-inline unsigned long _fu_phys_address(unsigned long _x_)
-{
-       switch (_x_>>12) {
-       case 0x0:
-               return _x_ + 0xa0000000;
-       case 0xa0000:
-               return _x_ & 0xfffffff;
-       default:
-               return _x_;
-       }
-}
-
-/*------------------------------------------------------------------------*/
-/* IDE support                                                           */
-
-void cyg_hal_plf_ide_init(void)
-{
-}
-
-#ifdef CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_HAE
-// settings for display
-//
-//
-//
-
-#define LCCR0_ENB      (0)     // enable LCD controlle, we do this later
-#define LCCR0_CMS      (0)     // color operation enabled
-#define LCCR0_SDS      (0)     // Single Panel Display
-#define LCCR0_LDM      (1)     // LCD disable done does not generate interrupts
-#define LCCR0_SFM      (1)     // Start of Frame does not generate interrupts
-#define LCCR0_IUM      (1)     // FIFO underrun errors do not generate interrupts
-#define LCCR0_EFM      (1)     // end of frame condition does not generate interrupts
-#define LCCR0_PAS      (1)     // active TFT
-#define LCCR0_DPD      (0)     // no double pixel data
-#define LCCR0_DIS      (0)     // not disabled
-#define LCCR0_QDM      (1)     // quick disable does not generate an interrupt
-#define        LCCR0_PDD       (0)     // no palette DMA request delay
-#define LCCR0_BM       (1)     // Branch Start does not generate an interrupt
-#define LCCR0_OUM      (1)     // FIFO underrun does not generate interrupts
-
-#define LCCR1_PPL      (800-1) // pixels per line -1 (must be a multiple of 8 for 4 bit pixels)
-#define LCCR1_HSW      (30-1)  // Horizontal Sync pulse Width -1
-#define LCCR1_ELW      (100-1) // End of Line Wait -1
-#define LCCR1_BLW      (180-1) // Beginning of Line Wait -1
-
-#define LCCR2_LPP      (600-1) // lines per channel -1
-#define LCCR2_VSW      (5-1)   // vertical sync pulse with -1 22
-#define LCCR2_EFW      (13-1)  // End of Frame line clock wait count -1
-#define LCCR2_BFW      (14-1)  // Beginning of frame line clock wait count -1
-
-#define LCCR3_PCD      (1)     // Pixel clock divisor
-// Internal PixClock = 99,5 MHz / 2*(PCD+1)
-// Note: with DPC=1, double clock is twice of internal
-//     PCD = 0  ->     Internal Pixel Clock = 49,75 MHz
-//  PCD = 1  ->         Internal Pixel Clock = 24,88 MHz
-//  PCD = 2  ->         Internal Pixel Clock = 16,58 MHz
-//  PCD = 3  ->         Internal Pixel Clock = 12,44 MHz
-//  PCD = 4  ->         Internal Pixel Clock =  9,95 MHz
-//  PCD = 5  ->        Internal Pixel Clock =  8,29 MHz
-//  PCD = 6  ->        Internal Pixel Clock =  7,11 MHz
-//  PCD = 7  ->        Internal Pixel Clock =  6,22 MHz
-//  PCD = 8  ->        Internal Pixel Clock =  5,53 MHz
-//  PCD = 9  ->        Internal Pixel Clock =  4,98 MHz
-//  PCD = 10 ->        Internal Pixel Clock =  4,52 MHz
-//  PCD = 20 ->        Internal Pixel Clock =  2,37 MHz
-//     PCD     = 30 -> Internal Pixel Clock =  1,61 MHz
-
-#define LCCR3_ACB      (0)     // AC bias pin frequency, not used in active mode
-#define LCCR3_API      (0)     // AC bias Pin transitions per interrupt, not used in active mode
-#define LCCR3_VSP      (1)     // vertical sync polarity - > active low
-#define LCCR3_HSP      (1)     // horizontal sync polarity -> active low
-#define LCCR3_PCP      (0)     // pixel clock polarity -> pixels sampled with falling edge
-#define LCCR3_OEP      (0)     // Blank polarity -> active high
-#define LCCR3_BPP      (0)     // bits per pixel -> 1 bits
-#define LCCR3_DPC      (0)     // Double pixel clock disabled
-#endif
-
-void coldstart(void)
-{
-#ifdef CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_HAE
-       static unsigned long __attribute__ ((aligned (16))) descriptor[4] = {
-               descriptor, 0, 0, 800 * 600 / 8,
-       };
-       static unsigned long value;
-
-       set_pin_dir(11, 0);
-       set_alternate_function(11, 0);
-
-       set_pin_dir(23, 0);
-       set_alternate_function(23, 0);
-
-       set_pin_dir(24, 0);
-       set_alternate_function(24, 0);
-
-       set_pin_dir(25, 0);
-       set_alternate_function(25, 0);
-
-       set_pin_dir(26, 0);
-       set_alternate_function(26, 0);
-
-       set_pin_dir(33, 0);
-       set_alternate_function(33, 0);
-
-       set_pin_dir(58, 1);             // LDD00
-       set_pin_dir(59, 1);             // LDD01
-       set_pin_dir(60, 1);             // LDD02
-       set_pin_dir(61, 1);             // LDD03
-       set_pin_dir(62, 1);             // LDD04
-       set_pin_dir(63, 1);             // LDD05
-       set_pin_dir(64, 1);             // LDD06
-       set_pin_dir(65, 1);             // LDD07
-       set_pin_dir(66, 1);             // LDD08
-       set_pin_dir(67, 1);             // LDD09
-       set_pin_dir(68, 1);             // LDD10
-       set_pin_dir(69, 1);             // LDD11
-       set_pin_dir(70, 1);             // LDD12
-       set_pin_dir(71, 1);             // LDD13
-       set_pin_dir(72, 1);             // LDD14
-       set_pin_dir(73, 1);             // LDD15
-       set_pin_dir(74, 1);             // FCLK
-       set_pin_dir(75, 1);             // LCLK
-       set_pin_dir(76, 1);             // PCLK
-       set_pin_dir(77, 1);             // DE
-
-       clear_pin(58);          // LDD00
-       clear_pin(59);          // LDD01
-       clear_pin(60);          // LDD02
-       clear_pin(61);          // LDD03
-       clear_pin(62);          // LDD04
-       clear_pin(63);          // LDD05
-       clear_pin(64);          // LDD06
-       clear_pin(65);          // LDD07
-       clear_pin(66);          // LDD08
-       clear_pin(67);          // LDD09
-       clear_pin(68);          // LDD10
-       clear_pin(69);          // LDD11
-       clear_pin(70);          // LDD12
-       clear_pin(71);          // LDD13
-       clear_pin(72);          // LDD14
-       clear_pin(73);          // LDD15
-       set_pin(74);            // FCLK
-       set_pin(75);            // LCLK
-       clear_pin(76);          // PCLK
-       clear_pin(77);          // DE
-
-       set_alternate_function(74,2);   // FCLK
-       set_alternate_function(75,2);   // LCLK
-       set_alternate_function(76,2);   // PCLK
-       set_alternate_function(77,2);   // BIAS
-
-       set_pin_dir(78, 0);
-       set_alternate_function(78, 0);
-
-       set_pin_dir(79, 0);
-       set_alternate_function(79, 0);
-
-       set_pin_dir(80, 0);
-       set_alternate_function(80, 0);
-
-       HAL_WRITE_UINT32(LCCR0, (LCCR0_ENB |
-                                (LCCR0_CMS << 1) |
-                                (LCCR0_SDS << 2) |
-                                (LCCR0_LDM <<3) |
-                                (LCCR0_SFM << 4) |
-                                (LCCR0_IUM << 5)  |
-                                (LCCR0_EFM << 6)  |
-                                (LCCR0_PAS <<7)  |
-                                (LCCR0_DPD << 9) |
-                                (LCCR0_DIS <<10)  |
-                                (LCCR0_QDM <<11) |
-                                (LCCR0_PDD <<12) |
-                                (LCCR0_BM << 20) |
-                                (LCCR0_OUM <<21)));
-
-       HAL_WRITE_UINT32(LCCR1,         (LCCR1_PPL |
-                                        (LCCR1_HSW << 10) |
-                                        (LCCR1_ELW << 16) |
-                                        (LCCR1_BLW << 24)));
-       HAL_WRITE_UINT32(LCCR2,         (LCCR2_LPP |
-                                        (LCCR2_VSW << 10) |
-                                        (LCCR2_EFW << 16) |
-                                        (LCCR2_BFW << 24)));
-       HAL_WRITE_UINT32(LCCR3,         (LCCR3_PCD |
-                                        (LCCR3_ACB << 8) |
-                                        (LCCR3_API << 16) |
-                                        (LCCR3_VSP << 20) |
-                                        (LCCR3_HSP << 21) |
-                                        (LCCR3_PCP << 22) |
-                                        (LCCR3_OEP << 23) |
-                                        (LCCR3_BPP << 24) |
-                                        (LCCR3_DPC << 27)));
-
-       HAL_WRITE_UINT32(FDADR0, (unsigned long)descriptor);
-#endif
-       HAL_WRITE_UINT32(OSCR, 0);      // initialize os timer counter
-       HAL_WRITE_UINT32(RCNR, 0);      // initialize rtc counter
-       HAL_WRITE_UINT32(RTTR, 0x7FFF); // divide RTC to get 1hz output
-       //
-       // initialize interrupt registers
-       //
-       HAL_WRITE_UINT32(ICMR, 0);      // Pending Interrupts are masked from becoming active
-       HAL_WRITE_UINT32(ICLR, 0);      // Route all Interrupts to CPU IRQ (none to FIQ)
-       HAL_WRITE_UINT32(ICCR, 1);      // Only enabled and unmasked interrupt bring core out of idle
-
-       //
-       //  setup general purpose I/Os (specific to TRITON board)
-       //  must set GPSR/GPCR, then set GPDR, then set GPAFR
-       //
-       //  this is already done in the assembly code.
-
-       //      setup the edge detect registers
-
-       HAL_WRITE_UINT32(GRERx, 0x11);          // rising edge detect registers
-       HAL_WRITE_UINT32(GRERy, 0);
-       HAL_WRITE_UINT32(GRERz, 0);
-       HAL_WRITE_UINT32(GFERx, 0);          // falling edge detect registers
-       HAL_WRITE_UINT32(GFERy, 0);
-       HAL_WRITE_UINT32(GFERz, 0);
-
-       //      clear all  edge detect status bits
-
-       HAL_WRITE_UINT32(GEDRx, 0xffffffff);  // clear all bits
-       HAL_WRITE_UINT32(GEDRy, 0xffffffff);
-       HAL_WRITE_UINT32(GEDRz, 0xffffffff);
-
-       //   setup PCMCIA timing parameters (should be optimized (usteinkohl)
-       //
-       //              this is TRITON specific
-       //
-       //              for about 100 MHz MEMCLK:
-       //                      command setup:                          70 nsec
-       //                      command minimum duration:  170 nsec
-       //                      command hold:                           50 nsec
-
-       HAL_WRITE_UINT32(MCIO0, 0x0000c205);
-       HAL_WRITE_UINT32(MCIO1, 0x0000c205);
-
-       HAL_WRITE_UINT32(MCMEM0, 0x0000c205);
-       HAL_WRITE_UINT32(MCMEM1, 0x0000c205);
-
-       HAL_WRITE_UINT32(MCATT0, 0x0000c205);
-       HAL_WRITE_UINT32(MCATT1, 0x0000c205);
-
-       HAL_WRITE_UINT32(MECR, 0x3);   // set CIT and NOS
-}
-
-void reset_cp_dac(void)
-{
-#define LTC1663_SY             1
-#define LTC1663_SD             2
-#define LTC1663_BG             4
-
-#ifdef TRITON_X_BOARD
-       pin_i2c_t       dac_pins = {4, 5};
-#else
-       pin_i2c_t       dac_pins = {13, 14};
-#endif
-       pin_i2c_setup(&dac_pins);
-       ltc1663_write(&dac_pins, 0x40, LTC1663_BG, 384);
-}
-
-void init_i2c_pp(void)
-{
-       init_i2c();
-       write_i2c_pcf8574(0x40, 0xf3);
-       HAL_DELAY_US(10000);
-       write_i2c_pcf8574(0x40, 0xf7);
-}
-
-void hal_hardware_init(void)
-{
-       cyg_uint32 cken;
-       cyg_uint32 val;
-#ifdef CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_HAE
-       unsigned long value;
-#endif
-
-       HAL_READ_UINT32(CKEN, cken);
-       // enable FFUART clock and BTUART clock and STUART
-       HAL_WRITE_UINT32(CKEN, cken | 0xe0);
-
-       // Let the "OS" counter run
-       coldstart();
-
-       // Set up eCos/ROM interfaces
-       hal_if_init(); //ecos, not platform, specifc.  Common to all.  Do not change.
-#ifdef TRITON_V_CPOWER
-       reset_cp_dac();
-#endif
-#if 0
-#if TRITON_STK==2
-       init_i2c_pp();
-#endif
-#endif
-       // Enable caches
-       HAL_DCACHE_ENABLE();  //leave this
-       HAL_ICACHE_ENABLE();    //leave this
-
-       //diag_printf("CKEN register: 0x%08X\n", cken);
-
-       // check if we restart from sleep mode
-       HAL_READ_UINT32(RCSR, val);
-       //HAL_WRITE_UINT32(RCSR, 0xf);          // clear all bits
-       if (val & 0x0f) {
-               const char *sep = " ";
-               diag_printf("\nReset caused by:");
-               if (val & 1) {
-                       diag_printf("%shardware reset pin", sep);
-                       sep = " + ";
-               }
-               if (val & 0x02) {
-                       diag_printf("%swatchdog reset", sep);
-                       sep = " + ";
-               }
-               if (val & 0x08) {
-                       diag_printf("%sGPIO reset\n", sep);
-                       sep = " + ";
-               }
-               if (val & 0x04) {
-                       diag_printf("%ssleep reset", sep);
-                       sep = " + ";
-                       HAL_READ_UINT32(PSPR, val);
-                       if (!val) {
-                               diag_printf("\nwarning, NULL pointer detected in PSPR register\n");
-                       } else {
-                               diag_printf("\nrestarting operating system ...\n");
-                               asm volatile (
-                                             "mov pc, %0;"     // jump to pointer
-                                             :
-                                             : "r"(val)
-                                             );
-                       }
-               }
-               diag_printf("\n");
-       } else {
-               diag_printf("\nwarning, unknown reset source !!!!\n");
-               diag_printf("RCSR register: 0x%08X\n", val);
-       }
-
-#ifdef CYGPKG_HAL_ARM_XSCALE_TRITON_ETN_HAE
-       HAL_READ_UINT32(LCCR0, value);
-       value |= 1;                             // enable LCD controller
-       HAL_WRITE_UINT32(LCCR0, value);
-#endif
-}
-
-#include CYGHWR_MEMORY_LAYOUT_H
-typedef void code_fun(void);
-void triton_program_new_stack(void *func)
-{
-       register CYG_ADDRESS stack_ptr asm("sp");
-       register CYG_ADDRESS old_stack asm("r4");
-       register code_fun *new_func asm("r0");
-
-       old_stack = stack_ptr;
-
-       stack_ptr = CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - sizeof(CYG_ADDRESS);
-       new_func = (code_fun*)func;
-       new_func();
-
-       stack_ptr = old_stack;
-}
-
-#if 0
-    asm volatile (
-                 "ldr          r1,=0x00000800;" // we use GPIO23 for controlling the debug LED
-
-                 "250961:;"
-                 "ldr          r0,=0x40E00024;"        // GPCR0
-                 "str          r1,     [r0];"          // switch the LED on
-                 
-                 "ldr          r2,=0x00a00000;"        // wait some time
-                 "mov          r3,#1 ;"
-                 "998:;"
-                 "sub          r2, r2, r3;"
-                 "cmp          r2,#0;"
-                 "bne          998b;"
-
-                 "ldr          r0,=0x40E00018;"        // GPSR0
-                 "str          r1,     [r0];"          // switch the LED off
-
-                 "ldr          r2,=0x00a00000;"        // wait some time
-                 "mov          r3,#1;"
-                 "998:;"
-                 "sub          r2, r2, r3;"
-                 "cmp          r2,#0;"
-                 "bne          998b;"
-
-                 "b            250961b;"
-                 :
-                 :
-                 : "r0","r1","r2","r3"
-                 );
-#endif
-
-// Initialize the clock
-static cyg_uint32  clock_period;
-
-void hal_clock_initialize(cyg_uint32 period)
-{
-       cyg_uint32 oier;
-
-       // Load match value
-       HAL_WRITE_UINT32(OSMR0, period);
-       clock_period = period;
-
-       // Start the counter
-       HAL_WRITE_UINT32(OSCR, 0);
-       // Clear any pending interrupt
-       HAL_WRITE_UINT32(OSSR, OSSR_TIMER0);
-       // Enable timer 0 interrupt
-       HAL_READ_UINT32(OIER, oier);
-       HAL_WRITE_UINT32(OIER, oier | OIER_TIMER0);
-
-       // Unmask timer 0 interrupt
-       HAL_INTERRUPT_UNMASK(CYGNUM_HAL_INTERRUPT_TIMER0);
-}
-
-// This routine is called during a clock interrupt.
-void hal_clock_reset(cyg_uint32 vector, cyg_uint32 period)
-{
-       cyg_uint32 oscr;
-
-       // Load new match value
-       HAL_READ_UINT32(OSCR, oscr);
-       HAL_WRITE_UINT32(OSMR0, oscr + period);
-       // Clear any pending interrupt
-       HAL_WRITE_UINT32(OSSR, OSSR_TIMER0);
-}
-
-// Read the current value of the clock, returning the number of hardware
-// "ticks" that have occurred (i.e. how far away the current value is from
-// the start)
-
-// Note: The "contract" for this function is that the value is the number
-// of hardware clocks that have happened since the last interrupt (i.e.
-// when it was reset). This value is used to measure interrupt latencies.
-// However, since the hardware counter runs freely, this routine computes
-// the difference between the current clock period and the number of hardware
-// ticks left before the next timer interrupt.
-void hal_clock_read(cyg_uint32 *pvalue)
-{
-       int orig;
-       cyg_uint32 oscr;
-       cyg_uint32 osmr0;
-
-       HAL_DISABLE_INTERRUPTS(orig);
-       HAL_READ_UINT32(OSCR, oscr);
-       HAL_READ_UINT32(OSMR0, osmr0);
-       *pvalue = clock_period + oscr - osmr0;
-       HAL_RESTORE_INTERRUPTS(orig);
-}
-
-// Delay for some number of micro-seconds
-void hal_delay_us(cyg_uint32 time)
-{
-#if 1
-       cyg_uint32 val = 0;
-       cyg_uint32 ctr;
-
-       HAL_READ_UINT32(OSCR, ctr);
-       while (time-- > 0) {
-               do {
-                       cyg_uint32 oscr;
-
-                       HAL_READ_UINT32(OSCR, oscr);
-                       if (ctr != oscr) {
-                               val += 271267;          // 271267ps (3.6864Mhz -> 271.267ns)
-                               ++ctr;
-                       }
-               } while (val < 1000000);
-               val -= 1000000;
-       }
-#else
-       cyg_uint32 timer_value;
-
-       if (time < 100000) {
-               timer_value = time * 3686;
-               timer_value = timer_value / 1000;
-       } else {
-               timer_value = time / 1000;
-               timer_value = timer_value * 3686;
-       }
-
-       if (timer_value < 20) {
-               timer_value = 20;
-       }
-       asm volatile (
-                     "ldr r5, =0x40a0001C;"            // OIER
-                     "mov r7, #1;"
-                     "str r7, [r5];"                   // enable match 0
-
-                     "ldr r5, =0x40a00010;"            // OSCR
-                     "ldr r6, [r5];"
-                     "add r6, r6, %0;"
-                     "ldr r5, =0x40a00000;"            // OS Timer Match Register 0
-                     "str r6, [r5];"
-
-                     "ldr r5, =0x40a00014;"            // OSSR
-                     "mov r7, #1;"
-                     "str r7, [r5];"                   // clear status
-
-                     "1902:;"
-
-                     "ldr r7, [r5];"                   // read OSSR
-                     "and r7, r7, #1;"
-                     "cmp r7, #1;"
-                     "bne 1902b;"
-                     :
-                     : "r"(timer_value)
-                     : "r5","r6","r7"
-                     );
-#endif
-}
-
-typedef cyg_uint32 cyg_ISR(cyg_uint32 vector, CYG_ADDRWORD data);
-
-extern void cyg_interrupt_post_dsr(CYG_ADDRWORD intr_obj);
-
-static inline cyg_uint32 hal_call_isr(cyg_uint32 vector)
-{
-       return 0;
-}
-
-// Interrupt handling
-
-// This routine is called to respond to a hardware interrupt (IRQ).  It
-// should interrogate the hardware and return the IRQ vector number.
-int hal_IRQ_handler(void)
-{
-       cyg_uint32 sources, index;
-
-#ifdef HAL_EXTENDED_IRQ_HANDLER
-       // Use platform specific IRQ handler, if defined
-       // Note: this macro should do a 'return' with the appropriate
-       // interrupt number if such an extended interrupt exists.  The
-       // assumption is that the line after the macro starts 'normal' processing.
-       HAL_EXTENDED_IRQ_HANDLER(index);
-#endif
-
-       HAL_READ_UINT32(ICIP, sources);
-       if (sources & 0xff0000) {
-               index = 16;
-       } else if (sources & 0xff00) {
-               index = 8;
-       } else if (sources & 0xff) {
-               index = 0;
-       } else {
-               index = 24;
-       }
-       do {
-               if ((1 << index) & sources) {
-                       if (index == CYGNUM_HAL_INTERRUPT_GPIO) {
-                               // Special case of GPIO cascade.  Search for lowest set bit
-                               HAL_READ_UINT32(GEDRx, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 32;
-                                       }
-                                       index++;
-                               } while (index < 32);
-                               HAL_READ_UINT32(GEDRy, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 64;
-                                       }
-                                       index++;
-                               } while (index < 32);
-                               HAL_READ_UINT32(GEDRz, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 96;
-                                       }
-                                       index++;
-                               } while (index < 22); // GPIOs 64..85
-
-                       }
-                       return index;
-               }
-               index++;
-       } while (index & 7);
-
-       return CYGNUM_HAL_INTERRUPT_NONE; // This shouldn't happen!
-}
-
-void hal_interrupt_mask(int vector)
-{
-       cyg_uint32 icmr;
-
-#ifdef HAL_EXTENDED_INTERRUPT_MASK
-       // Use platform specific handling, if defined
-       // Note: this macro should do a 'return' for "extended" values of 'vector'
-       // Normal vectors are handled by code subsequent to the macro call.
-       HAL_EXTENDED_INTERRUPT_MASK(vector);
-#endif
-       if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-               vector = CYGNUM_HAL_INTERRUPT_GPIO;
-       }
-       HAL_READ_UINT32(ICMR, icmr);
-       HAL_WRITE_UINT32(ICMR, icmr & ~(1 << vector));
-}
-
-void hal_interrupt_unmask(int vector)
-{
-       cyg_uint32 icmr;
-
-#ifdef HAL_EXTENDED_INTERRUPT_UNMASK
-       // Use platform specific handling, if defined
-       // Note: this macro should do a 'return' for "extended" values of 'vector'
-       // Normal vectors are handled by code subsequent to the macro call.
-       HAL_EXTENDED_INTERRUPT_UNMASK(vector);
-#endif
-
-       if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-               vector = CYGNUM_HAL_INTERRUPT_GPIO;
-       }
-       HAL_READ_UINT32(ICMR, icmr);
-       HAL_WRITE_UINT32(ICMR, icmr | (1 << vector));
-}
-
-void hal_interrupt_acknowledge(int vector)
-{
-       cyg_uint32 rtsr;
-
-#if DEBUG_INT
-       diag_printf("void hal_interrupt_acknowledge(int vector) entered ...\n");
-       diag_printf("vector = %d     \n", vector);
-#endif
-       switch (vector) {
-       case CYGNUM_HAL_INTERRUPT_ALARM:
-               HAL_READ_UINT32(RTSR, rtsr);
-               HAL_WRITE_UINT32(RTSR, (rtsr & ~0x2553) | 0x1);
-               break;
-       case CYGNUM_HAL_INTERRUPT_HZ:
-               HAL_READ_UINT32(RTSR, rtsr);
-               HAL_WRITE_UINT32(RTSR, (rtsr & ~0x2553) | 0x2);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER3:
-               HAL_WRITE_UINT32(OSSR, 0x08);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER2:
-               HAL_WRITE_UINT32(OSSR, 0x04);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER1:
-               HAL_WRITE_UINT32(OSSR, 0x02);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER0:
-               HAL_WRITE_UINT32(OSSR, 0x01);
-               break;
-       case CYGNUM_HAL_INTERRUPT_DMA:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_SSP:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_MMC:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_FFUART:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_BTUART:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_STUART:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_ICP:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_I2S:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_LCD:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_AC97:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_I2C:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_PMU:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_USB:
-               // user specific code here
-               break;
-               // GPIO interrupts are driven by an edge detection mechanism.  This
-               // is latching so these interrupts must be acknowledged directly.
-               // All other interrupts simply go away when the interrupting unit
-               // has been serviced by the ISR.
-       case CYGNUM_HAL_INTERRUPT_GPIO1:
-               HAL_WRITE_UINT32(GEDRx, 0x2);
-               break;
-       case CYGNUM_HAL_INTERRUPT_GPIO0:
-               HAL_WRITE_UINT32(GEDRx, 0x1);
-               break;
-       default:                // the rest is second level GPIO
-               if (vector >= CYGNUM_HAL_INTERRUPT_GPIO64) {
-                       HAL_WRITE_UINT32(GEDRz, (1 << (vector - 96)));
-               } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO32) {
-                       HAL_WRITE_UINT32(GEDRy, (1 << (vector - 64)));
-               } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-                       HAL_WRITE_UINT32(GEDRx, (1 << (vector - 32)));
-               }
-               break;
-       }
-       return;
-}
-
-void hal_interrupt_configure(int vector, int level, int up)
-{
-#if DEBUG_INT
-       diag_printf("void hal_interrupt_configure(int vector, int level, int up) entered ...\n");
-       diag_printf("vector = %d    level = %d      up = %d   \n", vector, level, up);
-#endif
-#if 0
-#ifdef HAL_EXTENDED_INTERRUPT_CONFIGURE
-       // Use platform specific handling, if defined
-       // Note: this macro should do a 'return' for "extended" values of 'vector'
-       // Normal vectors are handled by code subsequent to the macro call.
-       HAL_EXTENDED_INTERRUPT_CONFIGURE(vector, level, up);
-#endif
-       if (vector >= CYGNUM_HAL_INTERRUPT_GPIO64) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERz |= (1 << (vector - 96));
-                               *(unsigned long*)GFERz |= (1 << (vector - 96));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERz &= ~(1 << (vector - 96));
-                               *(unsigned long*)GFERz &= ~(1 << (vector - 96));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERz |= (1 << (vector - 96));
-                               *(unsigned long*)GFERz &= ~(1 << (vector - 96));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERz |= (1 << (vector - 96));
-                               *(unsigned long*)GRERz &= ~(1 << (vector - 96));
-                       }
-               }
-       } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO32) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERy |= (1 << (vector - 64));
-                               *(unsigned long*)GFERy |= (1 << (vector - 64));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERy &= ~(1 << (vector - 64));
-                               *(unsigned long*)GFERy &= ~(1 << (vector - 64));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERy |= (1 << (vector - 64));
-                               *(unsigned long*)GFERy &= ~(1 << (vector - 64));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERy |= (1 << (vector - 64));
-                               *(unsigned long*)GRERy &= ~(1 << (vector - 64));
-                       }
-               }
-       } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERx |= (1 << (vector - 32));
-                               *(unsigned long*)GFERx |= (1 << (vector - 32));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERx &= ~(1 << (vector - 32));
-                               *(unsigned long*)GFERx &= ~(1 << (vector - 32));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERx |= (1 << (vector - 32));
-                               *(unsigned long*)GFERx &= ~(1 << (vector - 32));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERx |= (1 << (vector - 32));
-                               *(unsigned long*)GRERx &= ~(1 << (vector - 32));
-                       }
-               }
-       } else if (vector == CYGNUM_HAL_INTERRUPT_GPIO0 || vector == CYGNUM_HAL_INTERRUPT_GPIO1) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERx |= (1 << (vector - 8));
-                               *(unsigned long*)GFERx |= (1 << (vector - 8));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERx &= ~(1 << (vector - 8));
-                               *(unsigned long*)GFERx &= ~(1 << (vector - 8));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERx |= (1 << (vector - 8));
-                               *(unsigned long*)GFERx &= ~(1 << (vector - 8));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERx |= (1 << (vector - 8));
-                               *(unsigned long*)GRERx &= ~(1 << (vector - 8));
-                       }
-               }
-       }
-#endif
-}
-
-void hal_interrupt_set_level(int vector, int level)
-{
-}
-
-/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
-/* Command and code to reset the hardware by issuing the reset vector     */
-/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
-void cyg_hal_xscale_soft_reset(CYG_ADDRESS entry)
-{
-#if 0
-       unsigned long oldints;
-
-       // clear reset status
-       HAL_WRITE_UINT32(RCSR, 0x0f);
-
-       HAL_DISABLE_INTERRUPTS(oldints);
-       HAL_DCACHE_SYNC();
-       HAL_ICACHE_DISABLE();
-       HAL_DCACHE_DISABLE();
-       HAL_DCACHE_SYNC();
-       HAL_ICACHE_INVALIDATE_ALL();
-       HAL_DCACHE_INVALIDATE_ALL();
-
-       asm volatile(
-                    "mcr p15,0,r0,c7,c10,4;"   //drain write buffer
-                    "mcr p15,0,r0,c7,c7,0;"    //invalidate I&D cache BTB
-                    "mrc p15,0,r0,c1,c0,0;"    //read ARM control register
-                    "bic r0,r0,#0xd;"          //disable data cache and mmu
-                    "bic r0,r0,#0x1000;"       //disable instruction cache
-                    "mcr p15,0,r0,c1,c0,0;"
-                    "mov pc,#0x0;"
-                    :
-                    :
-                    : "r0"
-                    );
-#else
-       unsigned long value;
-
-       diag_printf("\nDoing software reset now");
-
-       // clear reset status
-       HAL_WRITE_UINT32(RCSR, 0x0f);
-
-       HAL_READ_UINT32(OSCR, value);
-       value += 325000;
-       HAL_WRITE_UINT32(OSMR3, value);
-       HAL_WRITE_UINT32(OWER, 1);
-       while (1) { // wait here for watchdog reset
-               diag_printf(".");
-               HAL_DELAY_US(10 * 1000);
-       }
-#endif
-}
-
-void do_triton_reset(int argc, char *argv[])
-{
-       HAL_PLATFORM_RESET();
-}
-
-RedBoot_cmd("reset",
-           "Reset the board/hardware",
-           "",
-           do_triton_reset
-           );
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-/*------------------------------------------------------------------------*/
-//  HW Debug support
-
-static inline void set_ibcr0(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c8,0" : : "r"(x));
-}
-
-static inline unsigned get_ibcr0(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c8,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_ibcr1(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c9,0" : : "r"(x));
-}
-
-static inline unsigned get_ibcr1(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c9,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dbr0(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c0,0" : : "r"(x));
-}
-
-static inline unsigned get_dbr0(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c0,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dbr1(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c3,0" : : "r"(x));
-}
-
-static inline unsigned get_dbr1(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c3,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dbcon(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c4,0" : : "r"(x));
-}
-
-static inline unsigned get_dbcon(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c4,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dcsr(unsigned x)
-{
-       asm volatile ("mcr p14,0,%0,c10,c0,0" : : "r"(x));
-}
-
-static inline unsigned get_dcsr(void)
-{
-       unsigned x;
-       asm volatile ("mrc p14,0,%0,c10,c0,0" : "=r"(x) :);
-       return x;
-}
-
-int cyg_hal_plf_hw_breakpoint(int setflag, void *vaddr, int len)
-{
-       unsigned int addr = (unsigned)vaddr;
-
-       if (setflag) {
-               if (!(get_ibcr0() & 1))
-                       set_ibcr0(addr | 1);
-               else if (!(get_ibcr1() & 1))
-                       set_ibcr1(addr | 1);
-               else
-                       return -1;
-       } else {
-               unsigned x = (addr | 1);
-               if (get_ibcr0() == x)
-                       set_ibcr0(0);
-               else if (get_ibcr0() == x)
-                       set_ibcr1(0);
-               else
-                       return -1;
-       }
-       return 0;
-}
-
-int cyg_hal_plf_hw_watchpoint(int setflag, void *vaddr, int len, int type)
-{
-       unsigned int mask, bit_nr, mode, addr = (unsigned)vaddr;
-       unsigned dbcon = get_dbcon();
-
-       mask = 0x80000000;
-       bit_nr = 31;
-       while (bit_nr) {
-               if (len & mask)
-                       break;
-               bit_nr--;
-               mask >>= 1;
-       }
-       mask = ~(0xffffffff << bit_nr);
-
-       if (setflag) {
-               /* set a watchpoint */
-               if (type == 2)
-                       mode = 1; // break on write
-               else if (type == 3)
-                       mode = 3; // break on read
-               else if (type == 4)
-                       mode = 2; // break on any access
-               else
-                       return 1;
-
-               if (!(dbcon & 3)) {
-                       set_dbr0(addr);
-                       set_dbr1(mask);
-                       set_dbcon(dbcon | mode | 0x100);
-               } else
-                       return 1;
-       } else {
-               /* clear a watchpoint */
-               if (dbcon & 3)
-                       set_dbcon(dbcon & ~3);
-               else
-                       return 1;
-       }
-       return 0;
-}
-
-// Return indication of whether or not we stopped because of a
-// watchpoint or hardware breakpoint. If stopped by a watchpoint,
-// also set '*data_addr_p' to the data address which triggered the
-// watchpoint.
-int cyg_hal_plf_is_stopped_by_hardware(void **data_addr_p)
-{
-       unsigned fsr, dcsr, dbcon, kind = 0;
-
-       // Check for debug event
-       asm volatile ("mrc p15,0,%0,c5,c0,0" : "=r"(fsr) :);
-       if ((fsr & 0x200) == 0)
-               return HAL_STUB_HW_STOP_NONE;
-
-       // There was a debug event. Check the MOE for details
-       dcsr = get_dcsr();
-       switch ((dcsr >> 2) & 7) {
-       case 1:  // HW breakpoint
-               return HAL_STUB_HW_STOP_BREAK;
-       case 2:  // Watchpoint
-               dbcon = get_dbcon();
-               if (dbcon & 0x100) {
-                       // dbr1 is used as address mask
-                       kind = dbcon & 3;
-                       *data_addr_p = (void *)get_dbr0();
-               }
-               if (kind == 1)
-                       return HAL_STUB_HW_STOP_WATCH;
-               if (kind == 2)
-                       return HAL_STUB_HW_STOP_AWATCH;
-               if (kind == 3)
-                       return HAL_STUB_HW_STOP_RWATCH;
-               // should never get here
-               break;
-       }
-       return HAL_STUB_HW_STOP_NONE;
-}
-#endif // CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-#define SCL_LOW                (unsigned char)0x00
-#define SCL_HIGH       (unsigned char)0x01
-#define SDA_LOW                (unsigned char)0x00
-#define SDA_HIGH       (unsigned char)0x02
-#define I2C_WRITE      (unsigned char)0x00
-#define I2C_READ       (unsigned char)0x01
-
-#define WRITE_REG32(__regadr, __val) ((__regadr) = (__val))
-#define READ_REG32(__regadr) (__regadr)
-
-#define PXA250_AFREG_BASE      0x40e00054
-#define PXA250_PINDIR_BASE     0x40e0000c
-#define PXA250_PINSET_BASE     0x40e00018
-#define PXA250_PINCLEAR_BASE   0x40e00024
-#define PXA250_REDGE_BASE      0x40e00030
-#define PXA250_FEDGE_BASE      0x40e0003c
-#define PXA250_DEDGE_BASE      0x40e00048
-#define PXA250_PINLEVEL_BASE   0x40e00000
-
-void pin_i2c_setup(pin_i2c_t *pin_data)
-{
-       // configure pins as GPIO function
-       set_alternate_function((unsigned char)pin_data->scl_no, 0);
-       set_alternate_function((unsigned char)pin_data->sda_no, 0);
-
-       // set both pins to input
-       set_pin_dir((unsigned char)pin_data->scl_no, 0);                /* 0=input 1=output */
-       set_pin_dir((unsigned char)pin_data->sda_no, 0);                /* 0=input 1=output */
-
-       // clear all output registers
-       clear_pin((unsigned char)pin_data->scl_no);
-       clear_pin((unsigned char)pin_data->sda_no);
-}
-
-void bus_out(pin_i2c_t *pin_data, unsigned char pdata)
-{
-       switch (pdata & 0x03) {
-       case 0:
-               set_pin_dir((unsigned char)pin_data->scl_no, 1);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 1);        /* 0=input 1=output */
-               break;
-       case 1:
-               set_pin_dir((unsigned char)pin_data->scl_no, 0);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 1);        /* 0=input 1=output */
-               break;
-       case 2:
-               set_pin_dir((unsigned char)pin_data->scl_no, 1);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 0);        /* 0=input 1=output */
-               break;
-       case 3:
-               set_pin_dir((unsigned char)pin_data->scl_no, 0);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 0);        /* 0=input 1=output */
-               break;
-       }
-       return;
-}
-
-int bus_in(pin_i2c_t *pin_data)
-{
-       int result;
-
-       result = get_pin_status((unsigned char)pin_data->sda_no);
-       if (result < 0) {
-               //dprintf("get_pin_status returned error \n");
-               return 1;
-       } else {
-               return result;
-       }
-}
-
-void i2c_start(pin_i2c_t *pin_data)
-{
-       //dprintf("pin status is %d\n", get_pin_status((unsigned char)pin_data->sda_no));
-
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-}
-
-void i2c_stop(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-}
-
-int i2c_read_ack(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_HIGH);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-       if (bus_in(pin_data)) {
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               return -2;
-       } else {
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               return 0;
-       }
-}
-
-void i2c_write_ack(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-}
-
-void i2c_write_nack(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_HIGH);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_LOW | SDA_HIGH);
-       HAL_DELAY_US(10);
-}
-
-void i2c_slave_addr(pin_i2c_t *pin_data, unsigned char dev, unsigned char mode)
-{
-       i2c_write(pin_data, dev | mode);
-}
-
-void i2c_read(pin_i2c_t *pin_data, unsigned char *res)
-{
-       unsigned char in = 0;
-       unsigned char bit = 0x80;
-
-       while (bit) {
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-               HAL_DELAY_US(10);
-               if (bus_in(pin_data))
-                       in |= bit;
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               bit >>= 1;
-       }
-       *res = in;
-}
-
-void i2c_write(pin_i2c_t *pin_data, unsigned char val)
-{
-       unsigned char out;
-       unsigned char bit = 0x80;
-
-       while (bit) {
-               out = (bit & val) ? SDA_HIGH : SDA_LOW;
-               bus_out(pin_data, SCL_LOW | out);
-               HAL_DELAY_US(10);
-               bus_out(pin_data, SCL_HIGH | out);
-               HAL_DELAY_US(10);
-               bus_out(pin_data, SCL_LOW | out);
-               HAL_DELAY_US(10);
-               bit >>= 1;
-       }
-}
-
-/* ================================================================ */
-/*
-    function:  se_read
-
-    paramters: unsigned char addr      start address in ser. EEPROM
-               unsigned int  numb      number of bytes to be read
-               char *dat               pointer to data buffer
-
-    ret. val.: int                     = 0, every thing ok
-                                         else, device not av., or not ready
-
-*/
-int se_read(pin_i2c_t *pin_data, unsigned char addr, unsigned char dev_address,
-           unsigned int numb, char *dat)
-{
-       unsigned int i;
-
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_WRITE);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, addr);        /* read from start address */
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_READ);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-
-       for (i = 0; i < numb - 1; i++) {
-               i2c_read(pin_data, dat++);
-               i2c_write_ack(pin_data);
-       }
-       i2c_read(pin_data, dat);
-       i2c_stop(pin_data);
-
-       return 0;
-}
-
-/* ================================================================ */
-/*
-    function:  se_write
-
-    paramters: unsigned char addr      start address in ser. EEPROM
-               unsigned char val       value to write
-
-    ret. val.: int                     = 0, every thing ok
-                                         else, device not av., or not ready
-
-*/
-int se_write(pin_i2c_t *pin_data, unsigned char addr,unsigned char dev_address, unsigned char val)
-{
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_WRITE);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, addr);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, val);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_stop(pin_data);
-       HAL_DELAY_US(10000);
-       return 0;
-}
-
-/* ================================================================ */
-/*
-    function:  ltc1663_pwrite
-
-    paramters: unsigned dev_address            device address of chip
-                       unsigned char command           command byte
-               unsigned short val              value to write
-
-    ret. val.: int                             = 0, every thing ok
-                                                       else, device not av., or not ready
-
-*/
-int ltc1663_write(pin_i2c_t *pin_data, unsigned char dev_address, unsigned char command,
-                 unsigned short val)
-{
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_WRITE);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, command);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, (unsigned char)val&0xff);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, (unsigned char)((val&0xff00)>>8));
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_stop(pin_data);
-       HAL_DELAY_US(100);
-       return 0;
-}
-
-// -----------------------------------------------------------------------
-int set_alternate_function(unsigned char gpio_number, unsigned char function_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       if (function_code > 3) {
-               //dprintf("GPIO alternate function code %d is out of range\n", function_code);
-               return 0;
-       }
-
-       register_offset = gpio_number / 16;
-
-       bit_offset = gpio_number % 16;
-       mask = 3 << (bit_offset*2);
-
-       reg_adr = PXA250_AFREG_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (function_code << (bit_offset*2));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_pin_dir(unsigned char gpio_number, unsigned char dir_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       if (dir_code > 1) {
-               //dprintf("GPIO alternate function code %d is out of range\n", dir_code);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINDIR_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (dir_code << (bit_offset));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_rising_edge(unsigned char gpio_number, unsigned char edge_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-       if (edge_code > 1) {
-               //dprintf("rising edge value sould be 0 or 1, not %d\n", edge_code);
-               return 0;
-       }
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_REDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (edge_code << (bit_offset));
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_falling_edge(unsigned char gpio_number, unsigned char edge_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       if (edge_code > 1) {
-               //dprintf("falling edge value sould be 0 or 1, not %d\n", edge_code);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_FEDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (edge_code << (bit_offset));
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_pin(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINSET_BASE + register_offset * 4;
-
-       org_value = 0;
-
-       new_value = (org_value & (~mask)) | (1 << (bit_offset));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-
-}
-
-int clear_pin(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINCLEAR_BASE + register_offset * 4;
-
-       org_value = 0;
-
-       new_value = (org_value & (~mask)) | (1 << (bit_offset));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-
-}
-
-int get_pin_status(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long return_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return -1;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINLEVEL_BASE + register_offset * 4;
-
-       return_value = (READ_REG32(reg_adr) & mask) >> bit_offset;
-
-       return return_value;
-}
-
-int clear_edge(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_DEDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (1 << (bit_offset));
-       WRITE_REG32(reg_adr, new_value);
-
-       return 1;
-}
-
-int detect_edge(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_DEDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       return !!(org_value & mask);
-}
-
-void init_i2c(void)
-{
-       HAL_WRITE_UINT32(ICR, ICR_UR);                          // reset i2c_unit;
-       HAL_WRITE_UINT32(ICR, ICR_IUE | ICR_SCLE | ICR_GCD);
-}
-
-//FIXME: insert timeout into while loop
-cyg_int32 write_i2c_pcf8574(cyg_uint8 device_adr,  cyg_uint8 dat_value)
-{
-       cyg_uint32      value;
-       unsigned int    retries;
-
-// write device address now
-       HAL_WRITE_UINT32(IDBR, (device_adr & 0xfe));
-       HAL_READ_UINT32(ICR, value);
-       value = value & ~(ICR_STOP | ICR_ALDIE);
-       HAL_WRITE_UINT32(ICR, value | ICR_START | ICR_TB);
-
-       HAL_READ_UINT32(ISR, value);
-       value &= ISR_ITE;
-       while (!value) {        // wait for Transmit Empty
-               HAL_READ_UINT32(ISR, value);
-               value &= ISR_ITE;
-       }
-       HAL_READ_UINT32(ISR, value);
-       if (value & ISR_BED) {
-
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(ICR, value);
-               HAL_WRITE_UINT32(ICR, value | ICR_MA);          // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(ICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(ISR, ISR_ITE); // clear ITE status
-
-// write data now
-       HAL_WRITE_UINT32(IDBR, (dat_value & 0xff));
-       HAL_READ_UINT32(ICR, value);
-       value &=  ~ICR_START;
-       HAL_WRITE_UINT32(ICR, value | ICR_TB | ICR_STOP);
-
-       HAL_READ_UINT32(ISR, value);
-       retries = 1000000;
-       while (!(value & ISR_ITE)) {    // wait for Transmit Empty
-               HAL_READ_UINT32(ISR, value);
-       }
-       if (!(value & ISR_ITE)) {
-               diag_printf("I2C: timeout waiting for ITE\n");
-               return -1;
-       }
-       if (value & ISR_BED) {
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(ICR, value);
-               HAL_WRITE_UINT32(ICR, value | ICR_MA);          // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(ICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(ISR, ISR_ITE); // clear ITE status
-
-       HAL_READ_UINT32(ICR, value);
-       value = value  &  ~(ICR_STOP | ICR_START | ICR_TB);
-       HAL_WRITE_UINT32(ICR, value);
-
-       return 0;
-}
-
-//FIXME: insert timeout into while loop
-cyg_int32 read_i2c_pcf8574(cyg_uint8 device_adr)
-{
-       cyg_uint32      value;
-       unsigned int    retries;
-
-       // write device address now
-       HAL_WRITE_UINT32(IDBR, (device_adr | 0x01));
-
-       HAL_READ_UINT32(ICR, value);
-       value &= ~ICR_STOP;
-       HAL_WRITE_UINT32(ICR, value | ICR_START | ICR_TB);
-
-       HAL_READ_UINT32(ISR, value);
-       retries = 1000000;
-       while (!(value & ISR_ITE)) {    // wait for Transmit Empty
-               HAL_READ_UINT32(ISR, value);
-       }
-       if (!(value & ISR_ITE)) {
-               diag_printf("I2C: timeout waiting for ITE\n");
-               return -1;
-       }
-       if (value & ISR_BED) {
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(ICR, value);
-               HAL_WRITE_UINT32(ICR, value | ICR_MA);          // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(ICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(ISR, ISR_ITE); // clear ITE status
-
-       // read data now
-       HAL_READ_UINT32(ICR, value);
-       value &= ~ICR_START;
-       HAL_WRITE_UINT32(ICR,  value |ICR_TB | ICR_STOP | ICR_ACKNAK);
-
-       HAL_READ_UINT32(ISR, value);
-       value &= ISR_IRF;
-       while (!value) {        // wait for Receive Buffer full
-               HAL_READ_UINT32(ISR, value);
-               value &= ISR_IRF;
-       }
-
-       HAL_WRITE_UINT32(ISR, ISR_IRF); // clear ITE status
-
-       HAL_READ_UINT32(ICR, value);
-       value = value & ~(ICR_STOP | ICR_START | ICR_TB | ICR_ACKNAK);
-       HAL_WRITE_UINT32(ICR, value);
-
-       HAL_READ_UINT32(IDBR, value);
-
-       return value & 0xff;
-}
-/*------------------------------------------------------------------------*/
-// EOF triton_misc.c
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3.cdl
deleted file mode 100755 (executable)
index fda2760..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3 {
-    display       "KARO TRITON270 SK3"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_16"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_64"
-        puts $::cdl_system_header "#define DRAM_TEST64"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/tr270sk3.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_32mb.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_32mb.cdl
deleted file mode 100755 (executable)
index ef4ad5e..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32MB {
-    display       "KARO TRITON270 SK3 32 MB"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_16"
-        puts $::cdl_system_header "#define TRITON270_DRAM16_32"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32mb" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_32mb" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32mb.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32mb.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_32mb.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/tr270_32.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16.cdl
deleted file mode 100755 (executable)
index 23fce43..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F {
-    display       "KARO TRITON270 SK3 64 MB DRAM / 16 MB Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 16MB Flash and 64MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_16_P30"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_64"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 16 MByte Flash \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_16f" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t270_f16.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S128.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S128.cdl
deleted file mode 100755 (executable)
index cdd906d..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F128S {
-    display       "KARO TRITON270 SK3 128 MB SDRAM / 16 MB P30 Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 16MB Flash and 128MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_16_P30"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_128"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 16 MByte P30 Flash 128 MByte SDRAM\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f128s" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_16f128s" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f128s.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f128s.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t27_5040.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S32.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S32.cdl
deleted file mode 100755 (executable)
index 921d485..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F32S {
-    display       "KARO TRITON270 SK3 32 MB SDRAM / 16 MB P30 Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 16MB Flash and 64MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_16_P30"
-        puts $::cdl_system_header "#define TRITON270_DRAM16_32"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 16 MByte P30 Flash 32 MByte SDRAM\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f32s" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_16f32s" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f32s.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f32s.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t27_3032.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S64.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F16S64.cdl
deleted file mode 100755 (executable)
index 7c1ee59..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_16F64S {
-    display       "KARO TRITON270 SK3 64 MB SDRAM / 16 MB P30 Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 16MB Flash and 64MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_16_P30"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_64"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 16 MByte P30 Flash 64 MByte SDRAM\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_16f64s" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_16f64s" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f64s.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_16f64s.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t27_3052.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F32.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F32.cdl
deleted file mode 100755 (executable)
index b99240e..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F {
-    display       "KARO TRITON270 SK3 64 MB DRAM / 32 MB Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 32MB Flash and 64MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_32"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_64"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 32 MByte Flash \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32f" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_32f" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_32f.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t270_f32.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F32S32.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F32S32.cdl
deleted file mode 100755 (executable)
index 7d2e7e6..0000000
+++ /dev/null
@@ -1,447 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3_f32s32.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_32F32S {
-    display       "KARO TRITON270 SK3 32 MB DRAM (16 bit) / 32 MB P30 Flash "
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 32MB Flash and 64MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_32"
-        puts $::cdl_system_header "#define TRITON270_DRAM16_32"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 32 MByte Flash P30 32 MByte SDRAM\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_32f32s" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_32f32s" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f32s.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_32f32s.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t27_3030.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F64.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F64.cdl
deleted file mode 100755 (executable)
index e76ffb0..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F {
-    display       "KARO TRITON270 SK3 64 MB DRAM / 64 MB Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 64MB Flash and 64MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_64"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_64"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 64MByte Flash \""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_64f" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_64f" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_64f.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t270_f64.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F64S128.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_F64S128.cdl
deleted file mode 100755 (executable)
index 8e4c0c8..0000000
+++ /dev/null
@@ -1,452 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_64F128S {
-    display       "KARO TRITON270 SK3 128 MB SDRAM / 64 MB P30 Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 64MB Flash and 128MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_64"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_128"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 64 MByte P30 Flash 128 MByte SDRAM\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_64f128s" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_64f128s" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f128s.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_64f128s.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/t27_5041.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_S128F32.cdl b/packages/hal/arm/xscale/triton270/v2_0/cdl/triton_pxa270_sk3_S128F32.cdl
deleted file mode 100755 (executable)
index 32c62f3..0000000
+++ /dev/null
@@ -1,453 +0,0 @@
-# ====================================================================
-#
-#      triton_pxa270_sk3.cdl
-#
-#      KARO TRITON PXA270 HAL package configuration data
-#
-# ====================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-# ====================================================================
-######DESCRIPTIONBEGIN####
-#
-# Author(s):      usteinkohl (karo electronics)
-# Original data:  usteinkohl
-# Contributors:
-# Date:           20th August 2004
-#
-#####DESCRIPTIONEND####
-#
-# ====================================================================
-cdl_package CYGPKG_HAL_ARM_XSCALE_TRITON270_SK3_128S32F {
-    display       "KARO TRITON270 SK3 128 MB DRAM / 32 MB Flash"
-    parent        CYGPKG_HAL_ARM
-    define_header hal_arm_xscale_triton270.h
-    include_dir   cyg/hal
-    hardware
-    description   "
-        The KARO TRITON270 HAL package provides the support needed to run
-        eCos on a TRITON270 SK3 with 32MB Flash and 128MB DRAM."
-
-    compile hal_diag.c triton270_misc.c  hal_initio.S
-
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS
-    implements    CYGINT_HAL_DEBUG_GDB_STUBS_BREAK
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_SUPPORT
-    implements    CYGINT_HAL_ARM_ARCH_XSCALE
-    implements    CYGINT_HAL_VIRTUAL_VECTOR_COMM_BAUD_SUPPORT
-    implements    CYGINT_HAL_PLF_IF_IDE
-
-
-    define_proc {
-        puts $::cdl_system_header "#define CYGBLD_HAL_TARGET_H   <pkgconf/hal_arm.h>"
-        puts $::cdl_system_header "#define CYGBLD_HAL_PLATFORM_H <pkgconf/hal_arm_xscale_triton270.h>"
-###        puts $::cdl_system_header "#define TEST_PLATFORM"
-        puts $::cdl_system_header "#define TRITON270_FLASH16_32"
-        puts $::cdl_system_header "#define TRITON270_DRAM32_128"
-        puts $::cdl_system_header "#define DRAM_TEST32"        
-        puts $::cdl_system_header "#define TRITON270_CS2_8900"
-        puts $::cdl_system_header "#define TRITON270_USE_STUART"
-        puts $::cdl_header "#define HAL_PLATFORM_CPU    \"XScale\""
-        puts $::cdl_header "#define HAL_PLATFORM_BOARD  \"TRITON PXA270 32 MByte Flash 128 MByte SDRAM\""
-        puts $::cdl_header "#define HAL_PLATFORM_EXTRA  \"Ka-RO electronics GmbH\""
-        puts $::cdl_header "#define HAL_ARCH_PROGRAM_NEW_STACK triton270_program_new_stack"
-        puts $::cdl_header "#define HAL_PLATFORM_MACHINE_TYPE  190"
-    }
-
-    cdl_component CYG_HAL_STARTUP {
-        display       "Startup type"
-        flavor        data
-        default_value {"RAM"}
-        legal_values  {"RAM" "ROM"}
-       no_define
-       define -file system.h CYG_HAL_STARTUP
-        description   "
-           When targetting the KARO TRITON270 eval board it is possible to build
-           the system for either RAM bootstrap or ROM bootstrap(s). Select
-           'ram' when building programs to load into RAM using onboard
-           debug software such as Angel or eCos GDB stubs.  Select 'rom'
-           when building a stand-alone application which will be put
-           into ROM.  Selection of 'stubs' is for the special case of
-           building the eCos GDB stubs themselves."
-    }
-
-    cdl_option CYGSEM_HAL_ARM__XSCALE_TRITON270_ARMBOOT {
-        display       "Coexist with ARM bootloader"
-        flavor        bool
-        default_value 0
-        description   "
-            Enable this option if the ARM bootloader is programmed into
-            the FLASH boot sector on the board."
-    }
-    
-    
-   
-    
-    
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_DEFAULT {
-        display      "Default console channel."
-        flavor       data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        calculated   2
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS {
-        display      "Number of communication channels on the board"
-        flavor       data
-        calculated   3
-    }
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL {
-        display          "Debug serial port"
-        flavor data
-        legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-        default_value    2
-        description      "
-            This option chooses which port will be used to connect to a host
-            running GDB."
-     }
-     cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL {
-         display          "Diagnostic serial port"
-         flavor data
-         legal_values     0 to CYGNUM_HAL_VIRTUAL_VECTOR_COMM_CHANNELS-1
-         default_value    2
-         description      "
-            This option
-            chooses which port will be used for diagnostic output."
-     }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD {
-        display       "Diagnostic serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the diagnostic port.
-            Note: this should match the value chosen for the GDB port if the
-            diagnostic and GDB port are the same."
-    }
-
-    cdl_option CYGNUM_HAL_VIRTUAL_VECTOR_DEBUG_CHANNEL_BAUD {
-        display       "GDB serial port baud rate"
-        flavor        data
-        legal_values  9600 19200 38400 57600 115200
-        default_value 38400
-        description   "
-            This option selects the baud rate used for the GDB port."
-    }
-
-    # Real-time clock/counter specifics
-    cdl_component CYGNUM_HAL_RTC_CONSTANTS {
-        display       "Real-time clock constants"
-        flavor        none
-    
-        cdl_option CYGNUM_HAL_RTC_NUMERATOR {
-            display       "Real-time clock numerator"
-            flavor        data
-            calculated    1000000000
-        }
-        cdl_option CYGNUM_HAL_RTC_DENOMINATOR {
-            display       "Real-time clock denominator"
-            flavor        data
-            calculated    100
-        }
-        cdl_option CYGNUM_HAL_RTC_PERIOD {
-            display       "Real-time clock period"
-            flavor        data
-            calculated    330000        ;# External timer is 33MHz
-        }
-    }
-    
-    
-    
-    
-    cdl_component CYGPKG_REDBOOT_XSCALE_OPTIONS {
-        display       "Redboot for XScale options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-
-        # RedBoot details
-        # requires { CYGHWR_REDBOOT_ARM_LINUX_EXEC_ADDRESS_DEFAULT == 0xA0008000 }
-        define_proc {
-            puts $::cdl_header "#define CYGHWR_REDBOOT_ARM_TRAMPOLINE_ADDRESS 0xa0001f00"
-        }
-    }
-    
-    
-    
-
-    cdl_component CYGBLD_GLOBAL_OPTIONS {
-        display "Global build options"
-        flavor  none
-        description   "
-           Global build options including control over
-           compiler flags, linker flags and choice of toolchain."
-
-
-        parent  CYGPKG_NONE
-
-        cdl_option CYGBLD_GLOBAL_COMMAND_PREFIX {
-            display "Global command prefix"
-            flavor  data
-            no_define
-            default_value { "xscale-elf" }
-            description "
-                This option specifies the command prefix used when
-                invoking the build tools."
-        }
-
-        cdl_option CYGBLD_GLOBAL_CFLAGS {
-            display "Global compiler flags"
-            flavor  data
-            no_define
-            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -O2 -ffunction-sections -fdata-sections -fno-builtin -fno-exceptions -finit-priority -mapcs-frame" }
-#            default_value { "-Wall -Wpointer-arith -Wstrict-prototypes -Winline -Wundef -Woverloaded-virtual -g -O2 -fno-rtti -fno-exceptions -fvtable-gc -finit-priority -mapcs-frame" }
-            description   "
-                This option controls the global compiler flags which are used to
-                compile all packages by default. Individual packages may define
-                options which override these global flags."
-        }
-
-        cdl_option CYGBLD_GLOBAL_LDFLAGS {
-            display "Global linker flags"
-            flavor  data
-            no_define
-            default_value { "-Wl,--gc-sections -Wl,-static -O2 -nostdlib" }
-            description   "
-                This option controls the global linker flags. Individual
-                packages may define options which override these global flags."
-        }
-
-        cdl_option CYGBLD_BUILD_GDB_STUBS {
-            display "Build GDB stub ROM image"
-            default_value 0
-            requires { CYG_HAL_STARTUP == "ROM" }
-            requires CYGSEM_HAL_ROM_MONITOR
-            requires CYGBLD_BUILD_COMMON_GDB_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-            requires CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-            requires CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-            requires ! CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT
-            requires ! CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM
-            no_define
-            description "
-                This option enables the building of the GDB stubs for the
-                board. The common HAL controls takes care of most of the
-                build process, but the final conversion from ELF image to
-                binary data is handled by the platform CDL, allowing
-                relocation of the data if necessary."
-
-            make -priority 320 {
-                <PREFIX>/bin/gdb_module.bin : <PREFIX>/bin/gdb_module.img
-                $(OBJCOPY) -O binary $< $@
-            }
-        }
-    }
-
-
-
-
-#    cdl_option CYGNUM_HAL_BREAKPOINT_LIST_SIZE {
-#       display       "Number of breakpoints supported by the HAL."
-#        flavor        data
-#        default_value 32
-#        description   "
-#            This option determines the number of breakpoints supported by the HAL."
-#    }
-
-    cdl_component CYGPKG_HAL_ARM_XSCALE_TRITON270_OPTIONS {
-        display "XScale TRITON270 build options"
-        flavor  none
-        description   "
-           Package specific build options including control over
-           compiler flags used only in building this package,
-           and details of which tests are built."
-
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_ADD {
-            display "Additional compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are used
-               in addition to the set of global flags."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_CFLAGS_REMOVE {
-            display "Suppressed compiler flags"
-            flavor  data
-            no_define
-            default_value { "" }
-            description   "
-                This option modifies the set of compiler flags for
-                building the XScale TRITON270 HAL. These flags are
-               removed from the set of global flags if present."
-        }
-
-        cdl_option CYGPKG_HAL_ARM_XSCALE_TRITON270_TESTS {
-            display "XScale TRITON270 tests"
-            flavor  data
-            no_define
-            calculated { "" }
-            description   "
-                This option specifies the set of tests for the XScale TRITON270 HAL."
-        }
-    }
-
-    cdl_component CYGHWR_MEMORY_LAYOUT {
-        display "Memory layout"
-        flavor data
-        no_define
-        calculated { CYG_HAL_STARTUP == "RAM" ?       "arm_xscale_triton270_ram_128s32f" : \
-                     CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "arm_xscale_triton270_roma" : \
-                                                     "arm_xscale_triton270_rom_128s32f" }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_LDI {
-            display "Memory layout linker script fragment"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_LDI
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_128s32f.ldi>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.ldi>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi>" }
-        }
-
-        cdl_option CYGHWR_MEMORY_LAYOUT_H {
-            display "Memory layout header file"
-            flavor data
-            no_define
-            define -file system.h CYGHWR_MEMORY_LAYOUT_H
-            calculated { CYG_HAL_STARTUP == "RAM" ? "<pkgconf/mlt_arm_xscale_triton270_ram_128s32f.h>" : \
-                         CYGSEM_HAL_ARM_XSCALE_TRITON270_ARMBOOT ? "<pkgconf/mlt_arm_xscale_triton270_roma.h>" : \
-                                                    "<pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h>" }
-        }
-    }
-
-    cdl_option CYGSEM_HAL_ROM_MONITOR {
-        display       "Behave as a ROM monitor"
-        flavor        bool
-        default_value 1
-        parent        CYGPKG_HAL_ROM_MONITOR
-        requires      { CYG_HAL_STARTUP == "ROM" }
-        description   "
-            Enable this option if this program is to be used as a ROM monitor,
-            i.e. applications will be loaded into RAM on the board, and this
-            ROM monitor may process exceptions or interrupts generated from the
-            application. This enables features such as utilizing a separate
-            interrupt stack when exceptions are generated."
-    }
-
-    cdl_option CYGSEM_HAL_USE_ROM_MONITOR {
-         display       "Work with a ROM monitor"
-         flavor        booldata
-         legal_values  { "Generic" "GDB_stubs" }
-         default_value { CYG_HAL_STARTUP == "RAM" ? "GDB_stubs" : 0 }
-         parent        CYGPKG_HAL_ROM_MONITOR
-         requires      { CYG_HAL_STARTUP == "RAM" }
-         description   "
-             Support can be enabled for different varieties of ROM monitor.
-             This support changes various eCos semantics such as the encoding
-             of diagnostic output, or the overriding of hardware interrupt
-             vectors.
-             Firstly there is \"Generic\" support which prevents the HAL
-             from overriding the hardware vectors that it does not use, to
-             instead allow an installed ROM monitor to handle them. This is
-             the most basic support which is likely to be common to most
-             implementations of ROM monitor.
-             \"GDB_stubs\" provides support when GDB stubs are included in
-             the ROM monitor or boot ROM."
-     }
-
-    cdl_component CYGPKG_REDBOOT_HAL_OPTIONS {
-        display       "Redboot HAL options"
-        flavor        none
-        no_define
-        parent        CYGPKG_REDBOOT
-        active_if     CYGPKG_REDBOOT
-        description   "
-            This option lists the target's requirements for a valid Redboot
-            configuration."
-             compile -library=libextras.a redboot_cmds.c
-#             compile -library=libextras.a sdcard.c
-       
-        
-        
-            
-#        cdl_option CYGSEM_REDBOOT_LINUX_BOOT {
-#            display        "Support booting Linux via RedBoot"
-#            flavor         bool
-#            default_value  1
-#            description    "
-#               This option enables RedBoot to support booting of a Linux kernel."
-#
-#            compile -library=libextras.a redboot_linux_exec.c
-#        }
-#            
-            
-            
-    
-        cdl_option CYGBLD_BUILD_REDBOOT_BIN {
-            display       "Build Redboot ROM binary image"
-            active_if     CYGBLD_BUILD_REDBOOT
-            default_value 1
-            no_define
-            description "This option enables the conversion of the Redboot ELF
-                         image to a binary image suitable for ROM programming."
-    
-            make -priority 325 {
-                <PREFIX>/bin/Ts128f32.bin : <PREFIX>/bin/redboot.elf
-                $(OBJCOPY) --strip-debug $< $(@:.bin=.img) 
-                $(OBJCOPY) -O srec $< $(@:.bin=.srec)
-                $(OBJCOPY) -O binary $< $@
-#>>> Lothar_2002_08_05
-                $(COMMAND_PREFIX)nm $< | awk 'NF == 3 {print}' | sort > $(<:.elf=.map)
-#<<< Lothar_2002_08_05
-            }
-        }
-    }
-
-}
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/hal_cache.h b/packages/hal/arm/xscale/triton270/v2_0/include/hal_cache.h
deleted file mode 100755 (executable)
index 485a052..0000000
+++ /dev/null
@@ -1,272 +0,0 @@
-#ifndef CYGONCE_HAL_CACHE_H
-#define CYGONCE_HAL_CACHE_H
-
-//=============================================================================
-//
-//      hal_cache.h
-//
-//      HAL cache control API
-//
-//=============================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   hmt
-// Contributors:hmt
-// Date:        1999-07-05
-// Purpose:     Cache control API
-// Description: The macros defined here provide the HAL APIs for handling
-//              cache control operations.
-// Usage:
-//              #include <cyg/hal/hal_cache.h>
-//              ...
-//              
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <cyg/infra/cyg_type.h>
-//#include <cyg/hal/hal_mmu.h>
-
-//-----------------------------------------------------------------------------
-// Cache dimensions
-
-#define HAL_DCACHE_SIZE                 0x8000 // Size of data cache in bytes
-#define HAL_DCACHE_LINE_SIZE            32     // Size of a data cache line
-#define HAL_DCACHE_WAYS                 32     // Associativity of the cache
-#define HAL_DCACHE_SETS (HAL_DCACHE_SIZE/(HAL_DCACHE_LINE_SIZE*HAL_DCACHE_WAYS))
-
-#define HAL_ICACHE_SIZE                 0x8000 // Size of icache in bytes
-#define HAL_ICACHE_LINE_SIZE            32     // Size of ins cache line
-#define HAL_ICACHE_WAYS                 32     // Associativity of the cache
-#define HAL_ICACHE_SETS (HAL_ICACHE_SIZE/(HAL_ICACHE_LINE_SIZE*HAL_ICACHE_WAYS))
-
-//-----------------------------------------------------------------------------
-// Global control of data cache
-
-// Enable the data cache
-#define HAL_DCACHE_ENABLE()                                             \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc  p15,0,r1,c7,c10,4;"   /* drain write buffer */            \
-        "mrc  p15,0,r1,c1,c0,0;"                                        \
-        "orr  r1,r1,#0x0007;"  /* enable DCache (also ensures the */    \
-                               /* MMU and alignment faults are    */    \
-                               /* enabled)                        */    \
-        "mcr  p15,0,r1,c1,c0,0;"                                        \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Disable the data cache (and invalidate it, required semanitcs)
-#define HAL_DCACHE_DISABLE()                                            \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc  p15,0,r1,c1,c0,0;"                                        \
-        "bic  r1,r1,#4;"                                                \
-        "mcr  p15,0,r1,c1,c0,0;"                                        \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "mcr    p15,0,r1,c7,c6,0;" /* invalidate data cache */          \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Invalidate the entire cache (and both TLBs, just in case)
-#define HAL_DCACHE_INVALIDATE_ALL()                                     \
-CYG_MACRO_START                                                         \
-    /* this macro can discard dirty cache lines. */                     \
-    asm volatile (                                                      \
-        "mcr    p15,0,r1,c7,c6,0;"  /* invalidate data cache */         \
-        "mcr    p15,0,r1,c8,c7,0;"  /* flush I+D TLBs */                \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-     
-
-// Synchronize the contents of the cache with memory.
-#define HAL_DCACHE_SYNC()                                               \
-CYG_MACRO_START                                                         \
-    /* The best way to evict a dirty line is by using the          */   \
-    /* line allocate operation on non-existent memory.             */   \
-    asm volatile (                                                      \
-        "mov    r0, #0xa4000000;"   /* cache flush region */            \
-        "add    r1, r0, #0x8000;"   /* 32KB cache         */            \
- "667: "                                                                \
-        "mcr    p15,0,r0,c7,c2,5;"  /* allocate a line    */            \
-        "add    r0, r0, #32;"       /* 32 bytes/line      */            \
-        "teq    r1, r0;"                                                \
-        "bne    667b;"                                                  \
-        "mcr    p15,0,r0,c7,c6,0;"  /* invalidate data cache */         \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "mcr    p15,0,r0,c7,c10,4;" /* and drain the write buffer */    \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "nop"                                                           \
-        :                                                               \
-        :                                                               \
-        : "r0","r1"      /* Clobber list */                             \
-        );                                                              \
-CYG_MACRO_END
-
-// Query the state of the data cache
-#define HAL_DCACHE_IS_ENABLED(_state_)                                  \
-CYG_MACRO_START                                                         \
-    register int reg;                                                   \
-    asm volatile ("mrc  p15,0,%0,c1,c0,0"                               \
-                  : "=r"(reg)                                           \
-                  :                                                     \
-                /*:*/                                                   \
-        );                                                              \
-    (_state_) = (0 != (4 & reg)); /* Bit 2 is DCache enable */          \
-CYG_MACRO_END
-
-// Set the data cache refill burst size
-//#define HAL_DCACHE_BURST_SIZE(_size_)
-
-// Set the data cache write mode
-//#define HAL_DCACHE_WRITE_MODE( _mode_ )
-
-#define HAL_DCACHE_WRITETHRU_MODE       0
-#define HAL_DCACHE_WRITEBACK_MODE       1
-
-// Get the current writeback mode - or only writeback mode if fixed
-#define HAL_DCACHE_QUERY_WRITE_MODE( _mode_ ) CYG_MACRO_START           \
-    _mode_ = HAL_DCACHE_WRITEBACK_MODE;                                 \
-CYG_MACRO_END
-
-
-//-----------------------------------------------------------------------------
-// Global control of Instruction cache
-
-// Enable the instruction cache
-#define HAL_ICACHE_ENABLE()                                             \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc  p15,0,r1,c1,c0,0;"                                        \
-        "orr  r1,r1,#0x1000;" /* enable ICache */                       \
-        "mcr  p15,0,r1,c1,c0,0;"                                        \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Disable the instruction cache (and invalidate it, required semanitcs)
-#define HAL_ICACHE_DISABLE()                                            \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mrc    p15,0,r1,c1,c0,0;"                                      \
-        "bic    r1,r1,#0x1000;" /* disable Icache */                    \
-        "mcr    p15,0,r1,c1,c0,0;"                                      \
-        "mcr    p15,0,r1,c7,c5,0;"  /* invalidate instruction cache */  \
-        "nop;" /* next few instructions may be via cache */             \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop"                                                           \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-
-// Invalidate the entire cache
-#define HAL_ICACHE_INVALIDATE_ALL()                                     \
-CYG_MACRO_START                                                         \
-    asm volatile (                                                      \
-        "mcr    p15,0,r1,c7,c5,0;"  /* clear instruction cache */       \
-        "mcr    p15,0,r1,c8,c5,0;"  /* flush I TLB only */              \
-        /* cpuwait */                                                   \
-        "mrc    p15,0,r1,c2,c0,0;"  /* arbitrary read   */              \
-        "mov    r1,r1;"                                                 \
-        "sub    pc,pc,#4;"                                              \
-        "nop;" /* next few instructions may be via cache */             \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop;"                                                          \
-        "nop"                                                           \
-        :                                                               \
-        :                                                               \
-        : "r1" /* Clobber list */                                       \
-        );                                                              \
-CYG_MACRO_END
-     
-
-// Synchronize the contents of the cache with memory.
-// (which includes flushing out pending writes)
-#define HAL_ICACHE_SYNC()                                       \
-CYG_MACRO_START                                                 \
-    HAL_DCACHE_SYNC(); /* ensure data gets to RAM */            \
-    HAL_ICACHE_INVALIDATE_ALL(); /* forget all we know */       \
-CYG_MACRO_END
-
-// Query the state of the instruction cache
-#define HAL_ICACHE_IS_ENABLED(_state_)                                  \
-CYG_MACRO_START                                                         \
-    /* SA-110 manual states clearly that the control reg is readable */ \
-    register cyg_uint32 reg;                                            \
-    asm volatile ("mrc  p15,0,%0,c1,c0,0"                               \
-                  : "=r"(reg)                                           \
-                  :                                                     \
-                /*:*/                                                   \
-        );                                                              \
-    (_state_) = (0 != (0x1000 & reg)); /* Bit 12 is ICache enable */    \
-CYG_MACRO_END
-
-
-//-----------------------------------------------------------------------------
-#endif // ifndef CYGONCE_HAL_CACHE_H
-// End of hal_cache.h
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/hal_diag.h b/packages/hal/arm/xscale/triton270/v2_0/include/hal_diag.h
deleted file mode 100755 (executable)
index 72a9529..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef CYGONCE_HAL_DIAG_H
-#define CYGONCE_HAL_DIAG_H
-
-/*=============================================================================
-//
-//      hal_diag.h
-//
-//      HAL Support for Kernel Diagnostic Routines
-//
-//=============================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    nickg, gthomas
-// Contributors: nickg, gthomas
-// Date:         1998-09-11
-// Purpose:      HAL Support for Kernel Diagnostic Routines
-// Description:  Diagnostic routines for use during kernel development.
-// Usage:        #include <cyg/hal/hal_diag.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <pkgconf/hal.h>
-
-#include <cyg/infra/cyg_type.h>
-
-#if defined(CYGSEM_HAL_VIRTUAL_VECTOR_DIAG)
-
-#include <cyg/hal/hal_if.h>
-
-#define HAL_DIAG_INIT() hal_if_diag_init()
-#define HAL_DIAG_WRITE_CHAR(_c_) hal_if_diag_write_char(_c_)
-#define HAL_DIAG_READ_CHAR(_c_) hal_if_diag_read_char(&_c_)
-
-
-#define HAL_DELAY_US(n)          hal_delay_us(n);
-
-#else // everything by steam
-
-/*---------------------------------------------------------------------------*/
-/* functions implemented in hal_diag.c                                       */
-
-externC void hal_diag_init(void);
-externC void hal_diag_write_char(char c);
-externC void hal_diag_read_char(char *c);
-
-/*---------------------------------------------------------------------------*/
-
-#define HAL_DIAG_INIT() hal_diag_init()
-
-#define HAL_DIAG_WRITE_CHAR(_c_) hal_diag_write_char(_c_)
-
-#define HAL_DIAG_READ_CHAR(_c_) hal_diag_read_char(&_c_)
-
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
-/*---------------------------------------------------------------------------*/
-/* end of hal_diag.h                                                         */
-#endif /* CYGONCE_HAL_DIAG_H */
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/hal_platform_ints.h b/packages/hal/arm/xscale/triton270/v2_0/include/hal_platform_ints.h
deleted file mode 100755 (executable)
index 80f5e7c..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_INTS_H
-#define CYGONCE_HAL_PLATFORM_INTS_H
-//==========================================================================
-//
-//      hal_platform_ints.h
-//
-//      HAL Interrupt and clock support
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter
-// Contributors: 
-// Date:         2000-10-10
-// Purpose:      Define Interrupt support
-// Description:  The interrupt details for the INPHINITY are defined here.
-// Usage:
-//               #include <cyg/hal/hal_platform_ints.h>
-//               ...
-//              
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-
-#define DEBUG_INT 0
-
-// 1st level
-//
-#define CYGNUM_HAL_INTERRUPT_SSP3      0
-#define CYGNUM_HAL_INTERRUPT_MSL       1
-#define CYGNUM_HAL_INTERRUPT_USBH2     2
-#define CYGNUM_HAL_INTERRUPT_USBH1     3
-#define CYGNUM_HAL_INTERRUPT_KEY       4
-#define CYGNUM_HAL_INTERRUPT_MSTICK    5
-#define CYGNUM_HAL_INTERRUPT_PI2C      6
-#define CYGNUM_HAL_INTERRUPT_UTIMER    7
-
-
-#define CYGNUM_HAL_INTERRUPT_GPIO0     8
-#define CYGNUM_HAL_INTERRUPT_GPIO1     9
-#define CYGNUM_HAL_INTERRUPT_GPIO      10
-#define CYGNUM_HAL_INTERRUPT_USB       11
-#define CYGNUM_HAL_INTERRUPT_PMU       12
-#define CYGNUM_HAL_INTERRUPT_I2S       13
-#define CYGNUM_HAL_INTERRUPT_AC97      14
-#define CYGNUM_HAL_INTERRUPT_USIM      15
-#define CYGNUM_HAL_INTERRUPT_SSP2      16
-
-
-
-
-
-#define CYGNUM_HAL_INTERRUPT_LCD       17
-#define CYGNUM_HAL_INTERRUPT_I2C       18
-#define CYGNUM_HAL_INTERRUPT_ICP       19
-#define CYGNUM_HAL_INTERRUPT_STUART    20
-#define CYGNUM_HAL_INTERRUPT_BTUART    21
-#define CYGNUM_HAL_INTERRUPT_FFUART    22
-#define CYGNUM_HAL_INTERRUPT_MMC       23
-#define CYGNUM_HAL_INTERRUPT_SSP       24
-#define CYGNUM_HAL_INTERRUPT_DMA       25
-#define CYGNUM_HAL_INTERRUPT_TIMER0    26
-#define CYGNUM_HAL_INTERRUPT_TIMER1    27
-#define CYGNUM_HAL_INTERRUPT_TIMER2    28
-#define CYGNUM_HAL_INTERRUPT_TIMER3    29
-#define CYGNUM_HAL_INTERRUPT_HZ                30
-#define CYGNUM_HAL_INTERRUPT_ALARM     31
-
-// 2nd level
-#define CYGNUM_HAL_INTERRUPT_GPIO2     (32+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO3     (32+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO4     (32+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO5     (32+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO6     (32+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO7     (32+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO8     (32+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO9     (32+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO10    (32+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO11    (32+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO12    (32+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO13    (32+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO14    (32+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO15    (32+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO16    (32+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO17    (32+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO18    (32+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO19    (32+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO20    (32+20)
-#define CYGNUM_HAL_INTERRUPT_GPIO21    (32+21)
-#define CYGNUM_HAL_INTERRUPT_GPIO22    (32+22)
-#define CYGNUM_HAL_INTERRUPT_GPIO23    (32+23)
-#define CYGNUM_HAL_INTERRUPT_GPIO24    (32+24)
-#define CYGNUM_HAL_INTERRUPT_GPIO25    (32+25)
-#define CYGNUM_HAL_INTERRUPT_GPIO26    (32+26)
-#define CYGNUM_HAL_INTERRUPT_GPIO27    (32+27)
-#define CYGNUM_HAL_INTERRUPT_GPIO28    (32+28)
-#define CYGNUM_HAL_INTERRUPT_GPIO29    (32+29)
-#define CYGNUM_HAL_INTERRUPT_GPIO30    (32+30)
-#define CYGNUM_HAL_INTERRUPT_GPIO31    (32+31)
-
-#define CYGNUM_HAL_INTERRUPT_GPIO32    (64+0)
-#define CYGNUM_HAL_INTERRUPT_GPIO33    (64+1)
-#define CYGNUM_HAL_INTERRUPT_GPIO34    (64+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO35    (64+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO36    (64+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO37    (64+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO38    (64+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO39    (64+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO40    (64+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO41    (64+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO42    (64+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO43    (64+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO44    (64+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO45    (64+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO46    (64+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO47    (64+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO48    (64+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO49    (64+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO50    (64+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO51    (64+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO52    (64+20)
-#define CYGNUM_HAL_INTERRUPT_GPIO53    (64+21)
-#define CYGNUM_HAL_INTERRUPT_GPIO54    (64+22)
-#define CYGNUM_HAL_INTERRUPT_GPIO55    (64+23)
-#define CYGNUM_HAL_INTERRUPT_GPIO56    (64+24)
-#define CYGNUM_HAL_INTERRUPT_GPIO57    (64+25)
-#define CYGNUM_HAL_INTERRUPT_GPIO58    (64+26)
-#define CYGNUM_HAL_INTERRUPT_GPIO59    (64+27)
-#define CYGNUM_HAL_INTERRUPT_GPIO60    (64+28)
-#define CYGNUM_HAL_INTERRUPT_GPIO61    (64+29)
-#define CYGNUM_HAL_INTERRUPT_GPIO62    (64+30)
-#define CYGNUM_HAL_INTERRUPT_GPIO63    (64+31)
-
-#define CYGNUM_HAL_INTERRUPT_GPIO64    (96+0)
-#define CYGNUM_HAL_INTERRUPT_GPIO65    (96+1)
-#define CYGNUM_HAL_INTERRUPT_GPIO66    (96+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO67    (96+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO68    (96+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO69    (96+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO70    (96+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO71    (96+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO72    (96+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO73    (96+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO74    (96+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO75    (96+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO76    (96+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO77    (96+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO78    (96+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO79    (96+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO80    (96+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO81    (96+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO82    (96+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO83    (96+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO84    (96+20)
-#define CYGNUM_HAL_INTERRUPT_GPIO85    (96+21)
-#define CYGNUM_HAL_INTERRUPT_GPIO86    (96+22)
-#define CYGNUM_HAL_INTERRUPT_GPIO87    (96+23)
-#define CYGNUM_HAL_INTERRUPT_GPIO88    (96+24)
-#define CYGNUM_HAL_INTERRUPT_GPIO89    (96+25)
-#define CYGNUM_HAL_INTERRUPT_GPIO90    (96+26)
-#define CYGNUM_HAL_INTERRUPT_GPIO91    (96+27)
-#define CYGNUM_HAL_INTERRUPT_GPIO92    (96+28)
-#define CYGNUM_HAL_INTERRUPT_GPIO93    (96+29)
-#define CYGNUM_HAL_INTERRUPT_GPIO94    (96+30)
-#define CYGNUM_HAL_INTERRUPT_GPIO95    (96+31)
-
-#define CYGNUM_HAL_INTERRUPT_GPIO96    (128+0)
-#define CYGNUM_HAL_INTERRUPT_GPIO97    (128+1)
-#define CYGNUM_HAL_INTERRUPT_GPIO98    (128+2)
-#define CYGNUM_HAL_INTERRUPT_GPIO99    (128+3)
-#define CYGNUM_HAL_INTERRUPT_GPIO100   (128+4)
-#define CYGNUM_HAL_INTERRUPT_GPIO101   (128+5)
-#define CYGNUM_HAL_INTERRUPT_GPIO102   (128+6)
-#define CYGNUM_HAL_INTERRUPT_GPIO103   (128+7)
-#define CYGNUM_HAL_INTERRUPT_GPIO104   (128+8)
-#define CYGNUM_HAL_INTERRUPT_GPIO105   (128+9)
-#define CYGNUM_HAL_INTERRUPT_GPIO106   (128+10)
-#define CYGNUM_HAL_INTERRUPT_GPIO107   (128+11)
-#define CYGNUM_HAL_INTERRUPT_GPIO108   (128+12)
-#define CYGNUM_HAL_INTERRUPT_GPIO109   (128+13)
-#define CYGNUM_HAL_INTERRUPT_GPIO110   (128+14)
-#define CYGNUM_HAL_INTERRUPT_GPIO111   (128+15)
-#define CYGNUM_HAL_INTERRUPT_GPIO112   (128+16)
-#define CYGNUM_HAL_INTERRUPT_GPIO113   (128+17)
-#define CYGNUM_HAL_INTERRUPT_GPIO114   (128+18)
-#define CYGNUM_HAL_INTERRUPT_GPIO115   (128+19)
-#define CYGNUM_HAL_INTERRUPT_GPIO116   (128+20)
-#define CYGNUM_HAL_INTERRUPT_GPIO117   (128+21)
-#define CYGNUM_HAL_INTERRUPT_GPIO118   (128+22)
-#define CYGNUM_HAL_INTERRUPT_GPIO119   (128+23)
-#define CYGNUM_HAL_INTERRUPT_GPIO120   (128+24)
-#define CYGNUM_HAL_INTERRUPT_GPIO121   (128+25)
-#define CYGNUM_HAL_INTERRUPT_GPIO122   (128+26)
-#define CYGNUM_HAL_INTERRUPT_GPIO123   (128+27)
-#define CYGNUM_HAL_INTERRUPT_GPIO124   (128+28)
-#define CYGNUM_HAL_INTERRUPT_GPIO125   (128+29)
-#define CYGNUM_HAL_INTERRUPT_GPIO126   (128+30)
-#define CYGNUM_HAL_INTERRUPT_GPIO127   (128+31)
-
-externC void cyg_hal_xscale_soft_reset(CYG_ADDRESS);
-#define HAL_PLATFORM_RESET()   cyg_hal_xscale_soft_reset(HAL_PLATFORM_RESET_ENTRY);
-
-#define HAL_PLATFORM_RESET_ENTRY 0x00000000
-
-// *** remainder are reserved  ****
-#define CYGNUM_HAL_INT_
-
-#define CYGNUM_HAL_ISR_MIN               0
-#define CYGNUM_HAL_ISR_MAX               48
-
-#define CYGNUM_HAL_ISR_COUNT            (CYGNUM_HAL_ISR_MAX + 1)
-
-// The vector used by the Real time clock
-#define CYGNUM_HAL_INTERRUPT_RTC        CYGNUM_HAL_INTERRUPT_TIMER
-//#define CYGNUM_HAL_INTERRUPT_RTC        CYGNUM_HAL_INTERRUPT_PMU_CCNT_OVFL
-
-extern void hal_delay_us(cyg_uint32 usecs);
-
-#define HAL_DELAY_US(n)          hal_delay_us(n);
-
-#endif // CYGONCE_HAL_PLATFORM_INTS_H
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/hal_platform_setup.h b/packages/hal/arm/xscale/triton270/v2_0/include/hal_platform_setup.h
deleted file mode 100755 (executable)
index 1b32bb0..0000000
+++ /dev/null
@@ -1,1540 +0,0 @@
-#ifndef CYGONCE_HAL_PLATFORM_SETUP_H
-#define CYGONCE_HAL_PLATFORM_SETUP_H
-
-/*=============================================================================
-//
-//      hal_platform_setup.h
-//
-//      Platform specific support for HAL (assembly code)
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    usteinkohl
-// Contributors: 
-// Date:         23th August 2004
-// Purpose:      KaRo TRITON 270 platform specific support routines
-// Description: 
-// Usage:       #include <cyg/hal/hal_platform_setup.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <pkgconf/system.h>             // System-wide configuration info
-#include CYGBLD_HAL_PLATFORM_H          // Platform specific configuration
-#include <cyg/hal/hal_triton270.h>        // Platform specific hardware definitions
-#include <cyg/hal/hal_mmu.h>            // MMU definitions
-
-
-// Define macro used to diddle the LEDs during early initialization.
-// Can use r0+r1.  Argument in \x.
-#define CYGHWR_LED_MACRO nop ;
-
-
-
-// The main useful output of this file is PLATFORM_SETUP1: it invokes lots
-// of other stuff (may depend on RAM or ROM start).  The other stuff is
-// divided into further macros to make it easier to manage what's enabled
-// when.
-
-#if defined(CYG_HAL_STARTUP_ROM)
-#define PLATFORM_SETUP1 _platform_setup1
-//#define CYGHWR_HAL_ARM_HAS_MMU
-#else
-#define PLATFORM_SETUP1
-#endif
-
-
-#define RAM_BASE       0xa0000000
-#define        DRAM_SIZE       (64*1024*1024)          // max size of available SDRAM
-#define        DCACHE_SIZE     (32*1024)               // size of the Dcache
-#define DCACHE_FLUSH_AREA (RAM_BASE+DRAM_SIZE)  // NB: needs page table support
-
-#if 0
-#define CPSR_IRQ_DISABLE               0x80    // IRQ disabled when =1
-#define CPSR_FIQ_DISABLE               0x40    // FIQ disabled when =1
-#define CPSR_FIQ_MODE                  0x11
-#define CPSR_IRQ_MODE                  0x12
-#define CPSR_SUPERVISOR_MODE   0x13
-#define CPSR_UNDEF_MODE                        0x1B
-
-#define CPSR_MODE_BITS          0x1F
-
-#endif
-
-
-
-#define MMU_Control_BTB 0x800
-
-// Reserved area for battery backup SDRAM memory test
-// This area is not zeroed out by initialization code
-#define        SDRAM_BATTERY_TEST_BASE         0xA1FFFFF0      // base address of last 16 memory locations in a 32MB SDRAM
-
-
-
-       .macro MEM_TEST
-               nop
-       .endm
-
-
-
-
-       // macro to print a string
-       // modifies r9-r12
-       .macro PRINT_STRING_STD address
-       ldr             r9, =\address                   // print our welcome string
-       ldr             r10, =STLSR
-       ldr             r11, =STTHR
-       
-       
-12:
-       ldr             r12, [r10]              // LSR
-       and             r12, r12, #32
-       cmp             r12, #32
-       bne             12b
-       
-       ldrb    r12, [r9], #1
-       str             r12, [r11]
-       cmp             r12, #0
-       bne             12b
-       .endm
-
-
-
-
-
-
-               
-       // Trigger the logic analyzer by writing a particular
-       // address, and triggering on that address.
-       .macro TRIGGER_LA_ON_ADDRESS address, reg0, reg1
-       mrc     p15, 0, \reg0, c1, c0, 0     // read ARM control register
-       //      CPWAIT  \reg0
-       ldr     \reg1, =\address
-       str     \reg0, [\reg1]
-       .endm
-
-       // Delay a bit
-       .macro DELAY_FOR cycles, reg0
-       ldr     \reg0, =\cycles
-       subs    \reg0, \reg0, #1
-       subne   pc,  pc, #0xc
-       .endm
-       
-       // wait for coprocessor write complete
-       .macro CPWAIT reg
-        mrc  p15,0,\reg,c2,c0,0
-       mov  \reg,\reg
-       sub  pc,pc,#4
-       .endm
-
-       // blink some times on GPIO0
-       .macro BLINK0 count
-               ldr  r4, =\count
-       
-      
-               220961:                                                               
-                       ldr             r1,=0x00000001                  // we use GPIO0 for controlling the debug LED
-                     
-               
-                       ldr             r0,=GPCRa
-                       str             r1,     [r0]                            // switch the LED on
-               
-               
-                       ldr             r2,=0x005                       // wait some time
-                       mov             r3,#1                   
-               998:                    
-                       sub             r2, r2, r3
-                       cmp             r2,#0
-                       bne             998b
-               
-                       ldr             r0,=GPSRa                               // switch the LED off
-                       str             r1,     [r0]
-               
-               
-                       ldr             r2,=0x005                       // wait some time
-                       mov             r3,#1                   
-               998:                    
-                       sub             r2, r2, r3
-                       cmp             r2,#0
-                       bne             998b
-               
-                       sub             r4, r4, r3
-                       cmp             r4, #0
-                       bne             220961b
-       
-       .endm
-
-
-
-
-
-
-
-       .macro TRITON270_SET_REFR_VAL
-       // TRITON270 specific, DRAM specific !!!!!!!!!!!!!
-
-
-
-       
-       
-       ldr r3, =MDREFR 
-       ldr r2, [r3]                    // read MDREFR value
-       ldr     r4, =0xFFF
-       bic r2, r2, r4  
-       // clear out value in DRI
-       
-       
-       
-       
-       #ifdef TRITON270_DRAM32_64
-               // DRI = (64 ms * 99,5 MHz / 8192 - 31) / 32 = 23   (0x17)
-               orr r2, r2, #0x00000017         // put in a valid SDRAM Refresh Interval (DRI)
-       #endif
-       
-       #ifdef TRITON270_DRAM16_32
-               // DRI = (64 ms * 99,5 MHz / 8192 - 31) / 32 = 23   (0x17)
-               orr r2, r2, #0x00000017         // put in a valid SDRAM Refresh Interval (DRI)
-       #endif
-
-
-
-       #ifdef TRITON270_DRAM32_128
-               // DRI = (64 ms * 99,5 MHz / 8192 - 31) / 32 = 23   (0x17)
-               orr r2, r2, #0x00000017         // put in a valid SDRAM Refresh Interval (DRI)
-       #endif
-       
-       
-       str     r2, [r3]                                // store it
-       
-       
-       .endm
-
-
-
-
-
-
-       .macro TRITON270_CONFIG_SDRAM_BANKS
-
-
-
-       
-       ldr r3, =MDCNFG             // sdram config -- sdram should remain disabled !!!!!
-                                                               
-
-
-
-       
-       
-       
-       
-       
-       #ifdef TRITON270_DRAM32_64
-               ldr r2, =0x08000bc8             // 13 rows / 9 col / 2 bank / 32 bit / CL3
-
-       #endif
-
-
-       #ifdef TRITON270_DRAM16_32
-               ldr r2, =0x08000bcc             // 13 rows / 9 col / 2 bank / 16 bit / CL3
-
-       #endif
-
-
-
-
-       #ifdef TRITON270_DRAM16_64
-               ldr r2, =0x08000bcC             // 13 rows / 9 col / 2 bank / 32 bit / CL3
-
-       #endif
-
-
-
-       #ifdef TRITON270_DRAM32_128
-               ldr r2, =0x88000bd0             // 13 rows / 10 col / 2 bank / 32 bit / CL3 / 1 GB Memory map
-
-       #endif
-
-
-
-       str r2, [r3] 
-       .endm
-       
-       
-       
-       
-       
-
-
-
-       // form a first-level section entry
-       .macro FL_SECTION_ENTRY base,x,ap,p,d,c,b
-       .word (\base << 20) | (\x << 12) | (\ap << 10) | (\p << 9) |\
-             (\d << 5) | (\c << 3) | (\b << 2) | 2
-       .endm
-
-       // form a first-level page table entry
-       .macro FL_PT_ENTRY base,d
-       // I wanted to use logical operations here, but since I am using symbols later 
-       // to fill in the parameters, I had to use addition to force the assembler to
-       // do it right
-       .word \base + (\d << 5) + 1
-       .endm
-
-       // form a second level small page entry
-       .macro SL_SMPAGE_ENTRY base,ap3,ap2,ap1,ap0,c,b
-       .word (\base << 12) | (\ap3 << 10) | (\ap2 << 8) | (\ap1 << 6) |\
-             (\ap0 << 4) | (\c << 3) | (\b << 2) | 2
-       .endm
-
-       // form a second level extended small page entry
-       .macro SL_XSMPAGE_ENTRY base,x,ap,c,b
-       .word (\base << 12) | (\x << 6) | (\ap << 4) | (\c << 3) | (\b << 2) | 3
-       .endm
-
-
-       // start of platform setup
-       .macro _platform_setup1
-
-       // This is where we wind up immediately after reset. On the CYCLONE, we have
-       // to jump around a hole in flash which runs from 0x00001000 - 0x0001fff.  
-       // The start of _platform_setup1 will be below 0x1000 and since we need to
-       // align the mmu table on a 16k boundary, we just branch around the page
-       // table which we will locate at FLASH_BASE+0x4000.
-       b _real_platform_setup
-
-       .p2align 13
-       // the following alignment creates the mmu table at address 0x4000.
-    mmu_table:
-
-       // 1MB of FLASH with i80312 MMRs mapped in using 4K small pages so we can
-       // set the access permission on flash and memory-mapped registers properly.
-       FL_PT_ENTRY mmu_table_flashbase,0
-
-       // Remaining 63MB of FLASH area (Static Chip select 0)
-       //   rw, cacheable, non-bufferable
-       .set    __base,1
-       .rept   0x040-0x001
-       FL_SECTION_ENTRY __base,0,3,0,0,1,0
-       .set    __base,__base+1
-       .endr   
-       
-       
-       // nothing interesting here, static chip select area 1 (Address Translation)
-       .rept   0x080 - 0x040
-       FL_SECTION_ENTRY __base,0,3,0,0,0,0
-       .set    __base,__base+1
-       .endr
-
-
-       // nothing interesting here, static chip select area 2 (Address Translation)
-       .rept   0x0C0 - 0x080
-       FL_SECTION_ENTRY __base,0,3,0,0,0,0
-       .set    __base,__base+1
-       .endr
-
-
-       // nothing interesting here, static chip select area 3 (Address Translation)
-       .rept   0x100 - 0x0C0
-       FL_SECTION_ENTRY __base,0,3,0,0,0,0
-       .set    __base,__base+1
-       .endr
-
-       // nothing interesting here, static chip select area 4 (Address Translation)
-       .rept   0x140 - 0x100
-       FL_SECTION_ENTRY __base,0,3,0,0,0,0
-       .set    __base,__base+1
-       .endr
-
-       // nothing interesting here, static chip select area 5 (Address Translation)
-       .rept   0x180 - 0x140
-       FL_SECTION_ENTRY __base,0,3,0,0,0,0
-       .set    __base,__base+1
-       .endr
-
-
-
-       // nothing interesting here (Address Translation)
-       .rept   0xA00 - 0x180
-       FL_SECTION_ENTRY __base,0,3,0,0,0,0
-       .set    __base,__base+1
-       .endr
-
-       
-
-
-       
-
-
-       // up to 64MB SDRAM
-       //   x=c=b=1
-       // first 1MB mapped by second level table
-       FL_PT_ENTRY mmu_table_rambase,0
-       .set    __base,__base+1
-       
-       
-       
-       
-       // remainder of SDRAM mapped 1-to-1
-       .rept   0xC00 - 0xA01
-       FL_SECTION_ENTRY __base,1,3,1,0,1,1
-       .set    __base,__base+1
-       .endr
-       
-       
-       
-       
-       
-       
-       
-       
-       
-       
-       
-       
-
-       // Cache flush region.
-       // Don't need physical memory, just a cached area.
-       .rept   0xD00 - 0xC00
-       FL_SECTION_ENTRY __base,0,3,0,0,1,1
-       .set    __base,__base+1
-       .endr
-       
-       // Invalid
-       .rept   0x1000 - 0xD00
-       .word 0
-       .set    __base,__base+1
-       .endr
-
-
-       // Immediately after the above table (at 0x8000) is the
-       // second level page table which breaks up the lowest 1MB
-       // of physical memory into 4KB sized virtual pages. 
-    mmu_table_flashbase:
-       // Virtual address 0 (Flash boot code).
-       // Map 4k page at 0x00000000 virt --> 0xA0000000 physical
-       // This allows us to have a writable vector table.
-       //   Read-Write, cacheable, bufferable
-       SL_XSMPAGE_ENTRY 0xa0000,1,3,1,1
-
-       // Virtual address 0x1000 (Memory mapped registers)
-       // Map 1-to-1, but don't cache or buffer
-       //   Read-Write, non-cacheable, non-bufferable         
-       .set    __base,1                   
-       SL_SMPAGE_ENTRY __base,3,3,3,3,0,0
-       .set    __base,__base+1
-
-       // Virtual address 0x2000-0x100000 (remainder of flash1)
-       //   Read-Write, cacheable, non-bufferable
-       .rept   0x100 - 0x2
-       SL_SMPAGE_ENTRY __base,3,3,3,3,1,0
-       .set    __base,__base+1
-       .endr
-
-       // Now is the second level table for the first megabyte
-       // of DRAM.
-    mmu_table_rambase:
-       // Map 4k page at 0xa0000000 virt --> 0x00000000 physical
-       //   Read-Write, cacheable, non-bufferable
-       SL_SMPAGE_ENTRY 0x00000,3,3,3,3,1,0
-       .set    __base,__base+1            
-
-       // Map remainder of first meg of SDRAM
-       //   Read-Write, cacheable, non-bufferable
-       .set    __base,0xA0001
-       .rept   0x100 - 0x1
-       SL_XSMPAGE_ENTRY __base,1,3,1,1
-       .set    __base,__base+1
-       .endr
-
-
-
-_real_platform_setup://Angel SDRAM init code follows
-
-
-
-       mov    r6, #0 
-       ldr             r0, =CKEN
-       ldr             r1, = 0x81ffffff
-       str             r1, [r0]
-
-
-       // if we come out of sleep mode, check if there is a pointer
-       // from the os, and jump to it if so
-
-       ldr r0, =RCSR                           // check reset source
-       ldr     r1, [r0]
-       and r1, r1, #4
-       cmp r1, #4
-       bne 1923f
-
-
-
-       ldr r2, =PSPR                           // check if there is a pointer from the operating system
-       ldr r1, [r2]
-       cmp r1, #0
-       beq 1922f                                       // wake up from deep sleep
-
-       //ldr r3, =0x0000000f                   // reset RCSR
-       //str r3, [r0]
-
-
-#if 0
-       ldr             r0, =CKEN
-       ldr             r1, [r0]
-       orr             r1, r1, #(1<<22)                                                // enable memory controller
-       str             r1, [r0]
-#endif
-
-       // get SDRAM out of Self Refresh
-       TRITON270_SET_REFR_VAL
-       TRITON270_CONFIG_SDRAM_BANKS
-
-       
-       ldr r3, =MDREFR 
-       ldr r2, [r3]                            // read MDREFR value
-       bic r2, r2, #0x03800000         // clear all Free Running Clocks
-       orr r2, r2, #0x00010000         // assert MDREFR:K1RUN
-       ldr r4, =0x20020000
-       orr r2, r2, r4                          // set K0DB4, K1DB2
-       str r2, [r3]                // change from "self-refresh and clock-stop" to "self-refresh"
-       ldr r2, [r3]                            // read MDREFR value 
-       
-       bic r2, r2, #0x00400000         // clear self-refresh bit
-       str r2, [r3]                // change from "self-refresh" to "Power Down" 
-       orr r2, r2, #0x00008000     // assert MDREFR:E1PIN
-       str r2, [r3]                // change from "Power Down" to "PWRDWNX" 
-       nop 
-       nop                         // no write required to change from "PWRDWNX" to "NOP" 
-
-       
-       
-
-       ldr r3, =MDCNFG               // sdram config -- sdram enable 
-       ldr r2, [r3] 
-       orr r2, r2, #0x00000001       // enable appropriate banks 
-       str r2, [r3] 
-       
-       
-       
-       
-    // initialize CPSR (machine state register)
-    mov     r0,#(CPSR_IRQ_DISABLE|CPSR_FIQ_DISABLE|CPSR_SUPERVISOR_MODE)
-    msr     cpsr,r0
-
-
-       b __setup_stack
-
-       .rept   32
-       .word 0
-       .endr   
-
-__setup_stack:
-
-       /*  Set up the stack pointer to a fixed value */
-       ldr     r3, =__setup_stack
-       sub r3, r3, #4
-       mov     sp, r3
-
-       
-       ldr r2, =PSPR                           // get pointer
-       ldr r1, [r2]
-       mov r15, r1                                     // jump to pointer
-       
-
-       
-       
-       1922:
-       
-       mov    r6, #1 
-
-       
-       ldr             r0, =CKEN
-       ldr             r1, = 0x81ffffff
-       str             r1, [r0]
-
-
-       1923:
-
-
-       
-       bl  __hal_initio                        // init the IO pins
-
-   //BLINK0 10 
-       
-
-       //PSSR = 0x20 clear the RDH and PH bit in the PSSR
-       ldr             r0,     =PSSR
-       ldr             r1,     =0x30
-       str             r1, [r0]
-       
-
-
-
-
-       ldr r3, =PCFR                   // clear PCFR[FS] and PCFR[FP]
-       ldr r2, [r3]
-       bic r2, r2, #0x00000006
-       str r2, [r3]
-
-
-
-#ifdef GPIO_10_OUT
-       BLINK10 3
-#endif 
-
-
-
-
-
-  MRC          p15, 0, r0, c0, c0, 0                   // read the ID reg ....  0x69052100
-       // and display it if possible
-       // not possible TRITON270 SK3   
-
-       
-
-// turn everything off
-       mov    r0, #0x78                         
-       mcr    p15, 0, r0, c1, c0, 0    // caches off -- MMU off or ID map
-
-       mcr p15, 0, R0, c7, c7, 0       // Invalidate the I & D cache, mini- d cache, and BTB
-
-
-       MCR p15, 0, r0, c7, c10, 4      // Drain write buffer -- r0 ignored
-
-                                                               // CPWAIT macro
-       MRC p15, 0, R0, c2, c0, 0               // arbitrary read of CP15
-       MOV R0, R0                                      // wait for it
-       SUB PC, PC, #4                          // branch to next instruction
-
-    nop
-    nop
-    nop
-    nop
-    
-  
-    
-    
-// setup manager access, interrupts, etc.
-
-// grant manager access to all domains
-    mvn    r0, #0              // all 1s                  
-    mcr    p15, 0, r0, c3, c0, 0  
-
-
-                                       // all IRQs should be masked to prevent spurious IRQs
-    ldr    r3, =ICMR                   // pending interrupts are masked from becoming active
-    mov    r2, #0                                     
-    str    r2, [r3]
-    ldr    r3, =ICMR2 
-    str    r2, [r3]     
-
-
-    ldr    r3, =ICLR                   // route all interrupts to CPU IRQ ( not to FIQ )
-    mov    r2, #0                                     
-    str    r2, [r3] 
-    ldr    r3, =ICLR2 
-    str    r2, [r3]    
-
-    ldr    r3, =ICCR                   // only enabled and unmasked interrupts bring core out of idle
-    mov    r2, #1                                     
-    str    r2, [r3]      
-
-
-
-
-
-
-
-
-
-// Turn on the RTC circuit (if you want)
-
-
-
-    ldr        r1, =OSCC               // oscillator config reg
-               // turn on the 32.768 KHz clock for RTC, etc.
-    mov        r0, #0x2                
-    str        r0, [r1]        
-
-
-
-
-      // Wait 200 usec
-       ldr r3, =OSCR         // reset the OS Timer Count to zero
-       mov r2, #0 
-       str r2, [r3] 
-       ldr r4, =0x300            // really 0x2E1 is about 200usec, so 0x300 should be plenty
-
-       10:
-       ldr r2, [r3] 
-       cmp r4, r2
-       bgt 10b
-
-
-
-// CS0  : RDF=8, RDN=8 , RRR=2, 16 bits Flash
-// Suitable for Flash (Tcyc = 85 ns) and 200 MHz MEMCLK
-
-
-
-       ldr r3, =MSC0                 // low  - bank 0 Flash   CS0 / CS1
-       ldr r2, =0x7ff04ff8                     // 16 Bit Flash
-       str r2, [r3] 
-    ldr r2, [r3]                       // need to read it back to make sure the value latches (see MSC section of manual)
-
-
-
-
-
-
-
-       ldr r3, =MSC1                   // CS3 / CS2      
-       ldr r2, =0x7ff07ff0             
-       str r2, [r3] 
-    ldr r2, [r3]                       // need to read it back to make sure the value latches (see MSC section of manual)
-
-
-
-       ldr r3, =MSC2            // CS5 / CS4     
-       ldr r2, =0x28847ff0             //
-       str r2, [r3] 
-    ldr r2, [r3]                       // need to read it back to make sure the value latches (see MSC section of manual)
-
-
-
-
-
-
-     // ********************************************************************
-     // Disable (mask) all interrupts at the interrupt controller
-     
-
-     // clear the interrupt level register (use IRQ, not FIQ)
-       
-     mov     r1, #0
-     ldr     r2,  =ICLR
-     str     r1,  [r2]
-     ldr     r2,  =ICLR2
-     str     r1,  [r2]
-        
-     // mask all interrupts at the controller
-               
-     ldr     r2,  =ICMR
-     str     r1,  [r2]
-     ldr     r2,  =ICMR2
-     str     r1,  [r2]
-
-
-
-
-    // make sure the DCACHE is off 
-       mov    r0, #0x78                                // turn everything off 
-       mcr    p15, 0, r0, c1, c0, 0            // caches off, MMU off, etc.
-       
-
-
-
-
-
-
-
-
-       TRITON270_SET_REFR_VAL
-
-
-
-       ldr r3, =SXCNFG
-       mov r2, #0x0                            // configure the synchrounous flash memory later
-       str     r2, [r3]                                // 
-
-       
-
-
-
-       
-       ldr r3, =MDREFR 
-       ldr r2, [r3]                            // read MDREFR value
-       bic r2, r2, #0x03800000         // clear all Free Running Clocks
-       orr r2, r2, #0x00010000         // assert MDREFR:K1RUN
-       ldr r4, =0x20020000
-       orr r2, r2, r4                          // set K0DB4, K1DB2
-        
-       str r2, [r3]                // change from "self-refresh and clock-stop" to "self-refresh"
-       ldr r2, [r3]                            // read MDREFR value (to make sure the previous value stuck) (this is in Tricia's code)
-       
-       bic r2, r2, #0x00400000         // clear self-refresh bit
-       str r2, [r3]                // change from "self-refresh" to "Power Down" 
-       orr r2, r2, #0x00008000     // assert MDREFR:E1PIN
-       str r2, [r3]                // change from "Power Down" to "PWRDWNX" 
-       nop 
-       nop                         // no write required to change from "PWRDWNX" to "NOP" 
-
-
-
-
-
-
-
-       TRITON270_CONFIG_SDRAM_BANKS
-
-
-
-
-
-
-      //---- Wait 200 usec
-       ldr r3, =OSCR                      // reset the OS Timer Count to zero
-       mov r2, #0 
-       str r2, [r3] 
-       ldr r4, =0x300                  // really 0x2E1 is about 200usec, so 0x300 should be plenty
-       10:
-       ldr r2, [r3] 
-       cmp r4, r2
-       bgt 10b
-       
-       
-       
-       
-       
-       
-       
-       ldr r3, =SDRAM_B0 
-       mov r2, #8            // now must do 8 refresh or CBR commands before the first access 
-       10:                                       // 
-       str r3, [r3] 
-       subs r2, r2, #1 
-       bne 10b
-       
-       
-
-       ldr r3, =MDCNFG               // sdram config -- sdram enable 
-       ldr r2, [r3] 
-       orr r2, r2, #0x00000001       // enable appropriate banks 
-       str r2, [r3] 
-       
-       
-       
-       
-       
-       
-
-
-       ldr r3, =MDMRS              // write the MDMRS
-       ldr r2, =0x00000032
-       str r2, [r3] 
-
-
-
-
-
-
-      //---- Wait 600 usec
-       ldr r3, =OSCR                      // reset the OS Timer Count to zero
-       mov r2, #0 
-       str r2, [r3] 
-       ldr r4, =0x900                  // really 0x2E1 is about 200usec, so 0x300 should be plenty
-       10:
-       ldr r2, [r3] 
-       cmp r4, r2
-       bgt 10b
-
-
-
-
-       MEM_TEST
-       
-       
-
-       
-       
-       
-
-_sdram_init_end: 
-
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//                                                                                                                                                                                                                       //
-//                                             Memory Test                                                                                                                                                       //
-//                                                                                                                                                                                                                       //
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#if 0
-
-       b 70f
-
-__string_a:
-
-       .ascii "\r\n\r\nchecking SDRAM size now \0"     
-
-
-
-__string_b:
-
-       .ascii "\r\nfailed\r\nerror, did not found the expected 32 MBytes\r\n\0"     
-
-
-
-__string_b64:
-
-       .ascii "\r\nfailed\r\nerror, did not found the expected 64 MBytes\r\n\0"     
-
-
-
-
-
-__string_c:
-
-       .ascii "\r\npassed, 32 MBytes found\r\n\0"     
-
-
-__string_c64:
-
-       .ascii "\r\npassed, 64 MBytes found\r\n\0"     
-
-
-
-__string_dot:
-
-       .ascii ".\0"     
-
-
-       .align 3
-
-
-70:
-
-
-       ldr             r0, =CKEN
-       ldr             r1, = 0x81ffffff
-       orr             r1, r1, #0x20                                           // enable STUART
-       str             r1, [r0]
-
-
-// setup the standard UART
-//
-// 38400 baud 8N1
-//
-//
-    ldr                r0,     = STLCR          
-       ldr             r1,      = 0x83                                 // enable Divisor Latch Access
-       str             r1, [r0]
-
-    ldr                r0,     = STDLH          
-       ldr             r1,      = 0x00                                 // 
-       str             r1, [r0]
-
-    ldr                r0,     = STDLL          
-       ldr             r1,      = 24                                   // 38400 Baud
-       str             r1, [r0]
-
-    ldr                r0,     = STLCR          
-       ldr             r1,      = 0x03                                 // set 8N1
-       str             r1, [r0]
-       
-       
-       ldr             r0, = STFCR                                     // enable FIFOs
-       ldr             r1, =0x03
-//     str             r1, [r0]
-       
-       
-       
-       
-       ldr             r0, =STIER
-       ldr             r1, =0x40                                       // enable UART
-       str             r1, [r0]
-
-
-
-
-
-
-
-
-
-
-#if 1
-       b 938f
-__string_dsleep:
-
-       .ascii "\r\nwaking up from deep sleep mode ... \r\n\0"     
-       .align 3
-
-938:
-       cmp r6, #0
-       beq 939f
-       PRINT_STRING_STD __string_dsleep
-
-#endif 
-
-939:
-
-
-
-
-
-
-
-
-
-#ifdef DRAM_TEST32
-
-       PRINT_STRING_STD __string_a
-       
-       ldr     r0, =0xa0000000                 // base address
-       ldr r1, =32                                     // counter
-       ldr r2, =0x12345678
-       ldr r3, =0x100000
-       
-88:
-       mov r4, r0
-       str r4, [r0], #4
-       str r2, [r0]
-       add r0, r0, r3
-       sub r0, r0, #4
-       sub r1, r1, #1
-       cmp r1, #0
-       bne 88b
-       
-       
-       
-       // test now
-       
-       ldr     r0, =0xa0000000                 // base address
-       ldr r1, =0                                      // counter
-       ldr r2, =0x12345678
-       ldr r3, =0x100000
-
-89:
-       mov r4, r0
-       ldr r5, [r0], #4
-       cmp r5, r4
-       bne 99f                                         // no match
-       ldr r5, [r0]
-       cmp r5, r2
-       bne 99f                                         // no match
-       PRINT_STRING_STD __string_dot
-       add r0, r0, r3
-       sub r0, r0, #4
-       add r1, r1, #1
-       cmp r1, #32
-       bne 89b
-       
-       
-99:    
-       cmp r1, #32
-       beq     100f
-       
-       PRINT_STRING_STD __string_b
-       
-__halt_system001:
-       nop
-       nop
-       b __halt_system001
-
-100:
-
-       PRINT_STRING_STD __string_c
-
-
-101:
-
-#endif
-
-#ifdef DRAM_TEST64
-
-       
-
-
-       PRINT_STRING_STD __string_a
-       
-       ldr     r0, =0xa0000000                 // base address
-       ldr r1, =64                                     // counter
-       ldr r2, =0x12345678
-       ldr r3, =0x100000
-       
-88:
-       mov r4, r0
-       str r4, [r0], #4
-       str r2, [r0]
-       add r0, r0, r3
-       sub r0, r0, #4
-       sub r1, r1, #1
-       cmp r1, #0
-       bne 88b
-       
-       
-       
-       // test now
-       
-       ldr     r0, =0xa0000000                 // base address
-       ldr r1, =0                                      // counter
-       ldr r2, =0x12345678
-       ldr r3, =0x100000
-
-89:
-       mov r4, r0
-       ldr r5, [r0], #4
-       cmp r5, r4
-       bne 99f                                         // no match
-       ldr r5, [r0]
-       cmp r5, r2
-       bne 99f                                         // no match
-       PRINT_STRING_STD __string_dot
-       add r0, r0, r3
-       sub r0, r0, #4
-       add r1, r1, #1
-       cmp r1, #64
-       bne 89b
-       
-       
-99:    
-       cmp r1, #64
-       beq     100f
-       
-       PRINT_STRING_STD __string_b64
-       
-__halt_system001:
-       nop
-       nop
-       b __halt_system001
-
-100:
-
-       PRINT_STRING_STD __string_c64
-
-
-101:
-       
-       
-#endif         //#ifdef DRAM_TEST64
-
-
-
-
-
-
-
-#endif         //#if 1
-
-
-#if 0
-
-
-
-       b 170f
-
-__string_a1:
-
-       .ascii "\r\n\r\ntesting first 64 kbytes of SDRAM now ... \0"     
-
-
-__string_a_ok:
-
-       .ascii "ok\r\n\r\n\0"     
-
-
-__string_a_failed:
-
-       .ascii "failed\r\n\r\n\0"     
-
-       .align 3
-
-
-170:
-
-
-       PRINT_STRING_STD __string_a1
-       
-       ldr     r0, =0xa0000000                 // base address
-       ldr r1, =0x10000                        // counter
-       ldr r2, =0x12345678
-       
-188:
-       str r2, [r0], #4
-       add r2, r2, #3
-       sub r1, r1, #1
-       cmp r1, #0
-       bne 188b
-       
-       
-       
-       // test now
-       
-       ldr     r0, =0xa0000000                 // base address
-       ldr r1, =0x10000                        // counter
-       ldr r2, =0x12345678
-
-189:
-       ldr r3, [r0], #4
-       cmp r3, r2
-       beq 190f
-       
-       
-       
-       PRINT_STRING_STD __string_a_failed
-191:
-       nop
-       nop
-       b 191b
-
-
-
-190:
-       add r2, r2, #3
-       sub r1, r1, #1
-       cmp r1, #0
-       bne 189b
-       
-
-       PRINT_STRING_STD __string_a_ok
-
-
-199:
-
-
-#endif
-
-
-
-
-
-
-
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-
-
-
-
-
-//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-//
-//
-// Change Frequency!!!
-//
-//     RUN=208 TURBO=208 SystemBus=208 MEMClk=208 SDRAM=104 Flash=52 LCD=104
-//
-//     CCCR: L=16 2N=2 A=1                     CLKCFG: T=1 HT=0 B=1
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
-
-#if 0
-
-       ldr r1, =0x02000110
-       ldr r2, =CCCR
-    str    r1, [r2]                                    // set speed
-    mov        r1, #0xb                                        // set turbo mode, set fast bus , set frequency change
-       mov     r3, r1                                          // save value
-       mcr     p14, 0, r1, c6, c0, 0           // frequency change  sequence
-       ldr     r1, [r2]                                        // dummy read from CCCR
-100:
-       mrc     p14, 0, r1, c6, c0, 0           // read CLKCFG
-       cmp r3, r1                                              // compare it with value written
-       bne 100b
-       
-       
-#endif
-
-
-
-
-       // Enable access to all coprocessor registers
-       ldr     r0, =0x2001                                     // enable access to all coprocessors
-       mcr     p15, 0, r0, c15, c1, 0
-       
-       mcr     p15, 0, r0, c7, c10, 4          // drain the write & fill buffers
-       CPWAIT r0       
-       
-       mcr     p15, 0, r0, c7, c7, 0           // flush Icache, Dcache and BTB
-       CPWAIT r0       
-       
-       mcr     p15, 0, r0, c8, c7, 0           // flush instuction and data TLBs
-       CPWAIT r0       
-
-
-
-       
-       // Enable the Icache
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_I
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-
-
-       // Set the TTB register
-       ldr     r0, =mmu_table
-       mcr     p15, 0, r0, c2, c0, 0
-
-       // Enable permission checks in all domains
-       ldr     r0, =0x55555555
-       mcr     p15, 0, r0, c3, c0, 0
-       
-       // Enable the MMU
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_M
-       orr     r0, r0, #MMU_Control_R
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-       
-       mcr     p15, 0, r0, c7, c10, 4          // drain the write & fill buffers
-       CPWAIT r0       
-
-
-
-
-       
-       // Enable the Dcache
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_C
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-       // Enable the BTB
-       mrc     p15, 0, r0, c1, c0, 0
-       orr     r0, r0, #MMU_Control_BTB
-       mcr     p15, 0, r0, c1, c0, 0
-       CPWAIT  r0
-
-
-       // clean/drain/flush the main Dcache
-       mov     r1, #DCACHE_FLUSH_AREA           // use a CACHEABLE area of
-                                                // the memory map above SDRAM
-       mov     r0, #1024                        // number of lines in the Dcache
-    20:
-       mcr     p15, 0, r1, c7, c2, 5            // allocate a Dcache line
-/* increment the address to the next cache line */
-       add     r1, r1, #32     
-// decrement the loop count
-       subs    r0, r0, #1                       // decrement the loop count
-       bne     20b
-
-
-
-       // clean/drain/flush the mini Dcache
-       ldr     r2, =(DCACHE_FLUSH_AREA+DCACHE_SIZE) // use a CACHEABLE area of
-                                               // the memory map above SDRAM
-       mov     r0, #64                         // number of lines in the mini Dcache
-    21:
-       mcr     p15, 0, r2, c7, c2, 5           // allocate a Dcache line
-       add     r2, r2, #32                     // increment the address to
-                                               // the next cache line
-       subs    r0, r0, #1                      // decrement the loop count
-       bne     21b
-
-
-       mcr     p15, 0, r0, c7, c6, 0           // flush Dcache
-       CPWAIT r0
-
-       mcr     p15, 0, r0, c7, c10, 4          // drain the write & fill buffers
-       CPWAIT r0       
-       
-       
-       
-
-       
-
-
-
-
-
-
-
-
-
-
-
-
-       //  !!!!!!!!!!!!!!!!!!!!!!! what is in r8 (usteinkohl)
-       // Save SDRAM size
-       //we made it to here ok 
-       ldr     r1, =hal_dram_size  // [see hal_intr.h] 
-       str     r8, [r1]
-
-
-
-
-
-       // Move mmu tables into RAM so page table walks by the cpu
-       // don't interfere with FLASH programming.
-       ldr     r0,=mmu_table
-       mov     r4, r0
-       add     r2, r0, #0x4800         // End of tables
-       mov     r1, #RAM_BASE
-       orr     r1, r1, #0x4000                         // RAM tables
-       mov     r5, r1
-
-
-
-
-       // first, fixup physical address to second level
-       // table used to map first 1MB of flash.
-       ldr     r3, [r0], #4
-       sub     r3, r3, r4
-       add     r3, r3, r5
-       str     r3, [r1], #4
-       // everything else can go as-is
-    1:
-       ldr     r3, [r0], #4
-       str     r3, [r1], #4
-       cmp     r0, r2
-       bne     1b
-
-
-
-
-
-
-
-
-       // go back and fixup physical address to second level
-       // table used to map first 1MB of SDRAM.
-       add     r1, r5, #(0xA00 * 4)
-       ldr     r0, [r1]                // entry for first 1MB of DRAM
-       sub     r0, r0, r4
-       add     r0, r0, r5
-       str     r0, [r1]                // store it back
-//we made it to here ok
-
-
-
-
-
-
-
-
-
-
-       // Flush the cache
-        mov    r0, #DCACHE_FLUSH_AREA  /* cache flush region */
-        add    r1, r0, #0x8000         /* 32KB cache         */
-  667:
-        mcr    p15,0,r0,c7,c2,5                /* allocate a line    */
-        add    r0, r0, #32             /* 32 bytes/line      */
-        teq    r1, r0
-        bne    667b
-        mcr    p15,0,r0,c7,c6,0                /* invalidate data cache */
-        /* cpuwait */
-        mrc    p15,0,r1,c2,c0,0                /* arbitrary read   */
-        mov    r1,r1
-        sub    pc,pc,#4
-        mcr    p15,0,r0,c7,c10,4
-        /* cpuwait */
-        mrc    p15,0,r1,c2,c0,0                /* arbitrary read   */
-        mov    r1,r1
-        sub    pc,pc,#4
-        nop
-//we make it here ok
-
-
-
-
-
-
-       // Set the TTB register to DRAM mmu_table
-       mov     r0, r5
-       mov     r1, #0
-       mcr     p15, 0, r1, c7, c5, 0           // flush I cache
-       mcr     p15, 0, r1, c7, c10, 4          // drain WB
-       mcr     p15, 0, r0, c2, c0, 0           // load page table pointer
-       mcr     p15, 0, r1, c8, c7, 0           // flush TLBs
-       CPWAIT  r0
-
-
-
-
-
-
-       //Disable software and data breakpoints
-       mov     r0,#0
-       mcr     p15,0,r0,c14,c8,0  // ibcr0
-       mcr     p15,0,r0,c14,c9,0  // ibcr1
-       mcr     p15,0,r0,c14,c4,0  // dbcon
-
-       //Enable all debug functionality
-       mov     r0,#0x80000000
-       mcr     p14,0,r0,c10,c0,0  // dcsr
-
-
-//
-       
-       mov             r0, #0
-       
-      //---- Wait 200 usec
-       ldr r3, =OSCR                      // reset the OS Timer Count to zero
-       mov r2, #0 
-       str r2, [r3] 
-       ldr r4, =0x300                  // really 0x2E1 is about 200usec, so 0x300 should be plenty
-       10:
-       add             r0, r0, #1
-       ldr r2, [r3] 
-       cmp r4, r2
-       bgt 10b
-       
-
-
-
-
-
-
-       /* deactivate reset of SMC91C111 (GPIO10) */
-       ldr r3, =GPCRa
-       ldr r2, =0x00000400
-       str r2, [r3]
-       
-
-#if 0
-       b 930f
-__string_good_1:
-
-       .ascii "\r\nup to now, it is ok \r\n\0"     
-       .align 3
-
-930:
-       PRINT_STRING_STD __string_good_1
-
-#endif 
-
-       .endm    // _platform_setup1
-
-
-
-/*---------------------------------------------------------------------------*/
-/* end of hal_platform_setup.h                                               */
-#endif /* CYGONCE_HAL_PLATFORM_SETUP_H */
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/hal_triton270.h b/packages/hal/arm/xscale/triton270/v2_0/include/hal_triton270.h
deleted file mode 100755 (executable)
index 687fb53..0000000
+++ /dev/null
@@ -1,667 +0,0 @@
-#ifndef CYGONCE_HAL_TRITON270_H
-#define CYGONCE_HAL_TRITON270_H
-
-/*=============================================================================
-//
-//     hal_triton270.h
-//
-//     HAL Description of PXA27x control registers
-//     and ARM memory control in general.
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   usteinkohl
-// Contributors: usteinkohl 
-// Date:        14th January 2003
-// Purpose:     Intel PXA27x register and Ka-Ro TRITON270 hardware descriptions
-// Description:
-// Usage:       #include <cyg/hal/hal_triton270.h>
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-/*******************/
-/* TRITON270 Devices */
-/*******************/
-
-#include <pkgconf/system.h>            // System-wide configuration info
-
-#define BOOT_ROM       0x00000000      /* Boot ROM (Flash) */
-#define SDRAM_B0       0xA0000000      /* 64 MByte of SDRAM Bank 0 */
-
-#define SMC91C111_ETH_IOBASE           0x14000300  /* I/O base connected to CS5# */
-#define IRQ_GPIO_ETH                   CYGNUM_HAL_INTERRUPT_GPIO52
-
-#ifndef __ASSEMBLER__
-#define __REG(x)       ((volatile unsigned long *)(x))
-
-typedef struct pin_i2c_t_tag {
-       unsigned char scl_no;
-       unsigned char sda_no;
-} pin_i2c_t;
-
-// i2c function prototypes
-
-void init_i2c(void);
-cyg_int32 write_i2c_pcf8574(cyg_uint8 device_adr, cyg_uint8 dat_value);
-cyg_int32 read_i2c_pcf8574(cyg_uint8 device_adr);
-
-void init_i2c_pp(void);                /* init i2c par. port */
-
-void triton270_program_new_stack(void *func);
-
-void pin_i2c_setup(pin_i2c_t *pin_data);
-void bus_out(pin_i2c_t *pin_data, unsigned char pdata);
-int bus_in(pin_i2c_t *pin_data);
-void i2c_start(pin_i2c_t *pin_data);
-void i2c_stop(pin_i2c_t *pin_data);
-int i2c_read_ack(pin_i2c_t *pin_data);
-void i2c_write_ack(pin_i2c_t *pin_data);
-void i2c_write_nack(pin_i2c_t *pin_data);
-void i2c_slave_addr(pin_i2c_t *pin_data, unsigned char dev, unsigned char mode);
-void i2c_read(pin_i2c_t *pin_data, unsigned char *res);
-void i2c_write(pin_i2c_t *pin_data, unsigned char val);
-
-int se_read(pin_i2c_t *pin_data, unsigned char addr, unsigned char dev_address, unsigned int numb, char *dat);
-int se_write(pin_i2c_t *pin_data, unsigned char addr,unsigned char dev_address, unsigned char val);
-
-int ltc1663_write(pin_i2c_t *pin_data, unsigned char dev_address, unsigned char command, unsigned short val);
-
-int set_alternate_function(unsigned char gpio_nr, unsigned char function_code);
-int set_pin_dir(unsigned char pin_no, unsigned char io_code);          /* 0=input 1=output */
-int set_pin(unsigned char pin_no);
-int get_pin_status(unsigned char pin_no);
-int clear_pin(unsigned char pin_no);
-int set_rising_edge(unsigned char pin_no, unsigned char io_code);      /* 0= disable  1= enable */
-int set_falling_edge(unsigned char pin_no, unsigned char io_code);     /* 0= disable  1= enable */
-int clear_edge(unsigned char pin_no);
-int detect_edge(unsigned char pin_no);
-
-void reset_cp_dac(void);
-
-cyg_int32 write_i2c_pwr(cyg_uint8 device_adr,  cyg_uint8 dat_value);
-void change_core_voltage(unsigned char ind);
-void change_clock(unsigned char ind);
-int get_clock_table_index(int clock);
-
-typedef struct clock_param_s {
-       unsigned short          t_clock;
-       unsigned short          sys_clock;
-       unsigned short          mem_clock;
-       unsigned short          SDRAM_clock;
-       unsigned short          LCD_clock;
-       unsigned char           CCCR_A;
-       unsigned char           CCCR_L;
-       unsigned char           CCCR_2N;
-       unsigned char           CLKCFG_T;
-       unsigned char           CLKCFG_HT;
-       unsigned char           CLKCFG_B;
-       unsigned short          VOLTAGE_VAL;
-       unsigned char           DAC_VAL;
-       unsigned char           MDREFR_K0DB4;
-       unsigned char           MDREFR_K0DB2;
-       
-} clock_param_t;
-
-extern clock_param_t pclktab[];
-#else
-#define __REG(x)       (x)
-#endif
-
-#define NUM_GPIOS      128
-
-//     Memory Controller 0x48000000           
-#define MDCNFG __REG(0x48000000)              // SDRAM configuration register 0
-#define MDREFR __REG(0x48000004)              // SDRAM refresh control register
-#define MSC0   __REG(0x48000008)              // Static memory control register 0
-#define MSC1   __REG(0x4800000C)              // Static memory control register 1
-#define MSC2   __REG(0x48000010)              // Static memory control register 2
-#define MECR   __REG(0x48000014)              // Expansion memory (PCMCIA / Compact Flash) bus configuration register
-#define SXLCR  __REG(0x48000018)              // LCR value to be written to SDRAM-Timing Synchronous Flash
-#define SXCNFG __REG(0x4800001C)              // Synchronous static memory control register
-#define FLYCNFG        __REG(0x48000020)              // Fly by DMA DVAL assert and deassert times
-#define SXMRS  __REG(0x48000024)              // MRS value to be written to Synchronous Flash or SMROM
-#define MCMEM0 __REG(0x48000028)              // Card interface Common Memory Space Socket 0 Timing Configuration
-#define MCMEM1 __REG(0x4800002C)              // Card interface Common Memory Space Socket 1 Timing Configuration
-#define MCATT0 __REG(0x48000030)              // Card interface Attribute Space Socket 0 Timing Configuration
-#define MCATT1 __REG(0x48000034)              // Card interface Attribute Space Socket 1 Timing Configuration
-#define MCIO0  __REG(0x48000038)              // Card interface I/O Space Socket 0 Timing Configuration
-#define MCIO1  __REG(0x4800003C)              // Card interface I/O Space Socket 1 Timing Configuration
-#define MDMRS  __REG(0x48000040)              // MRS value to be written to SDRAM
-#define BOOTDEF        __REG(0x48000044)              // Read-Only Boot-time register. Contains BOOT_SEL and PKG_SEL values.
-//     LCD Controller 0x44000000  
-#define LCCR0  __REG(0x44000000)              // LCD controller control register 0
-#define LCCR1  __REG(0x44000004)              // LCD controller control register 1
-#define LCCR2  __REG(0x44000008)              // LCD controller control register 2
-#define LCCR3  __REG(0x4400000C)              // LCD controller control register 3
-#define FDADR0 __REG(0x44000200)              // DMA channel 0 frame descriptor address register
-#define FSADR0 __REG(0x44000204)              // DMA channel 0 frame source address register
-#define FIDR0  __REG(0x44000208)              // DMA channel 0 frame ID register
-#define LDCMD0 __REG(0x4400020C)              // DMA channel 0 command register
-#define FDADR1 __REG(0x44000210)              // DMA channel 1 frame descriptor address register
-#define FSADR1 __REG(0x44000214)              // DMA channel 1 frame source address register
-#define FIDR1  __REG(0x44000218)              // DMA channel 1 frame ID register
-#define LDCMD1 __REG(0x4400021C)              // DMA channel 1 command register
-#define FBR0   __REG(0x44000020)              // DMA channel 0 frame branch register
-#define FBR1   __REG(0x44000024)              // DMA channel 1 frame branch register
-#define LCSR   __REG(0x44000038)              // LCD controller status register
-#define LIIDR  __REG(0x4400003C)              // LCD controller interrupt ID register
-#define TRGBR  __REG(0x44000040)              // TMED RGB Seed Register
-#define TCR    __REG(0x44000044)              // TMED Control Register
-//     DMA Controller 0x40000000  
-#define DCSR0  __REG(0x40000000)              // DMA Control / Status Register for Channel 0
-#define DCSR1  __REG(0x40000004)              // DMA Control / Status Register for Channel 1
-#define DCSR2  __REG(0x40000008)              // DMA Control / Status Register for Channel 2
-#define DCSR3  __REG(0x4000000c)              // DMA Control / Status Register for Channel 3
-#define DCSR4  __REG(0x40000010)              // DMA Control / Status Register for Channel 4
-#define DCSR5  __REG(0x40000014)              // DMA Control / Status Register for Channel 5
-#define DCSR6  __REG(0x40000018)              // DMA Control / Status Register for Channel 6
-#define DCSR7  __REG(0x4000001c)              // DMA Control / Status Register for Channel 7
-#define DCSR8  __REG(0x40000020)              // DMA Control / Status Register for Channel 8
-#define DCSR9  __REG(0x40000024)              // DMA Control / Status Register for Channel 9
-#define DCSR10 __REG(0x40000028)              // DMA Control / Status Register for Channel 10
-#define DCSR11 __REG(0x4000002c)              // DMA Control / Status Register for Channel 11
-#define DCSR12 __REG(0x40000030)              // DMA Control / Status Register for Channel 12
-#define DCSR13 __REG(0x40000034)              // DMA Control / Status Register for Channel 13
-#define DCSR14 __REG(0x40000038)              // DMA Control / Status Register for Channel 14
-#define DCSR15 __REG(0x4000003c)              // DMA Control / Status Register for Channel 15
-#define DCSR16 __REG(0x40000040)              // DMA Control / Status Register for Channel 16
-#define DCSR17 __REG(0x40000044)              // DMA Control / Status Register for Channel 17
-#define DCSR18 __REG(0x40000048)              // DMA Control / Status Register for Channel 18
-#define DCSR19 __REG(0x4000004c)              // DMA Control / Status Register for Channel 19
-#define DCSR20 __REG(0x40000050)              // DMA Control / Status Register for Channel 20
-#define DCSR21 __REG(0x40000054)              // DMA Control / Status Register for Channel 21
-#define DCSR22 __REG(0x40000058)              // DMA Control / Status Register for Channel 22
-#define DCSR23 __REG(0x4000005c)              // DMA Control / Status Register for Channel 23
-#define DCSR24 __REG(0x40000060)              // DMA Control / Status Register for Channel 24
-#define DCSR25 __REG(0x40000064)              // DMA Control / Status Register for Channel 25
-#define DCSR26 __REG(0x40000068)              // DMA Control / Status Register for Channel 26
-#define DCSR27 __REG(0x4000006c)              // DMA Control / Status Register for Channel 27
-#define DCSR28 __REG(0x40000070)              // DMA Control / Status Register for Channel 28
-#define DCSR29 __REG(0x40000074)              // DMA Control / Status Register for Channel 29
-#define DCSR30 __REG(0x40000078)              // DMA Control / Status Register for Channel 30
-#define DCSR31 __REG(0x4000007c)              // DMA Control / Status Register for Channel 31
-
-#define DALGN  __REG(0x400000A0)              // Alignment Register
-
-#define DINT   __REG(0x400000f0)              // DMA Interrupt Register
-#define DRCMR0 __REG(0x40000100)              // Request to Channel Map Register for DREQ 0 (companion chip request 0)
-#define DRCMR1 __REG(0x40000104)              // Request to Channel Map Register for DREQ 1 (companion chip request 1)
-#define DRCMR2 __REG(0x40000108)              // Request to Channel Map Register for I2S receive Request
-#define DRCMR3 __REG(0x4000010c)              // Request to Channel Map Register for I2S transmit Request
-#define DRCMR4 __REG(0x40000110)              // Request to Channel Map Register for BTUART receive Request
-#define DRCMR5 __REG(0x40000114)              // Request to Channel Map Register for BTUART transmit Request.
-#define DRCMR6 __REG(0x40000118)              // Request to Channel Map Register for FFUART receive Request
-#define DRCMR7 __REG(0x4000011c)              // Request to Channel Map Register for FFUART transmit Request
-#define DRCMR8 __REG(0x40000120)              // Request to Channel Map Register for AC97 microphone Request
-#define DRCMR9 __REG(0x40000124)              // Request to Channel Map Register for AC97 modem receive Request
-#define DRCMR10        __REG(0x40000128)              // Request to Channel Map Register for AC97 modem transmit Request
-#define DRCMR11        __REG(0x4000012c)              // Request to Channel Map Register for AC97 audio receive Request
-#define DRCMR12        __REG(0x40000130)              // Request to Channel Map Register for AC97 audio transmit Request
-#define DRCMR13        __REG(0x40000134)              // Request to Channel Map Register for SSP receive Request
-#define DRCMR14        __REG(0x40000138)              // Request to Channel Map Register for SSP transmit Request
-#define DRCMR15        __REG(0x4000013c)              // Reserved
-#define DRCMR16        __REG(0x40000140)              // Reserved
-#define DRCMR17        __REG(0x40000144)              // Request to Channel Map Register for ICP receive Request
-#define DRCMR18        __REG(0x40000148)              // Request to Channel Map Register for ICP transmit Request
-#define DRCMR19        __REG(0x4000014c)              // Request to Channel Map Register for STUART receive Request
-#define DRCMR20        __REG(0x40000150)              // Request to Channel Map Register for STUART transmit Request
-#define DRCMR21        __REG(0x40000154)              // Request to Channel Map Register for MMC receive Request
-#define DRCMR22        __REG(0x40000158)              // Request to Channel Map Register for MMC transmit Request
-#define DRCMR23        __REG(0x4000015c)              // RESERVED
-#define DRCMR24        __REG(0x40000160)              // RESERVED
-#define DRCMR25        __REG(0x40000164)              // Request to Channel Map Register for USB endpoint 1 Request
-#define DRCMR26        __REG(0x40000168)              // Request to Channel Map Register for USB endpoint 2 Request
-#define DRCMR27        __REG(0x4000016C)              // Request to Channel Map Register for USB endpoint 3 Request
-#define DRCMR28        __REG(0x40000170)              // Request to Channel Map Register for USB endpoint 4 Request
-#define DRCMR29        __REG(0x40000174)              // RESERVED
-#define DRCMR30        __REG(0x40000178)              // Request to Channel Map Register for USB endpoint 6 Request
-#define DRCMR31        __REG(0x4000017C)              // Request to Channel Map Register for USB endpoint 7 Request
-#define DRCMR32        __REG(0x40000180)              // Request to Channel Map Register for USB endpoint 8 Request
-#define DRCMR33        __REG(0x40000184)              // Request to Channel Map Register for USB endpoint 9 Request
-#define DRCMR34        __REG(0x40000188)              // RESERVED
-#define DRCMR35        __REG(0x4000018C)              // Request to Channel Map Register for USB endpoint 11 Request
-#define DRCMR36        __REG(0x40000190)              // Request to Channel Map Register for USB endpoint 12 Request
-#define DRCMR37        __REG(0x40000194)              // Request to Channel Map Register for USB endpoint 13 Request
-#define DRCMR38        __REG(0x40000198)              // Request to Channel Map Register for USB endpoint 14 Request
-#define DRCMR39        __REG(0x4000019C)              // RESERVED
-#define DDADR0 __REG(0x40000200)              // DMA Descriptor Address Register channel 0
-#define DSADR0 __REG(0x40000204)              // DMA Source Address Register channel 0
-#define DTADR0 __REG(0x40000208)              // DMA Target Address Register channel 0
-#define DCMD0  __REG(0x4000020C)              // DMA Command Address Register channel 0
-#define DDADR1 __REG(0x40000210)              // DMA Descriptor Address Register channel 1
-#define DSADR1 __REG(0x40000214)              // DMA Source Address Register channel 1
-#define DTADR1 __REG(0x40000218)              // DMA Target Address Register channel 1
-#define DCMD1  __REG(0x4000021C)              // DMA Command Address Register channel 1
-#define DDADR2 __REG(0x40000220)              // DMA Descriptor Address Register channel 2
-#define DSADR2 __REG(0x40000224)              // DMA Source Address Register channel 2
-#define DTADR2 __REG(0x40000228)              // DMA Target Address Register channel 2
-#define DCMD2  __REG(0x4000022C)              // DMA Command Address Register channel 2
-#define DDADR3 __REG(0x40000230)              // DMA Descriptor Address Register channel 3
-#define DSADR3 __REG(0x40000234)              // DMA Source Address Register channel 3
-#define DTADR3 __REG(0x40000238)              // DMA Target Address Register channel 3
-#define DCMD3  __REG(0x4000023C)              // DMA Command Address Register channel 3
-#define DDADR4 __REG(0x40000240)              // DMA Descriptor Address Register channel 4
-#define DSADR4 __REG(0x40000244)              // DMA Source Address Register channel 4
-#define DTADR4 __REG(0x40000248)              // DMA Target Address Register channel 4
-#define DCMD4  __REG(0x4000024C)              // DMA Command Address Register channel 4
-#define DDADR5 __REG(0x40000250)              // DMA Descriptor Address Register channel 5
-#define DSADR5 __REG(0x40000254)              // DMA Source Address Register channel 5
-#define DTADR5 __REG(0x40000258)              // DMA Target Address Register channel 5
-#define DCMD5  __REG(0x4000025C)              // DMA Command Address Register channel 5
-#define DDADR6 __REG(0x40000260)              // DMA Descriptor Address Register channel 6
-#define DSADR6 __REG(0x40000264)              // DMA Source Address Register channel 6
-#define DTADR6 __REG(0x40000268)              // DMA Target Address Register channel 6
-#define DCMD6  __REG(0x4000026C)              // DMA Command Address Register channel 6
-#define DDADR7 __REG(0x40000270)              // DMA Descriptor Address Register channel 7
-#define DSADR7 __REG(0x40000274)              // DMA Source Address Register channel 7
-#define DTADR7 __REG(0x40000278)              // DMA Target Address Register channel 7
-#define DCMD7  __REG(0x4000027C)              // DMA Command Address Register channel 7
-#define DDADR8 __REG(0x40000280)              // DMA Descriptor Address Register channel 8
-#define DSADR8 __REG(0x40000284)              // DMA Source Address Register channel 8
-#define DTADR8 __REG(0x40000288)              // DMA Target Address Register channel 8
-#define DCMD8  __REG(0x4000028C)              // DMA Command Address Register channel 8
-#define DDADR9 __REG(0x40000290)              // DMA Descriptor Address Register channel 9
-#define DSADR9 __REG(0x40000294)              // DMA Source Address Register channel 9
-#define DTADR9 __REG(0x40000298)              // DMA Target Address Register channel 9
-#define DCMD9  __REG(0x4000029C)              // DMA Command Address Register channel 9
-#define DDADR10        __REG(0x400002a0)              // DMA Descriptor Address Register channel 10
-#define DSADR10        __REG(0x400002a4)              // DMA Source Address Register channel 10
-#define DTADR10        __REG(0x400002a8)              // DMA Target Address Register channel 10
-#define DCMD10 __REG(0x400002aC)              // DMA Command Address Register channel 10
-#define DDADR11        __REG(0x400002b0)              // DMA Descriptor Address Register channel 11
-#define DSADR11        __REG(0x400002b4)              // DMA Source Address Register channel 11
-#define DTADR11        __REG(0x400002b8)              // DMA Target Address Register channel 11
-#define DCMD11 __REG(0x400002bC)              // DMA Command Address Register channel 11
-#define DDADR12        __REG(0x400002c0)              // DMA Descriptor Address Register channel 12
-#define DSADR12        __REG(0x400002c4)              // DMA Source Address Register channel 12     
-#define DTADR12        __REG(0x400002c8)              // DMA Target Address Register channel 12     
-#define DCMD12 __REG(0x400002cC)              // DMA Command Address Register channel 12     
-#define DDADR13        __REG(0x400002d0)              // DMA Descriptor Address Register channel 13     
-#define DSADR13        __REG(0x400002d4)              // DMA Source Address Register channel 13     
-#define DTADR13        __REG(0x400002d8)              // DMA Target Address Register channel 13     
-#define DCMD13 __REG(0x400002dC)              // DMA Command Address Register channel 13     
-#define DDADR14        __REG(0x400002e0)              // DMA Descriptor Address Register channel 14     
-#define DSADR14        __REG(0x400002e4)              // DMA Source Address Register channel 14     
-#define DTADR14        __REG(0x400002e8)              // DMA Target Address Register channel 14     
-#define DCMD14 __REG(0x400002eC)              // DMA Command Address Register channel 14     
-#define DDADR15        __REG(0x400002f0)              // DMA Descriptor Address Register channel 15     
-#define DSADR15        __REG(0x400002f4)              // DMA Source Address Register channel 15     
-#define DTADR15        __REG(0x400002f8)              // DMA Target Address Register channel 15     
-#define DCMD15 __REG(0x400002fC)              // DMA Command Address Register channel 15     
-//     Full Function UART       
-#define FFRBR  __REG(0x40100000)              // Receive Buffer Register (read only)     
-#define FFTHR  __REG(0x40100000)              // Transmit Holding Register (write only)     
-#define FFIER  __REG(0x40100004)              // Interrupt Enable Register (read/write)     
-#define FFIIR  __REG(0x40100008)              // Interrupt ID Register (read only)     
-#define FFFCR  __REG(0x40100008)              // FIFO Control Register (write only)     
-#define FFLCR  __REG(0x4010000C)              // Line Control Register (read/write)     
-#define FFMCR  __REG(0x40100010)              // Modem Control Register (read/write)     
-#define FFLSR  __REG(0x40100014)              // Line Status Register (read only)     
-#define FFMSR  __REG(0x40100018)              // Modem Status Register (read only)     
-#define FFSPR  __REG(0x4010001C)              // Scratch Pad Register (read/write)     
-#define FFDLL  __REG(0x40100000)              // baud divisor lower byte (read/write)     
-#define FFDLH  __REG(0x40100004)              // baud divisor higher byte (read/write)     
-#define FFISR  __REG(0x40100020)              // slow Infrared Select Register (read/write)     
-//     Bluetooth UART       
-#define BTRBR  __REG(0x40200000)              // Receive Buffer Register (read only)     
-#define BTTHR  __REG(0x40200000)              // Transmit Holding Register (write only)     
-#define BTIER  __REG(0x40200004)              // Interrupt Enable Register (read/write)
-#define BTIIR  __REG(0x40200008)              // Interrupt ID Register (read only)
-#define BTFCR  __REG(0x40200008)              // FIFO Control Register (write only)
-#define BTLCR  __REG(0x4020000C)              // Line Control Register (read/write)
-#define BTMCR  __REG(0x40200010)              // Modem Control Register (read/write)
-#define BTLSR  __REG(0x40200014)              // Line Status Register (read only)
-#define BTMSR  __REG(0x40200018)              // Modem Status Register (read only)
-#define BTSPR  __REG(0x4020001C)              // Scratch Pad Register (read/write)
-#define BTDLL  __REG(0x40200000)              // baud divisor lower byte (read/write)
-#define BTDLH  __REG(0x40200004)              // baud divisor higher byte (read/write)
-#define BTISR  __REG(0x40200020)              // slow Infrared Select Register (read/write)
-//     Standard UART   
-#define STRBR  __REG(0x40700000)              // Receive Buffer Register (read only)
-#define STTHR  __REG(0x40700000)              // Transmit Holding Register (write only)
-#define STIER  __REG(0x40700004)              // Interrupt Enable Register (read/write)
-#define STIIR  __REG(0x40700008)              // Interrupt ID Register (read only)
-#define STFCR  __REG(0x40700008)              // FIFO Control Register (write only)
-#define STLCR  __REG(0x4070000C)              // Line Control Register (read/write)
-#define STMCR  __REG(0x40700010)              // Modem Control Register (read/write)
-#define STLSR  __REG(0x40700014)              // Line Status Register (read only)
-#define STMSR  __REG(0x40700018)              // Reserved
-#define STSPR  __REG(0x4070001C)              // Scratch Pad Register (read/write)
-#define STDLL  __REG(0x40700000)              // baud divisor lower byte (read/write)
-#define STDLH  __REG(0x40700004)              // baud divisor higher byte (read/write)
-#define STISR  __REG(0x40700020)              // slow Infrared Select Register (read/write)
-//     I2C   
-#define IBMR   __REG(0x40301680)              // I2C Bus Monitor Register - IBMR
-#define IDBR   __REG(0x40301688)              // I2C Data Buffer Register - IDBR
-#define ICR    __REG(0x40301690)              // I2C Control Register - ICR
-#define ISR    __REG(0x40301698)              // I2C Status Register - ISR
-#define ISAR   __REG(0x403016A0)              // I2C Slave Address Register - ISAR
-//#define ICCR   __REG(0x403016A8)              // I2C Clock Count Register - ICCR
-//     I2S   
-#define SACR0  __REG(0x40400000)              // Global Control Register
-#define SACR1  __REG(0x40400004)              // Serial Audio I2S/MSB-Justified Control Register
-// -    0x4040-0008 )          // Reserved
-#define SASR0  __REG(0x4040000C)              // Serial Audio I2S/MSB-Justified Interface and FIFO Status Register
-// -    0x4040-0010 )          // Reserved
-#define SAIMR  __REG(0x40400014)              // Serial Audio Interrupt Mask Register
-#define SAICR  __REG(0x40400018)              // Serial Audio Interrupt Clear Register
-//     0x4040-001C  
-//     through  
-// Reserved __REG(0x4040)-0058 -  
-#define SAITR  __REG(0x4040005C)              // Serial Audio Interrupt Test Register
-#define SADIV  __REG(0x40400060)              // Audio clock divider register. See section Section 12.3, "Serial Audio Clocks and Sampling Frequencies" on page 12-7.
-// -     0x4040-0064  Reserved
-//     through  
-// Reserved __REG(0x4040)-007C -  
-#define SADR   __REG(0x40400080)              // Serial Audio Data Register (TX and RX FIFO access register).
-// -     0x4040-0084 to 0x404F-FFFF  Reserved
-//     AC97   
-#define POCR   __REG(0x40500000)              // PCM Out Control Register
-#define PICR   __REG(0x40500004)              // PCM In Control Register
-#define MCCR   __REG(0x40500008)              // Mic In Control Register
-#define GCR    __REG(0x4050000C)              // Global Control Register 
-#define POSR   __REG(0x40500010)              // PCM Out Status Register
-#define PISR   __REG(0x40500014)              // PCM In Status Register
-#define MCSR   __REG(0x40500018)              // Mic In Status Register
-#define GSR    __REG(0x4050001C)              // Global Status Register 
-#define CAR    __REG(0x40500020)              // CODEC Access Register 
-// -    0x4050-0024 through 0x4050-003C   Reserved
-#define PCDR   __REG(0x40500040)              // PCM FIFO Data Register 
-// -    0x4050-0044 through 0x4050-005C   Reserved
-#define MCDR   __REG(0x40500060)              // Mic-in FIFO Data Register 
-// -    0x4050-0064 through 0x4050-00FC   Reserved
-#define MOCR   __REG(0x40500100)              // MODEM Out Control Register
-// -    0x4050-0104  Reserved
-#define MICR   __REG(0x40500108)              // MODEM In Control Register
-// -    0x4050-010C  Reserved
-#define MOSR   __REG(0x40500110)              // MODEM Out Status Register
-// -    0x4050-0114  Reserved
-#define MISR   __REG(0x40500118)              // MODEM In Status Register
-// -    0x4050-011C through 0x4050-013C  Reserved
-#define MODR   __REG(0x40500140)              // MODEM FIFO Data Register
-// -    0x4050-0144 through 0x4050-01FC   Reserved
-//      (0x4050-0200 through 0x4050-02FC)  
-//     with all in increments of 0x00004 Primary Audio CODEC registers 
-//      (0x4050-0300 through 0x4050-03FC)  
-//     with all in increments of 0x00004 Secondary Audio CODEC registers  
-//       
-//     with all in increments of 0x0000-0004 Primary MODEM CODEC registers  
-//       
-//     with all in increments of 0x00004 Secondary MODEM CODEC registers  
-//     UDC   
-#define UDCCR  __REG(0x40600000)              // UDC control register
-#define UDCCS0 __REG(0x40600010)              // UDC Endpoint 0 Control/Status Register
-#define UDCCS1 __REG(0x40600014)              // UDC Endpoint 1 (IN) Control/Status Register
-#define UDCCS2 __REG(0x40600018)              // UDC Endpoint 2 (OUT) Control/Status Register
-#define UDCCS3 __REG(0x4060001C)              // UDC Endpoint 3 (IN) Control/Status Register
-#define UDCCS4 __REG(0x40600020)              // UDC Endpoint 4 (OUT) Control/Status Register
-#define UDCCS5 __REG(0x40600024)              // UDC Endpoint 5 (Interrupt) Control/Status Register
-#define UDCCS6 __REG(0x40600028)              // UDC Endpoint 6 (IN) Control/Status Register
-#define UDCCS7 __REG(0x4060002C)              // UDC Endpoint 7 (OUT) Control/Status Register
-#define UDCCS8 __REG(0x40600030)              // UDC Endpoint 8 (IN) Control/Status Register
-#define UDCCS9 __REG(0x40600034)              // UDC Endpoint 9 (OUT) Control/Status Register
-#define UDCCS10        __REG(0x40600038)              // UDC Endpoint 10 (Interrupt) Control/Status Register
-#define UDCCS11        __REG(0x4060003C)              // UDC Endpoint 11 (IN) Control/Status Register
-#define UDCCS12        __REG(0x40600040)              // UDC Endpoint 12 (OUT) Control/Status Register
-#define UDCCS13        __REG(0x40600044)              // UDC Endpoint 13 (IN) Control/Status Register
-#define UDCCS14        __REG(0x40600048)              // UDC Endpoint 14 (OUT) Control/Status Register
-#define UDCCS15        __REG(0x4060004C)              // UDC Endpoint 15 (Interrupt) Control/Status Register
-#define UFNRH  __REG(0x40600060)              // UDC Frame Number Register High
-#define UFNRL  __REG(0x40600064)              // UDC Frame Number Register Low
-#define UDDR0  __REG(0x40600080)              // UDC Endpoint 0 Data Register
-#define UDDR1  __REG(0x40600100)              // UDC Endpoint 1 Data Register
-#define UDDR2  __REG(0x406001C0)              // UDC Endpoint 2 Data Register
-#define UDDR3  __REG(0x40600200)              // UDC Endpoint 3 Data Register
-#define UDDR4  __REG(0x40600400)              // UDC Endpoint 4 Data Register
-#define UDDR5  __REG(0x406000A0)              // UDC Endpoint 5 Data Register
-#define UDDR6  __REG(0x40600600)              // UDC Endpoint 6 Data Register
-#define UDDR7  __REG(0x40600680)              // UDC Endpoint 7 Data Register
-#define UDDR8  __REG(0x40600700)              // UDC Endpoint 8 Data Register
-#define UDDR9  __REG(0x40600A00)              // UDC Endpoint 9 Data Register
-#define UDDR10 __REG(0x406000C0)              // UDC Endpoint 10 Data Register
-#define UDDR11 __REG(0x40600B00)              // UDC Endpoint 11 Data Register
-#define UDDR12 __REG(0x40600B80)              // UDC Endpoint 12 Data Register
-#define UDDR13 __REG(0x40600C00)              // UDC Endpoint 13 Data Register
-#define UDDR14 __REG(0x40600E00)              // UDC Endpoint 14 Data Register
-#define UDDR15 __REG(0x406000E0)              // UDC Endpoint 15 Data Register
-#define UICR0  __REG(0x40600050)              // UDC Interrupt Control Register 0
-#define UICR1  __REG(0x40600054)              // UDC Interrupt Control Register 1
-#define USIR0  __REG(0x40600058)              // UDC Status Interrupt Register 0
-#define USIR1  __REG(0x4060005C)              // UDC Status Interrupt Register 1
-//     ICP   
-#define ICCR0  __REG(0x40800000)              // ICP control register 0
-#define ICCR1  __REG(0x40800004)              // ICP control register 1
-#define ICCR2  __REG(0x40800008)              // ICP control register 2
-#define ICDR   __REG(0x4080000C)              // ICP data register
-// - 0x40800010                        Reserved
-#define ICSR0  __REG(0x40800014)              // ICP status register 0
-#define ICSR1  __REG(0x40800018)              // ICP status register 1
-// - 0x4080001C - 0x4080FFFF   Reserved
-//     RTC
-#define RCNR   __REG(0x40900000)              //RTC count register
-#define RTAR   __REG(0x40900004)              //RTC alarm register
-#define RTSR   __REG(0x40900008)              //RTC status register
-#define RTTR   __REG(0x4090000C)              //RTC timer trim register
-
-//     OS Timer          
-#define OSMR0  __REG(0x40A00000)              // OS timer match registers<3:0>
-#define OSMR1  __REG(0x40A00004)              // 
-#define OSMR2  __REG(0x40A00008)              // 
-#define OSMR3  __REG(0x40A0000C)              // 
-#define OSCR   __REG(0x40A00010)              // OS timer counter register
-#define OSSR   __REG(0x40A00014)              // OS timer status register
-#define OWER   __REG(0x40A00018)              // OS timer watchdog enable register
-#define OIER   __REG(0x40A0001C)              // OS timer interrupt enable register
-//     PWM 0   
-#define PWMCTRL0 __REG(0x40B00000)            // PWM 0 Control Register
-#define PWDUTY0        __REG(0x40B00004)              // PWM 0 Duty Cycle Register
-#define PERVAL0        __REG(0x40B00008)              // PWM 0 Period Control Register
-//     PWM 1   
-#define PWMCTRL1 __REG(0x40C00000)            // PWM 1Control Register
-#define PWDUTY1        __REG(0x40C00004)              // PWM 1 Duty Cycle Register
-#define PERVAL1        __REG(0x40C00008)              // PWM 1 Period Control Register
-//     Interrupt Control   
-#define ICIP   __REG(0x40D00000)              // Interrupt controller IRQ pending register
-#define ICIP2  __REG(0x40D0009c)              // Interrupt controller IRQ pending register
-
-#define        ICMR    __REG(0x40D00004)              // Interrupt controller mask register
-#define        ICMR2   __REG(0x40D000a0)              // Interrupt controller mask register
-
-#define ICLR   __REG(0x40D00008)              // Interrupt controller level register
-#define ICLR2  __REG(0x40D000a4)              // Interrupt controller level register
-
-#define ICFP   __REG(0x40D0000C)              // Interrupt controller FIQ pending register
-#define ICFP2  __REG(0x40D000a8)              // Interrupt controller FIQ pending register
-
-#define ICPR   __REG(0x40D00010)              // Interrupt controller pending register
-#define ICPR2  __REG(0x40D000ac)              // Interrupt controller pending register
-
-#define ICCR   __REG(0x40D00014)              // Interrupt controller control register
-
-//     GPIO   
-#define GPLRa  __REG(0x40E00000)              // GPIO pin-level register GPIO<31:0>
-#define GPLRb  __REG(0x40E00004)              // GPIO pin-level register GPIO<63:32>
-#define GPLRc  __REG(0x40E00008)              // GPIO pin-level register GPIO<95:64>
-#define GPLRd  __REG(0x40E00100)              // GPIO pin-level register GPIO<120:95>
-
-#define GPDRa  __REG(0x40E0000C)              // GPIO pin direction register GPIO<31:0>
-#define GPDRb  __REG(0x40E00010)              // GPIO pin direction register GPIO<63:32>
-#define GPDRc  __REG(0x40E00014)              // GPIO pin direction register GPIO<95:64>
-#define GPDRd  __REG(0x40E0010c)              // GPIO pin direction register GPIO<120:96>
-
-#define GPSRa  __REG(0x40E00018)              // GPIO pin output set register GPIO<31:0>
-#define GPSRb  __REG(0x40E0001C)              // GPIO pin output set register GPIO<63:32>
-#define GPSRc  __REG(0x40E00020)              // GPIO pin output set register GPIO<80:95>
-#define GPSRd  __REG(0x40E00118)                  // GPIO pin output set register GPIO<120:96>
-
-#define GPCRa  __REG(0x40E00024)              // GPIO pin output clear register GPIO<31:0>
-#define GPCRb  __REG(0x40E00028)              // GPIO pin output clear register GPIO <63:32>
-#define GPCRc  __REG(0x40E0002C)              // GPIO pin output clear register GPIO <80:95>
-#define GPCRd  __REG(0x40E00124)              // GPIO pin output clear register GPIO <120:96>
-
-#define GRERa  __REG(0x40E00030)              // GPIO rising-edge detect register GPIO<31:0>
-#define GRERb  __REG(0x40E00034)              // GPIO rising-edge detect register GPIO<63:32>
-#define GRERc  __REG(0x40E00038)              // GPIO rising-edge detect register GPIO<95:64>
-#define GRERd  __REG(0x40E00130)              // GPIO rising-edge detect register GPIO<120:96>
-
-#define GFERa  __REG(0x40E0003C)              // GPIO falling-edge detect register GPIO<31:0>
-#define GFERb  __REG(0x40E00040)              // GPIO falling-edge detect register GPIO<63:32>
-#define GFERc  __REG(0x40E00044)              // GPIO falling-edge detect register GPIO<95:64>
-#define GFERd  __REG(0x40E0013c)              // GPIO falling-edge detect register GPIO<120:96>
-
-#define GEDRa  __REG(0x40E00048)              // GPIO edge detect status register GPIO<31:0>
-#define GEDRb  __REG(0x40E0004C)              // GPIO edge detect status register GPIO<63:32>
-#define GEDRc  __REG(0x40E00050)              // GPIO edge detect status register GPIO<95:64>
-#define GEDRd  __REG(0x40E00148)              // GPIO edge detect status register GPIO<120:96>
-
-#define GAFR0a __REG(0x40E00054)              // GPIO alternate function select register GPIO<15:0>
-#define GAFR1a __REG(0x40E00058)              // GPIO alternate function select register GPIO<31:16>
-#define GAFR0b __REG(0x40E0005C)              // GPIO alternate function select register GPIO<47:32>
-#define GAFR1b __REG(0x40E00060)              // GPIO alternate function select register GPIO<63:48>
-#define GAFR0c __REG(0x40E00064)              // GPIO alternate function select register GPIO<79:64>
-#define GAFR1c __REG(0x40E00068)              // GPIO alternate function select register GPIO<95:80>
-#define GAFR0d __REG(0x40E0006c)              // GPIO alternate function select register GPIO<111:96>
-#define GAFR1d __REG(0x40E00070)              // GPIO alternate function select register GPIO<120:112>
-
-//     Power Manager and Reset Control  
-#define PMCR   __REG(0x40F00000)              // Power Manager Control register
-#define PSSR   __REG(0x40F00004)              // Power Manager Sleep Status register
-#define PSPR   __REG(0x40F00008)              // Power Manager Scratch Pad register
-#define PWER   __REG(0x40F0000C)              // Power Manager Wake-up Enable register
-#define PRER   __REG(0x40F00010)              // Power Manager GPIO Rising-edge Detect Enable register
-#define PFER   __REG(0x40F00014)              // Power Manager GPIO Falling-edge Detect Enable register
-#define PEDR   __REG(0x40F00018)              // Power Manager GPIO Edge Detect Status register
-#define PCFR   __REG(0x40F0001C)              // Power Manager General Configuration register
-#define PGSRx  __REG(0x40F00020)              // Power Manager GPIO Sleep State register for GP[31-0]
-#define PGSRy  __REG(0x40F00024)              // Power Manager GPIO Sleep State register for GP[63-32]
-#define PGSRz  __REG(0x40F00028)              // Power Manager GPIO Sleep State register for GP[84-64]
-// -   0x40F0002C  Reserved
-// -   0x40F0002C  Reserved
-#define RCSR   __REG(0x40F00030)              // Reset controller status register
-// -   0x40F00034 - 0x40F0017F  Reserved
-#define PWRIBMR        __REG(0x40f00180)              // Power I2C Bus Monitor Register
-#define PWRIDBR        __REG(0x40f00188)              // Power I2C Data Buffer Register
-#define PWRICR __REG(0x40f00190)              // Power I2C Control Register
-#define PWRISR __REG(0x40f00198)              // Power I2C Status Register
-#define PWRISAR        __REG(0x40f001A0)              // Power I2C Slave Address Register
-// -   0x40F001A4 - 0x40FFFFFF  Reserved
-
-//     Clocks Manager  
-#define CCCR   __REG(0x41300000)              // Core Clock Configuration Register
-#define CKEN   __REG(0x41300004)              // Clock Enable Register
-#define OSCC   __REG(0x41300008)              // Oscillator Configuration Register
-// -   0x4130000C - 0x413FFFFF  Reserved
-//     SSP   
-#define SSCR0  __REG(0x41000000)              // SSP Control Register 0
-#define SSCR1  __REG(0x41000004)              // SSP Control Register 1 
-#define SSSR   __REG(0x41000008)              // SSP Status Register
-#define SSITR  __REG(0x4100000C)              // SSP Interrupt Test Register
-#define SSDR   __REG(0x41000010)              // SSP Data Write Register/SSP Data Read Register
-// -   0x41000014 - 0x410FFFFF  Reserved
-//     MMC   
-#define MMCSTRPCL __REG(0x41100000)           // Control to start and stop MMC clock
-#define MMCSTAT        __REG(0x41100004)              // MMC status register (read only)
-#define MMCCLKRT __REG(0x41100008)            // MMC clock rate 
-#define MMCSPI __REG(0x4110000c)              // SPI mode control bits
-#define MMCCMDAT __REG(0x41100010)            // Command/response/data sequence control
-#define MMCRESTO __REG(0x41100014)            // Expected response time out
-#define MMCRDTO        __REG(0x41100018)              // Expected data read time out
-#define MMCBLKLEN __REG(0x4110001c)           // Block length of data transaction
-#define MMCNOB __REG(0x41100020)              // "Number of blocks, for block mode"
-#define MMCPRTBUF __REG(0x41100024)           // Partial MMC_TXFIFO FIFO written
-#define MMCIMASK __REG(0x41100028)            // Interrupt Mask
-#define MMCIREG        __REG(0x4110002c)              // Interrupt Register (read only)
-#define MMCCMD __REG(0x41100030)              // Index of current command
-#define MMCARGH        __REG(0x41100034)              // MSW part of the current command argument
-#define MMCARGL        __REG(0x41100038)              // LSW part of the current command argument
-#define MMCRES __REG(0x4110003c)              // Response FIFO (read only)
-#define MMCRXFIFO __REG(0x41100040)           // Receive FIFO (read only)
-#define MMCTXFIFO __REG(0x41100044)           // Transmit FIFO (write only)
-//     ADC   
-#define ADCD   __REG(0x41200000)              // ADC Data Register
-#define ADCS   __REG(0x41200004)              // ADC Control Register
-#define ADCE   __REG(0x41200008)              // ADC Enable Register
-#define ADCTSC __REG(0x4120000C)              // ADC Touch Screen Control Register
-#define ADCTSS1        __REG(0x41200010)              // ADC Touch Screen Setup Register 1
-#define ADCTSS2        __REG(0x41200014)              // ADC Touch Screen Setup Register 2
-// --    0x41200018 - 0x412FFFF  Reserved
-
-/* I2C register definitions            */
-/* some bit masks of register ICR      */
-#define        ICR_START               0x00000001
-#define        ICR_STOP                0x00000002
-#define        ICR_ACKNAK              0x00000004
-#define        ICR_TB                  0x00000008
-#define ICR_MA                 0x00000010
-#define ICR_SCLE               0x00000020
-#define ICR_IUE                        0x00000040
-#define ICR_GCD                        0x00000080
-#define ICR_ITEIE              0x00000100
-#define ICR_IRFIE              0x00000200
-#define ICR_BEIE               0x00000400
-#define ICR_SSDIE              0x00000800
-#define ICR_ALDIE              0x00001000
-#define ICR_SADIE              0x00002000
-#define ICR_UR                 0x00004000
-#define ICR_FM                 0x00008000
-
-/* some bit masks of register ISR */
-#define        ISR_RWM                 0x00000001
-#define        ISR_ACKNACK             0x00000002
-#define        ISR_UB                  0x00000004
-#define        ISR_IBB                 0x00000008
-#define ISR_SSD                        0x00000010
-#define ISR_ALD                        0x00000020
-#define ISR_ITE                        0x00000040
-#define ISR_IRF                        0x00000080
-#define ISR_GCAD               0x00000100
-#define ISR_SAD                        0x00000200
-#define ISR_BED                        0x00000400
-
-#define OSSR_TIMER0            (0x1 << 0)
-#define OSSR_TIMER1            (0x1 << 1)
-#define OSSR_TIMER2            (0x1 << 2)
-#define OSSR_TIMER3            (0x1 << 3)
-
-#define OIER_TIMER0            (0x1 << 0)
-#define OIER_TIMER1            (0x1 << 1)
-#define OIER_TIMER2            (0x1 << 2)
-#define OIER_TIMER3            (0x1 << 3)
-
-#define OWER_WME               (0x1 << 0)
-#endif
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram.h
deleted file mode 100755 (executable)
index 90f533c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram.ldi
deleted file mode 100755 (executable)
index 1b0f2f9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_128s32f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_128s32f.h
deleted file mode 100755 (executable)
index 08319f3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (128*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_128s32f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_128s32f.ldi
deleted file mode 100755 (executable)
index 99e740d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (128*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f.h
deleted file mode 100755 (executable)
index 90f533c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f.ldi
deleted file mode 100755 (executable)
index 1b0f2f9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f128s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f128s.h
deleted file mode 100755 (executable)
index 08319f3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (128*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f128s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f128s.ldi
deleted file mode 100755 (executable)
index 99e740d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (128*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f32s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f32s.h
deleted file mode 100755 (executable)
index 36118bc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f32s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f32s.ldi
deleted file mode 100755 (executable)
index a0378bb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f64s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f64s.h
deleted file mode 100755 (executable)
index 90f533c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f64s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_16f64s.ldi
deleted file mode 100755 (executable)
index 1b0f2f9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f.h
deleted file mode 100755 (executable)
index 90f533c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f.ldi
deleted file mode 100755 (executable)
index 1b0f2f9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f32s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f32s.h
deleted file mode 100755 (executable)
index 36118bc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f32s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32f32s.ldi
deleted file mode 100755 (executable)
index a0378bb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32mb.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32mb.h
deleted file mode 100755 (executable)
index 36118bc..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32mb.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_32mb.ldi
deleted file mode 100755 (executable)
index a0378bb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f.h
deleted file mode 100755 (executable)
index 90f533c..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f.ldi
deleted file mode 100755 (executable)
index 1b0f2f9..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f128s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f128s.h
deleted file mode 100755 (executable)
index 08319f3..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (128*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__pci_window) [];
-#endif
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f128s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_ram_64f128s.ldi
deleted file mode 100755 (executable)
index 99e740d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    vrom : ORIGIN = 0x00000000, LENGTH = 0x1000
-    ram  : ORIGIN = 0xA0000000, LENGTH = (128*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_fixed_vectors (vrom, 0x20, LMA_EQ_VMA)  // virtual ROM addr, but really in physical ram
-    SECTION_rom_vectors (ram, 0xa0020000, LMA_EQ_VMA)
-    SECTION_text (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_data (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom.h
deleted file mode 100755 (executable)
index b42d4d9..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (16*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom.ldi
deleted file mode 100755 (executable)
index 4c0de2d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_128s32f.h
deleted file mode 100755 (executable)
index 01fac32..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (128*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (32*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_128s32f.ldi
deleted file mode 100755 (executable)
index 2884955..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (128*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f.h
deleted file mode 100755 (executable)
index b42d4d9..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (16*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f.ldi
deleted file mode 100755 (executable)
index 4c0de2d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f128s.h
deleted file mode 100755 (executable)
index af814c5..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (128*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (16*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f128s.ldi
deleted file mode 100755 (executable)
index b161698..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (128*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f32s.h
deleted file mode 100755 (executable)
index c36f1cf..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (16*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f32s.ldi
deleted file mode 100755 (executable)
index 50d1103..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f64s.h
deleted file mode 100755 (executable)
index b42d4d9..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (16*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_16f64s.ldi
deleted file mode 100755 (executable)
index 4c0de2d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f.h
deleted file mode 100755 (executable)
index 9cb04c4..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (32*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f.ldi
deleted file mode 100755 (executable)
index 2616497..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f32s.h
deleted file mode 100755 (executable)
index f9dfaa4..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (32*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32f32s.ldi
deleted file mode 100755 (executable)
index 2971752..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (32*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32mb.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32mb.h
deleted file mode 100755 (executable)
index c36f1cf..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (32*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (16*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_32mb.ldi
deleted file mode 100755 (executable)
index 50d1103..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (32*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (16*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f.h
deleted file mode 100755 (executable)
index 3147410..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (64*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (64*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f.ldi
deleted file mode 100755 (executable)
index 9b08f7d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (64*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f128s.h
deleted file mode 100755 (executable)
index 6d2d5ca..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-
-#endif
-#define CYGMEM_REGION_ram (0xA0000000)
-#define CYGMEM_REGION_ram_SIZE (128*1024*1024)
-#define CYGMEM_REGION_ram_ATTR (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-#define CYGMEM_REGION_rom (0x00000000)
-#define CYGMEM_REGION_rom_SIZE (64*1024*1024)
-#define CYGMEM_REGION_rom_ATTR (CYGMEM_REGION_ATTR_R)
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - 0x100000 - (size_t) CYG_LABEL_NAME (__heap1))
-#ifndef __ASSEMBLER__
-#endif
-
-
-
-
-
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi b/packages/hal/arm/xscale/triton270/v2_0/include/pkgconf/mlt_arm_xscale_triton270_rom_64f128s.ldi
deleted file mode 100755 (executable)
index 157cbbc..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-    ram  : ORIGIN = 0xA0000000, LENGTH = (128*1024*1024)
-    rom  : ORIGIN = 0x00000000, LENGTH = (64*1024*1024)
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    SECTION_rom_vectors (ram, 0xA0000000, AT(0x00000000))   // vector page gets remapped from ROM to RAM
-    SECTION_text (rom, 0x00002000, LMA_EQ_VMA)
-    SECTION_fini (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1 (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_got (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixup (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fixed_vectors (rom, 0x20, LMA_EQ_VMA)
-    SECTION_data (ram, 0xA000A000, FOLLOWING (.gcc_except_table))
-    SECTION_bss (ram, ALIGN (0x4), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
-
-
-
-/*
-    SECTION_config (ram, 0xA0001000, LMA_EQ_VMA)    
-*/
-
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/plf_io.h b/packages/hal/arm/xscale/triton270/v2_0/include/plf_io.h
deleted file mode 100755 (executable)
index 15cbbcd..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef CYGONCE_PLF_IO_H
-#define CYGONCE_PLF_IO_H
-
-//=============================================================================
-//
-//      plf_io.h
-//
-//      Platform specific IO support
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    usteinkohl
-// Contributors: usteinkohl
-// Date:         16th January 2003
-// Purpose:      TRITON270 SK3  IO support macros
-// Description: 
-// Usage:        #include <cyg/hal/plf_io.h>
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-
-
-unsigned long _fu_phys_address(unsigned long);
-
-
-
-#define CYGARC_PHYSICAL_ADDRESS(_x_)   (_fu_phys_address((unsigned long)_x_))
-
-
-#ifdef CYGHWR_REDBOOT_LINUX_ATAG_MEM
-#error CYGHWR_REDBOOT_LINUX_ATAG_MEM already defined
-#endif
-#define CYGHWR_REDBOOT_LINUX_ATAG_MEM(_p_)                                                      \
-    CYG_MACRO_START                                                                             \
-    /* Next ATAG_MEM. */                                                                        \
-    _p_->hdr.size = (sizeof(struct tag_mem32) + sizeof(struct tag_header))/sizeof(long);        \
-    _p_->hdr.tag = ATAG_MEM;                                                                    \
-    /* Round up so there's only one bit set in the memory size.                                 \
-     * Don't double it if it's already a power of two, though.                                  \
-     */                                                                                         \
-    _p_->u.mem.size  = CYGMEM_REGION_ram_SIZE;                                                                   \
-    _p_->u.mem.start = CYGMEM_REGION_ram;                              \
-    CYG_MACRO_END
-                                       
-
-
-//-----------------------------------------------------------------------------
-
-//  IDE interface
-
-
-#define HAL_HAG_IDE_SKT1_CMD          (0x20000000)
-#define HAL_HAG_IDE_SKT1_CTL          (0x20400000)
-#define HAL_HAG_IDE_SKT2_CMD          (0x20000000)
-#define HAL_HAG_IDE_SKT2_CTL          (0x20400000)
-
-
-
-
-
-
-#define HAL_IDE_NUM_CONTROLLERS 1
-
-// Initialize the IDE controller(s).
-externC void cyg_hal_plf_ide_init(void);
-#define HAL_IDE_INIT() cyg_hal_plf_ide_init()
-
-
-
-#define __CMD_ADDR(__n) ((__n) ? HAL_HAG_IDE_SKT2_CMD : HAL_HAG_IDE_SKT1_CMD)
-#define __CTL_ADDR(__n) ((__n) ? HAL_HAG_IDE_SKT2_CTL : HAL_HAG_IDE_SKT1_CTL)
-
-#define HAL_IDE_READ_UINT8( __ctlr, __regno  , __val )  \
-    HAL_READ_UINT8(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_READ_UINT16( __ctlr, __regno, __val )  \
-    HAL_READ_UINT16(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_READ_ALTSTATUS( __ctlr, __val )  \
-    HAL_READ_UINT16(__CTL_ADDR(__ctlr) + 2, (__val))
-
-#define HAL_IDE_WRITE_UINT8( __ctlr, __regno, __val )  \
-    HAL_WRITE_UINT8(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_WRITE_UINT16( __ctlr, __regno, __val )  \
-    HAL_WRITE_UINT16(__CMD_ADDR(__ctlr) + (__regno), (__val))
-#define HAL_IDE_WRITE_CONTROL( __ctlr, __val )  \
-    HAL_WRITE_UINT16(__CTL_ADDR(__ctlr) + 2, (__val))
-
-
-
-// end of plf_io.h
-#endif // CYGONCE_PLF_IO_H
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/plf_stub.h b/packages/hal/arm/xscale/triton270/v2_0/include/plf_stub.h
deleted file mode 100755 (executable)
index 988fa7d..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-#ifndef CYGONCE_HAL_PLF_STUB_H
-#define CYGONCE_HAL_PLF_STUB_H
-
-//=============================================================================
-//
-//      plf_stub.h
-//
-//      Platform header for GDB stub support.
-//
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   msalter
-// Contributors:jskov, gthomas, msalter
-// Date:        2000-10-10
-// Purpose:     Platform HAL stub support for Ka-Ro TRITON27x boards.
-// Usage:       #include <cyg/hal/plf_stub.h>
-//              
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <pkgconf/hal.h>
-#include <pkgconf/hal_arm_xscale_triton270.h>
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-#include <cyg/infra/cyg_type.h>         // CYG_UNUSED_PARAM
-
-#include <cyg/hal/arm_stub.h>           // architecture stub support
-
-//----------------------------------------------------------------------------
-// Define some platform specific communication details. This is mostly
-// handled by hal_if now, but we need to make sure the comms tables are
-// properly initialized.
-
-externC void cyg_hal_plf_comms_init(void);
-
-#define HAL_STUB_PLATFORM_INIT_SERIAL()       cyg_hal_plf_comms_init()
-
-#define HAL_STUB_PLATFORM_SET_BAUD_RATE(baud) CYG_UNUSED_PARAM(int, (baud))
-#define HAL_STUB_PLATFORM_INTERRUPTIBLE       0
-#define HAL_STUB_PLATFORM_INIT_BREAK_IRQ()    CYG_EMPTY_STATEMENT
-
-//----------------------------------------------------------------------------
-// Stub initializer.
-#define HAL_STUB_PLATFORM_INIT()              CYG_EMPTY_STATEMENT
-
-#endif // ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-//----------------------------------------------------------------------------
-// Reset.
-#include <cyg/hal/hal_triton270.h>        // registers
-#include <cyg/hal/hal_io.h>             // IO macros
-
-// FIXME - Can we reset the board?
-#define HAL_STUB_PLATFORM_RESET()   CYG_EMPTY_STATEMENT
-
-#define HAL_STUB_PLATFORM_RESET_ENTRY 0x00000000
-
-extern int   cyg_hal_plf_hw_breakpoint(int setflag, void *addr, int len);
-extern int   cyg_hal_plf_hw_watchpoint(int setflag, void *addr, int len, int type);
-extern int   cyg_hal_plf_is_stopped_by_hardware(void **paddr);
-
-#define HAL_STUB_HW_BREAKPOINT(f,a,l)      cyg_hal_plf_hw_breakpoint((f),(a),(l))
-#define HAL_STUB_HW_WATCHPOINT(f,a,l,t)    cyg_hal_plf_hw_watchpoint((f),(a),(l),(t))
-#define HAL_STUB_IS_STOPPED_BY_HARDWARE(p) cyg_hal_plf_is_stopped_by_hardware(&(p))
-
-//-----------------------------------------------------------------------------
-#endif // CYGONCE_HAL_PLF_STUB_H
-// End of plf_stub.h
diff --git a/packages/hal/arm/xscale/triton270/v2_0/include/triton270_1w_dev.inl b/packages/hal/arm/xscale/triton270/v2_0/include/triton270_1w_dev.inl
deleted file mode 100755 (executable)
index 6d630bd..0000000
+++ /dev/null
@@ -1,387 +0,0 @@
-
-#define        SNO_WRITE_SCRATCHPAD            0x0f
-#define SNO_READ_SCRATCHPAD            0xaa
-#define SNO_COPY_SCRATCHPAD            0x55
-#define SNO_READ_MEMORY                        0xf0
-#define SNO_WRITE_APPLICATION_REG      0x99
-#define SNO_READ_STATUS_REG            0x66
-#define SNO_READ_APPLICATION_REG       0xc3
-#define SNO_COPY_LOCK                  0x5a
-#define SNO_READ_ROM                   0x33
-#define SNO_MATCH_ROM                  0x55
-#define SNO_SKIP_ROM                   0xcc
-#define SNO_SEARCH_ROM                 0xf0
-
-int reset_1w(void)
-{
-       int fu_result;
-
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 500 usec
-                     "ldr r6, [r5];"
-                     "ldr r7, =1800;"
-                     "adc r6, r6, r7;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r5, =0x40a00010;"    // timer 80 usec
-                     "ldr r6, [r5];"
-                     "ldr r7, =288;"
-                     "adc r6, r6, r7;"
-
-                     "113:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 113b;"
-
-                     "ldr r5, =0x40e00000;"    // pin level register
-                     "ldr r6, [r5];"
-                     "and r6, r6, r4;"
-                     "mov %0, r6, lsr#5;"      // shift right by 5
-
-                     "ldr r5, =0x40a00010;"    // timer 500 usec
-                     "ldr r6, [r5];"
-                     "ldr r7, =1800;"
-                     "adc r6, r6, r7;"
-
-                     "114:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 114b;"
-
-                     : "=r"(fu_result)
-                     :
-                     : "r4","r5","r6","r7");
-
-       return fu_result;
-}
-
-int sno_read(void)
-{
-       int fu_result;
-
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 5 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #18;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r5, =0x40a00010;"    // timer 5 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #18;"
-
-                     "113:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 113b;"
-
-                     "ldr r5, =0x40e00000;"    // pin level register
-                     "ldr r6, [r5];"
-                     "and r6, r6, r4;"
-                     "mov %0, r6, lsr#5;"      // shift right by 5
-
-                     : "=r"(fu_result)
-                     :
-                     : "r4","r5","r6","r7");
-
-       return fu_result;
-}
-
-void sno_write_1(void)
-{
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 5 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #18;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r5, =0x40a00010;"    // timer 60 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #214;"
-
-                     "113:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 113b;"
-
-                     :
-                     :
-                     : "r4","r5","r6","r7");
-}
-
-void sno_write_0(void)
-{
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40a00010;"    // timer 67 usec
-                     "ldr r6, [r5];"
-                     "adc r6, r6, #240;"
-
-                     "112:;"
-                     "ldr r7, [r5];"
-                     "cmp r7, r6;"
-                     "bls 112b;"
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     :
-                     :
-                     : "r4","r5","r6","r7");
-}
-
-void sno_write_byte (unsigned char sbyte)
-{
-       unsigned char mask;
-       int i;
-
-       mask = 0x01;
-       for (i = 0; i < 8; i++) {
-               if (sbyte & mask) {
-                       sno_write_1();
-               } else {
-                       sno_write_0();
-               }
-               mask <<= 1;
-               HAL_DELAY_US(1);
-       }
-}
-
-unsigned char sno_read_byte (void)
-{
-       unsigned char mask = 0x01;
-       unsigned char abyte = 0x00;
-       unsigned char return_value;
-       int i;
-
-       for (i = 0; i < 8; i++) {
-               return_value = sno_read();
-               if (return_value) {
-                       abyte |= mask;
-               }
-               HAL_DELAY_US(80);
-               mask <<= 1;
-       }
-       return abyte;
-}
-
-unsigned char sno_crc8(unsigned char * data, unsigned long count)
-{
-       unsigned char look_up_table[256] = {
-               0, 94, 188, 226, 97, 63, 221, 131, 194, 156, 126, 32, 163, 253, 31, 65,
-               157, 195, 33, 127, 252, 162, 64, 30, 95, 1, 227, 189, 62, 96, 130, 220,
-               35, 125, 159, 193, 66, 28, 254, 160, 225, 191, 93, 3, 128, 222, 60, 98,
-               190, 224, 2, 92, 223, 129, 99, 61, 124, 34, 192, 158, 29, 67, 161, 255,
-               70, 24, 250, 164, 39, 121, 155, 197, 132, 218, 56, 102, 229, 187, 89, 7,
-               219, 133, 103, 57, 186, 228, 6, 88, 25, 71, 165, 251, 120, 38, 196, 154,
-               101, 59, 217, 135, 4, 90, 184, 230, 167, 249, 27, 69, 198, 152, 122, 36,
-               248, 166, 68, 26, 153, 199, 37, 123, 58, 100, 134, 216, 91, 5, 231, 185,
-               140, 210, 48, 110, 237, 179, 81, 15, 78, 16, 242, 172, 47, 113, 147, 205,
-               17, 79, 173, 243, 112, 46, 204, 146, 211, 141, 111, 49, 178, 236, 14, 80,
-               175, 241, 19, 77, 206, 144, 114, 44, 109, 51, 209, 143, 12, 82, 176, 238,
-               50, 108, 142, 208, 83, 13, 239, 177, 240, 174, 76, 18, 145, 207, 45, 115,
-               202, 148, 118, 40, 171, 245, 23, 73, 8, 86, 180, 234, 105, 55, 213, 139,
-               87, 9, 235, 181, 54, 104, 138, 212, 149, 203, 41, 119, 244, 170, 72, 22,
-               233, 183, 85, 11, 136, 214, 52, 106, 43, 117, 151, 201, 74, 20, 246, 168,
-               116, 42, 200, 150, 21, 75, 169, 247, 182, 232, 10, 84, 215, 137, 107, 53};
-       int i;
-       unsigned char crc = 0;
-
-       for (i = 0; i < count; i++) {
-               crc = look_up_table[crc ^ data[i]];
-       }
-       return crc;
-}
-
-int sno_reset(void)
-{
-       int result;
-
-       result = reset_1w();
-       if (!result) {
-               //diag_printf("presence pulse detected\n");
-               return 0;
-       } else {
-               diag_printf("NO presence pulse detected\n");
-               return 1;
-       }
-}
-
-cyg_bool get_esa_1w(cyg_uint8 *buffer)
-{
-       int i;
-       unsigned char mac_data[8] = {0x00,0x00,0x0c,0xc6,0x00,0x00,0x00,0x00};
-       unsigned char crc, status;
-
-       asm volatile (
-                     "ldr r4, =0x00000020;"    // mask for GPIO 5
-                     "ldr r7, =0x00000040;"    // mask for GPIO 6
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "orr r6, r6, r4;"
-                     "orr r6, r6, r7;"
-
-                     "str r6, [r5];"           // set GPIO to output
-
-                     "ldr r5, =0x40e00024;"    // output clear register
-                     "str r4, [r5];"           // reset pin
-
-                     "ldr r5, =0x40e00018;"    // output set register
-                     "str r7, [r5];"           // set pin
-
-                     "ldr r5, =0x40e0000c;"    // pin dir register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to input
-
-                     "ldr r4, =0x00003c00;"
-                     "ldr r5, =0x40e00054;"    // alternate function register
-                     "ldr r6, [r5];"
-                     "bic r6, r6, r4;"
-                     "str r6, [r5];"           // set GPIO to IO function
-                     :
-                     :
-                     : "r4","r5","r6","r7"
-                     );
-
-       HAL_DELAY_US(2000);                     // 2 msec recovery time
-
-       // check status of application register
-
-       if (sno_reset()) {
-               diag_printf("no eeprom device for MAC address found \n");
-               return 0;
-       }
-
-       sno_write_byte(SNO_SKIP_ROM);
-       sno_write_byte(SNO_READ_STATUS_REG);
-       sno_write_byte(0x00);                                           // validation key
-       status = sno_read_byte();
-       //diag_printf("Status des Application Registers ist: %02X\n", status);
-
-       if (sno_reset()) {
-               diag_printf("no eeprom device for MAC address found \n");
-               return 0;
-       }
-
-       if (status & 0x03) {
-               diag_printf("No information in Application Register !!!!\n");
-               diag_printf("using defauft MAC 0x00 : 0x0C : 0xC6 : 0x00 : 0x00 : 0x00\n");
-               for (i = 0; i < 6; i++) {
-                       buffer[i] = mac_data[i+1];
-               }
-               return 1;
-       }
-
-       sno_write_byte(SNO_SKIP_ROM);
-       sno_write_byte(SNO_READ_APPLICATION_REG);
-       sno_write_byte(0x00);                                           // register address
-       for (i = 0; i < 8;i++) {
-               mac_data[i] = sno_read_byte();
-       }
-
-       if (sno_reset()) {
-               diag_printf("no eeprom device for MAC address found \n");
-               return 0;
-       }
-
-//     diag_printf("\nMAC address read from ROM: ");
-//     for (i=0; i<8; i++) {
-//             diag_printf("0x%02X ", mac_data[i]);
-//     }
-       diag_printf("\n");
-
-       crc = sno_crc8(mac_data,7);
-
-       //diag_printf("calculated CRC is: %02X\n", crc );
-
-       if (crc != mac_data[7]) {
-               diag_printf("ROM data CRC Checksum Error !!!\n\n");
-               return 0;
-       }
-
-       for (i = 0; i < 6; i++)
-               buffer[i] = mac_data[i + 1];
-
-       return 1;
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/src/hal_diag.c b/packages/hal/arm/xscale/triton270/v2_0/src/hal_diag.c
deleted file mode 100755 (executable)
index bcfb4cc..0000000
+++ /dev/null
@@ -1,697 +0,0 @@
-/*=============================================================================
-//
-//     hal_diag.c
-//
-//     HAL diagnostic output code
-//
-//=============================================================================
-#####ECOSGPLCOPYRIGHTBEGIN####
-## -------------------------------------------
-## This file is part of eCos, the Embedded Configurable Operating System.
-## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-##
-## 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
-## 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
-## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-## for more details.
-##
-## You should have received a copy of the GNU General Public License along
-## with eCos; if not, write to the Free Software Foundation, Inc.,
-## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-##
-## 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
-## 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
-## License. However the source code for this file must still be made available
-## 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 file might be covered by the GNU General Public License.
-##
-## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-## at http://sources.redhat.com/ecos/ecos-license/
-## -------------------------------------------
-#####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):  msalter
-// Contributors:msalter
-// Date:       2000-10-10
-// Purpose:    HAL diagnostic output
-// Description: Implementations of HAL diagnostic output support.
-//
-//####DESCRIPTIONEND####
-//
-//===========================================================================*/
-
-#include <string.h>
-#include <pkgconf/hal.h>
-#include <pkgconf/system.h>
-#include CYGBLD_HAL_PLATFORM_H
-
-#include <cyg/infra/cyg_type.h>                // base types
-#include <cyg/infra/cyg_trac.h>                // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-
-#include <cyg/hal/hal_arch.h>          // basic machine info
-#include <cyg/hal/hal_intr.h>          // interrupt macros
-#include <cyg/hal/hal_io.h>            // IO macros
-#include <cyg/hal/hal_if.h>            // calling interface API
-#include <cyg/hal/hal_misc.h>          // helper functions
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_triton270.h>     // Hardware definitions
-#include <cyg/hal/drv_api.h>           // cyg_drv_interrupt_acknowledge
-
-#define SIO_IER_ERDAI SIO_IER_RAVIE
-
-#if defined(CYGSEM_HAL_VIRTUAL_VECTOR_DIAG) || defined(CYGPRI_HAL_IMPLEMENTS_IF_SERVICES)
-static void cyg_hal_plf_serial_init(void);
-
-void resetSRAM(void)
-{
-       memset((void *)0x0a000000, 0, 1024 * 1024);
-}
-
-void cyg_hal_plf_comms_init(void)
-{
-       static int initialized = 0;
-
-       if (initialized) {
-               return;
-       }
-       initialized = 1;
-
-       cyg_hal_plf_serial_init();
-
-       //        cyg_hal_plf_lcd_init();
-       resetSRAM();
-}
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGPRI_HAL_IMPLEMENTS_IF_SERVICES
-
-//=============================================================================
-// Serial driver
-//=============================================================================
-
-//-----------------------------------------------------------------------------
-// There are three serial ports.
-#define CYG_DEV_SERIAL_BASE_FF   0x40100000 
-#define CYG_DEV_SERIAL_BASE_BT   0x40200000 
-#define CYG_DEV_SERIAL_BASE_STD          0x40700000
-
-//-----------------------------------------------------------------------------
-
-// Based on Based on 14.7456 MHz clock
-struct baud_config {
-       cyg_int32 baud_rate;
-       cyg_uint8 msb;
-       cyg_uint8 lsb;
-};
-
-struct baud_config baud_conf[] = {
-       {9600,   0x00, 0x60},
-       {19200,  0x00, 0x30},
-       {38400,  0x00, 0x18},
-       {57600,  0x00, 0x10},
-       {115200, 0x00, 0x08}};
-
-// Default baud rate is 115200
-// Based on 14.7456 MHz clock
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==9600
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x60
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==19200
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x30
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==38400
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x18
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==57600
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x10
-#endif
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD==115200
-#define CYG_DEV_SERIAL_BAUD_MSB               0x00
-#define CYG_DEV_SERIAL_BAUD_LSB               0x08
-#endif
-
-#ifndef CYG_DEV_SERIAL_BAUD_MSB
-#error Missing/incorrect serial baud rate defined - CDL error?
-#endif
-
-//-----------------------------------------------------------------------------
-// Define the serial registers. The Cogent board is equipped with a 16552
-// serial chip.
-#define CYG_DEV_SERIAL_RBR   0x00 // receiver buffer register, read, dlab = 0
-#define CYG_DEV_SERIAL_THR   0x00 // transmitter holding register, write, dlab = 0
-#define CYG_DEV_SERIAL_DLL   0x00 // divisor latch (LS), read/write, dlab = 1
-#define CYG_DEV_SERIAL_IER   0x04 // interrupt enable register, read/write, dlab = 0
-#define CYG_DEV_SERIAL_DLM   0x04 // divisor latch (MS), read/write, dlab = 1
-#define CYG_DEV_SERIAL_IIR   0x08 // interrupt identification register, read, dlab = 0
-#define CYG_DEV_SERIAL_FCR   0x08 // fifo control register, write, dlab = 0
-#define CYG_DEV_SERIAL_LCR   0x0c // line control register, write
-#define CYG_DEV_SERIAL_MCR   0x10 // modem control register, write
-#define CYG_DEV_SERIAL_LSR   0x14 // line status register, read
-#define CYG_DEV_SERIAL_MSR   0x18 // modem status register, read
-#define CYG_DEV_SERIAL_SPR   0x1c // scratch pad register
-#define CYG_DEV_SERIAL_ISR   0x20 // slow infrared select register (ISR), read/write
-
-// The interrupt enable register bits.
-#define SIO_IER_RAVIE          0x01            // enable received data available irq
-#define SIO_IER_TIE            0x02            // enable transmit data request interrupt
-#define SIO_IER_RLSE           0x04            // enable receiver line status irq
-#define SIO_IER_MIE            0x08            // enable modem status interrupt
-#define SIO_IER_RTOIE          0x10            // enable Rx timeout interrupt
-#define SIO_IER_NRZE           0x20            // enable NRZ coding
-#define SIO_IER_UUE            0x40            // enable the UART unit
-#define SIO_IER_DMAE           0x80            // enable DMA requests
-
-// The interrupt identification register bits.
-#define SIO_IIR_IP             0x01            // 0 if interrupt pending
-#define SIO_IIR_ID_MASK                0xff            // mask for interrupt ID bits
-#define ISR_Tx                 0x02
-#define ISR_Rx                 0x04
-
-// The line status register bits.
-#define SIO_LSR_DR             0x01            // data ready
-#define SIO_LSR_OE             0x02            // overrun error
-#define SIO_LSR_PE             0x04            // parity error
-#define SIO_LSR_FE             0x08            // framing error
-#define SIO_LSR_BI             0x10            // break interrupt
-#define SIO_LSR_THRE           0x20            // transmitter holding register empty
-#define SIO_LSR_TEMT           0x40            // transmitter holding and Tx shift registers empty
-#define SIO_LSR_ERR            0x80            // any error condition (FIFOE)
-
-// The modem status register bits.
-#define SIO_MSR_DCTS           0x01            // delta clear to send
-#define SIO_MSR_DDSR           0x02            // delta data set ready
-#define SIO_MSR_TERI           0x04            // trailing edge ring indicator
-#define SIO_MSR_DDCD           0x08            // delta data carrier detect
-#define SIO_MSR_CTS            0x10            // clear to send
-#define SIO_MSR_DSR            0x20            // data set ready
-#define SIO_MSR_RI             0x40            // ring indicator
-#define SIO_MSR_DCD            0x80            // data carrier detect
-
-// The line control register bits.
-#define SIO_LCR_WLS0           0x01            // word length select bit 0
-#define SIO_LCR_WLS1           0x02            // word length select bit 1
-#define SIO_LCR_STB            0x04            // number of stop bits
-#define SIO_LCR_PEN            0x08            // parity enable
-#define SIO_LCR_EPS            0x10            // even parity select
-#define SIO_LCR_SP             0x20            // stick parity
-#define SIO_LCR_SB             0x40            // set break
-#define SIO_LCR_DLAB           0x80            // divisor latch access bit
-
-// The FIFO control register
-#define SIO_FCR_FCR0           0x01            // enable xmit and rcvr fifos
-#define SIO_FCR_FCR1           0x02            // clear RCVR FIFO
-#define SIO_FCR_FCR2           0x04            // clear XMIT FIFO
-#define SIO_FCR_ITL0           0x40            // Interrupt trigger level (ITL) bit 0
-#define SIO_FCR_ITL1           0x80            // Interrupt trigger level (ITL) bit 1
-#define SIO_FCR_ITL_1BYTE      0x00            // 1 byte triggers interrupt
-
-//-----------------------------------------------------------------------------
-typedef struct {
-       cyg_uint8* base;
-       cyg_int32 msec_timeout;
-       int isr_vector;
-       cyg_int32 baud_rate;
-} channel_data_t;
-
-//-----------------------------------------------------------------------------
-
-static int set_baud(channel_data_t *chan)
-{
-       cyg_uint8* base = chan->base;
-       cyg_uint8 i;
-
-       for (i=0; i<(sizeof(baud_conf)/sizeof(baud_conf[0])); i++) {
-               if (chan->baud_rate == baud_conf[i].baud_rate) {
-                       cyg_uint8 lcr;
-                       HAL_READ_UINT8(base + CYG_DEV_SERIAL_LCR, lcr);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_LCR, lcr|SIO_LCR_DLAB);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_DLL, baud_conf[i].lsb);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_DLM, baud_conf[i].msb);
-                       HAL_WRITE_UINT8(base + CYG_DEV_SERIAL_LCR, lcr);
-                       return 1;
-               }
-       }
-       return -1;
-}
-
-static void init_serial_channel(channel_data_t* chan)
-{
-       cyg_uint8* base = chan->base;
-
-       // 8-1-no parity.
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_LCR, SIO_LCR_WLS0 | SIO_LCR_WLS1);
-
-       chan->baud_rate = CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD;
-       set_baud(chan);
-
-       //  Enable & clear FIFOs
-       //  set Interrupt Trigger Level to be 1 byte
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_FCR, (SIO_FCR_FCR0 | SIO_FCR_FCR1 | SIO_FCR_FCR2)); // Enable & clear FIFO
-
-       //      Configure NRZ, disable DMA requests and enable UART
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_IER, SIO_IER_UUE);
-}
-
-static cyg_bool cyg_hal_plf_serial_getc_nonblock(void *__ch_data, cyg_uint8 *ch)
-{
-       cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-       cyg_uint8 lsr;
-
-       HAL_READ_UINT8(base+CYG_DEV_SERIAL_LSR, lsr);
-       if ((lsr & SIO_LSR_DR) == 0)
-               return false;
-
-       HAL_READ_UINT8(base+CYG_DEV_SERIAL_RBR, *ch);
-
-       return true;
-}
-
-cyg_uint8 cyg_hal_plf_serial_getc(void* __ch_data)
-{
-       cyg_uint8 ch;
-       CYGARC_HAL_SAVE_GP();
-
-       while (!cyg_hal_plf_serial_getc_nonblock(__ch_data, &ch));
-
-       CYGARC_HAL_RESTORE_GP();
-       return ch;
-}
-
-void cyg_hal_plf_serial_putc(void* __ch_data, cyg_uint8 c)
-{
-       cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-       cyg_uint8 lsr;
-       CYGARC_HAL_SAVE_GP();
-
-       do {
-               HAL_READ_UINT8(base+CYG_DEV_SERIAL_LSR, lsr);
-       } while ((lsr & SIO_LSR_THRE) == 0);
-
-       HAL_WRITE_UINT8(base+CYG_DEV_SERIAL_THR, c);
-       // Hang around until the character has been safely sent.
-       do {
-               HAL_READ_UINT8(base+CYG_DEV_SERIAL_LSR, lsr);
-       } while ((lsr & SIO_LSR_THRE) == 0);
-
-       CYGARC_HAL_RESTORE_GP();
-}
-
-#if defined(CYGSEM_HAL_VIRTUAL_VECTOR_DIAG) || defined(CYGPRI_HAL_IMPLEMENTS_IF_SERVICES)
-static channel_data_t channels[3] = {
-       { (cyg_uint8*)CYG_DEV_SERIAL_BASE_FF, 1000, CYGNUM_HAL_INTERRUPT_FFUART, 38400 },
-       { (cyg_uint8*)CYG_DEV_SERIAL_BASE_BT, 1000, CYGNUM_HAL_INTERRUPT_BTUART, 38400 },
-       { (cyg_uint8*)CYG_DEV_SERIAL_BASE_STD, 1000, CYGNUM_HAL_INTERRUPT_STUART, 38400 },
-};
-
-static void cyg_hal_plf_serial_write(void* __ch_data, const cyg_uint8* __buf, cyg_uint32 __len)
-{
-       CYGARC_HAL_SAVE_GP();
-
-       while (__len-- > 0) {
-               cyg_hal_plf_serial_putc(__ch_data, *__buf++);
-       }
-       CYGARC_HAL_RESTORE_GP();
-}
-
-static void cyg_hal_plf_serial_read(void* __ch_data, cyg_uint8* __buf, cyg_uint32 __len)
-{
-       CYGARC_HAL_SAVE_GP();
-
-       while (__len-- > 0) {
-               *__buf++ = cyg_hal_plf_serial_getc(__ch_data);
-       }
-       CYGARC_HAL_RESTORE_GP();
-}
-
-cyg_bool cyg_hal_plf_serial_getc_timeout(void* __ch_data, cyg_uint8* ch)
-{
-       int delay_count;
-       channel_data_t* chan = __ch_data;
-       cyg_bool res;
-       CYGARC_HAL_SAVE_GP();
-
-       delay_count = chan->msec_timeout * 10; // delay in .1 ms steps
-       for(;;) {
-               res = cyg_hal_plf_serial_getc_nonblock(__ch_data, ch);
-               if (res || 0 == delay_count--)
-                       break;
-
-               CYGACC_CALL_IF_DELAY_US(100);
-       }
-
-       CYGARC_HAL_RESTORE_GP();
-       return res;
-}
-
-static int cyg_hal_plf_serial_control(void *__ch_data, __comm_control_cmd_t __func, ...)
-{
-       static int irq_state = 0;
-       channel_data_t* chan = __ch_data;
-       cyg_uint8 ier;
-       int ret = 0;
-       CYGARC_HAL_SAVE_GP();
-
-       switch (__func) {
-       case __COMMCTL_IRQ_ENABLE:
-               HAL_INTERRUPT_UNMASK(chan->isr_vector);
-               HAL_INTERRUPT_SET_LEVEL(chan->isr_vector, 1);
-               HAL_READ_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               ier |= SIO_IER_ERDAI;
-               HAL_WRITE_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               irq_state = 1;
-               break;
-       case __COMMCTL_IRQ_DISABLE:
-               ret = irq_state;
-               irq_state = 0;
-               HAL_INTERRUPT_MASK(chan->isr_vector);
-               HAL_READ_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               ier &= ~SIO_IER_ERDAI;
-               HAL_WRITE_UINT8(chan->base+CYG_DEV_SERIAL_IER, ier);
-               break;
-       case __COMMCTL_DBG_ISR_VECTOR:
-               ret = chan->isr_vector;
-               break;
-       case __COMMCTL_SET_TIMEOUT:
-               {
-                       va_list ap;
-
-                       va_start(ap, __func);
-
-                       ret = chan->msec_timeout;
-                       chan->msec_timeout = va_arg(ap, cyg_uint32);
-
-                       va_end(ap);
-               }  
-       case __COMMCTL_GETBAUD:
-               ret = chan->baud_rate;
-               break;
-       case __COMMCTL_SETBAUD:
-               {
-                       va_list ap;
-                       va_start(ap, __func);
-                       chan->baud_rate = va_arg(ap, cyg_int32);
-                       va_end(ap);
-                       ret = set_baud(chan);
-                       break;
-               }
-       default:
-               break;
-       }
-       CYGARC_HAL_RESTORE_GP();
-       return ret;
-}
-
-static int cyg_hal_plf_serial_isr(void *__ch_data, int* __ctrlc, 
-                                 CYG_ADDRWORD __vector, CYG_ADDRWORD __data)
-{
-       channel_data_t* chan = __ch_data;
-       cyg_uint8 _iir;
-       int res = 0;
-       CYGARC_HAL_SAVE_GP();
-
-       HAL_READ_UINT8(chan->base+CYG_DEV_SERIAL_IIR, _iir);
-       _iir &= SIO_IIR_ID_MASK;
-
-       *__ctrlc = 0;
-       if (ISR_Rx == _iir) {
-               cyg_uint8 c, lsr;
-               HAL_READ_UINT8(chan->base + CYG_DEV_SERIAL_LSR, lsr);
-               if (lsr & SIO_LSR_DR) {
-                       HAL_READ_UINT8(chan->base + CYG_DEV_SERIAL_RBR, c);
-
-                       if (cyg_hal_is_break(&c, 1)) {
-                               *__ctrlc = 1;
-                       }
-               }
-
-               // Acknowledge the interrupt
-               HAL_INTERRUPT_ACKNOWLEDGE(chan->isr_vector);
-               res = CYG_ISR_HANDLED;
-       }
-
-       CYGARC_HAL_RESTORE_GP();
-       return res;
-}
-
-static void cyg_hal_plf_serial_init(void)
-{
-       hal_virtual_comm_table_t* comm;
-       int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-
-       // Disable interrupts.
-       HAL_INTERRUPT_MASK(channels[0].isr_vector);
-       HAL_INTERRUPT_MASK(channels[1].isr_vector);
-       HAL_INTERRUPT_MASK(channels[2].isr_vector);
-
-       // Init channels
-       init_serial_channel((channel_data_t *)&channels[0]);
-       init_serial_channel((channel_data_t *)&channels[1]);
-       init_serial_channel((channel_data_t *)&channels[2]);
-
-       // Setup procs in the vector table
-       // Set channel 0
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(0);
-       comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-       CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[0]);
-       CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-       CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-       CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-       CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-       CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-       CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-       CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-       // Set channel 1
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(1);
-       comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-       CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[1]);
-       CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-       CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-       CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-       CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-       CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-       CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-       CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-       // Set channel 2
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(2);
-       comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-       CYGACC_COMM_IF_CH_DATA_SET(*comm, &channels[2]);
-       CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_serial_write);
-       CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_serial_read);
-       CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_serial_putc);
-       CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_serial_getc);
-       CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_serial_control);
-       CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_serial_isr);
-       CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_serial_getc_timeout);
-
-       // Restore original console
-       CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-}
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG || CYGPRI_HAL_IMPLEMENTS_IF_SERVICES
-
-//=============================================================================
-// Compatibility with older stubs
-//=============================================================================
-
-#ifndef CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-#include <cyg/hal/drv_api.h>
-#include <cyg/hal/hal_stub.h>          // cyg_hal_gdb_interrupt
-#endif
-
-// Assumption: all diagnostic output must be GDB packetized unless this is a ROM (i.e.
-// totally stand-alone) system.
-
-#if defined(CYG_HAL_STARTUP_ROM) || defined(CYGDBG_HAL_DIAG_DISABLE_GDB_PROTOCOL)
-#define HAL_DIAG_USES_HARDWARE
-#endif
-
-/*---------------------------------------------------------------------------*/
-#if CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL==0
-// This is the base address of the FF-channel
-#define CYG_DEV_SERIAL_BASE    CYG_DEV_SERIAL_BASE_FF
-#define CYG_DEV_SERIAL_INT     CYGNUM_HAL_INTERRUPT_FFUART
-#elif CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL==1
-// This is the base address of the BT-channel
-#define CYG_DEV_SERIAL_BASE    CYG_DEV_SERIAL_BASE_BT
-#define CYG_DEV_SERIAL_INT     CYGNUM_HAL_INTERRUPT_BTUART
-elif CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL==2
-// This is the base address of the STD-channel
-#define CYG_DEV_SERIAL_BASE    CYG_DEV_SERIAL_BASE_STD
-#define CYG_DEV_SERIAL_INT     CYGNUM_HAL_INTERRUPT_STUART
-#elif !defined(CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL)
-#error CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL undefined
-#else
-#error Bad CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL definition
-#endif
-
-static channel_data_t ser_channel = { (cyg_uint8*)CYG_DEV_SERIAL_BASE, 0, 0};
-
-#ifdef HAL_DIAG_USES_HARDWARE
-void hal_diag_init(void)
-{
-       static int init = 0;
-       char *msg = "\n\rARM eCos\n\r";
-
-       if (init++) return;
-
-       init_serial_channel(&ser_channel);
-
-       while (*msg) hal_diag_write_char(*msg++);
-}
-
-#ifdef DEBUG_DIAG
-#if defined(CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS)
-#define DIAG_BUFSIZE 32
-#else
-#define DIAG_BUFSIZE 2048
-#endif
-static char diag_buffer[DIAG_BUFSIZE];
-static int diag_bp = 0;
-#endif
-
-void hal_diag_write_char(char c)
-{
-       cyg_uint8 lsr;
-
-       hal_diag_init();
-
-       cyg_hal_plf_serial_putc(&ser_channel, c);
-
-#ifdef DEBUG_DIAG
-       diag_buffer[diag_bp++] = c;
-       if (diag_bp == DIAG_BUFSIZE) {
-               while (1) ;
-               diag_bp = 0;
-       }
-#endif
-}
-
-void hal_diag_read_char(char *c)
-{
-       *c = cyg_hal_plf_serial_getc(&ser_channel);
-}
-
-#else // HAL_DIAG relies on GDB
-
-// Initialize diag port - assume GDB channel is already set up
-void hal_diag_init(void)
-{
-       if (0) init_serial_channel(&ser_channel); // avoid warning
-}
-
-// Actually send character down the wire
-static void hal_diag_write_char_serial(char c)
-{
-       cyg_hal_plf_serial_putc(&ser_channel, c);
-}
-
-static bool hal_diag_read_serial(char *c)
-{
-       long timeout = 1000000000;  // A long time...
-
-       while (!cyg_hal_plf_serial_getc_nonblock(&ser_channel, c)) {
-               if (0 == --timeout) return false;
-       }
-       return true;
-}
-
-void hal_diag_read_char(char *c)
-{
-       while (!hal_diag_read_serial(c));
-}
-
-void hal_diag_write_char(char c)
-{
-       static char line[100];
-       static int pos = 0;
-
-       // No need to send CRs
-       if (c == '\r') return;
-
-       line[pos++] = c;
-
-       if (c == '\n' || pos == sizeof(line)) {
-               CYG_INTERRUPT_STATE old;
-
-               // Disable interrupts. This prevents GDB trying to interrupt us
-               // while we are in the middle of sending a packet. The serial
-               // receive interrupt will be seen when we re-enable interrupts
-               // later.
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-               CYG_HAL_GDB_ENTER_CRITICAL_IO_REGION(old);
-#else
-               HAL_DISABLE_INTERRUPTS(old);
-#endif
-               while (1) {
-                       static char hex[] = "0123456789ABCDEF";
-                       cyg_uint8 csum = 0;
-                       int i;
-                       char c1;
-
-                       hal_diag_write_char_serial('$');
-                       hal_diag_write_char_serial('O');
-                       csum += 'O';
-                       for( i = 0; i < pos; i++ ) {
-                               char ch = line[i];
-                               char h = hex[(ch>>4)&0xF];
-                               char l = hex[ch&0xF];
-                               hal_diag_write_char_serial(h);
-                               hal_diag_write_char_serial(l);
-                               csum += h;
-                               csum += l;
-                       }
-                       hal_diag_write_char_serial('#');
-                       hal_diag_write_char_serial(hex[(csum>>4)&0xF]);
-                       hal_diag_write_char_serial(hex[csum&0xF]);
-
-                       // Wait for the ACK character '+' from GDB here and handle
-                       // receiving a ^C instead.  This is the reason for this clause
-                       // being a loop.
-                       if (!hal_diag_read_serial(&c1)) {
-                               continue;   // No response - try sending packet again
-                       }
-                       if (c1 == '+') {
-                               break;          // a good acknowledge
-                       }
-#ifdef CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT
-                       cyg_drv_interrupt_acknowledge(CYG_DEV_SERIAL_INT);
-                       if (c1 == 3) {
-                               // Ctrl-C: breakpoint.
-                               cyg_hal_gdb_interrupt(__builtin_return_address(0));
-                               break;
-                       }
-#endif
-                       // otherwise, loop round again
-               }
-               pos = 0;
-
-               // And re-enable interrupts
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-               CYG_HAL_GDB_LEAVE_CRITICAL_IO_REGION(old);
-#else
-               HAL_RESTORE_INTERRUPTS(old);
-#endif
-       }
-}
-#endif
-
-#endif // CYGSEM_HAL_VIRTUAL_VECTOR_DIAG
-
-/*---------------------------------------------------------------------------*/
-/* End of hal_diag.c */
diff --git a/packages/hal/arm/xscale/triton270/v2_0/src/hal_initio.S b/packages/hal/arm/xscale/triton270/v2_0/src/hal_initio.S
deleted file mode 100755 (executable)
index 46198d3..0000000
+++ /dev/null
@@ -1,879 +0,0 @@
-
-
-        
-
-#define PTR(name)               \
-.##name: .word  name
-
-
-                              
-
-        .file   "hal_initio.S"
-
-
-#include <cyg/hal/hal_triton270.h>        // Platform specific hardware definitions
-
-
-
-
-        .code   32
-                       
-        .global __hal_initio
-__hal_initio:
-
-
-       b 1924f
-
-pin_state_table:
-
-       .equ GPIO_DIR_INPUT, 0
-       .equ GPIO_DIR_OUTPUT, 1
-       .equ GPIO_AF0,  0
-       .equ GPIO_AF1,  1
-       .equ GPIO_AF2,  2
-       .equ GPIO_AF3,  3
-       .equ GPIO_LOW,  0
-       .equ GPIO_HIGH, 1
-       .equ GPIO_REDGE, 0x80
-       .equ GPIO_FEDGE, 0x40
-       .equ GPIO_NOEDGE, 0
-       
-       .balign 4
-
-/*GPIO  0 */           .byte    0, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  1 */           .byte    1, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  2 */           .byte    2, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  3 */           .byte    3, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  4 */           .byte    4, GPIO_DIR_INPUT,     GPIO_NOEDGE     | GPIO_LOW,     GPIO_AF0
-/*GPIO  5 */           .byte    5, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  6 */           .byte    6, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  7 */           .byte    7, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  8 */           .byte    8, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO  9 */           .byte    9, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 10 */           .byte   10, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF0                /* ETN Reset */
-/*GPIO 11 */           .byte   11, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 12 */           .byte   12, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 13 */           .byte   13, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 14 */           .byte   14, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0                /* Backlight enable */
-/*GPIO 15 */           .byte   15, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF1                /* PCE1# */
-/*GPIO 16 */           .byte   16, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 17 */           .byte   17, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 18 */           .byte   18, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* RDY pin */
-/*GPIO 19 */           .byte   19, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 20 */           .byte   20, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 21 */           .byte   21, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF0                /* USB pull up */
-/*GPIO 22 */           .byte   22, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 23 */           .byte   23, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 24 */           .byte   24, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 25 */           .byte   25, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 26 */           .byte   26, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 27 */           .byte   27, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 28 */           .byte   28, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* AC97_BITCLK  */
-/*GPIO 29 */           .byte   29, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* AC97_SDATA_IN0 */
-/*GPIO 30 */           .byte   30, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* AC97_SDATA_OUT */
-/*GPIO 31 */           .byte   31, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* AC97_SYNC */
-
-
-/*GPIO 32 */           .byte   32, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* MMCLK */
-/*GPIO 33 */           .byte   33, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* CS5# -> CSETN# */
-/*GPIO 34 */           .byte   34, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* FFRxD */
-/*GPIO 35 */           .byte   35, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* FFCTS */
-/*GPIO 36 */           .byte   36, GPIO_DIR_INPUT,     GPIO_NOEDGE     | GPIO_LOW,     GPIO_AF1                /* FFDCD */
-/*GPIO 37 */           .byte   37, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* FFDSR */
-/*GPIO 38 */           .byte   38, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* FFRI */
-/*GPIO 39 */           .byte   39, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* FFTxD */
-/*GPIO 40 */           .byte   40, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* FFDTR */
-/*GPIO 41 */           .byte   41, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* FFRTS */
-/*GPIO 42 */           .byte   42, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* BTRxD */
-/*GPIO 43 */           .byte   43, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* BTTxD */
-/*GPIO 44 */           .byte   44, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* BTCTS */
-/*GPIO 45 */           .byte   45, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* BTRTS */
-/*GPIO 46 */           .byte   46, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* STDRxD */
-/*GPIO 47 */           .byte   47, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF1                /* STDTxD */
-/*GPIO 48 */           .byte   48, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* POE# */
-/*GPIO 49 */           .byte   49, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* PWE# */
-/*GPIO 50 */           .byte   50, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* PIOR# */
-/*GPIO 51 */           .byte   51, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* PIOW# */
-/*GPIO 52 */           .byte   52, GPIO_DIR_INPUT,     GPIO_REDGE  | GPIO_LOW,         GPIO_AF0                /* ETNINT */
-/*GPIO 53 */           .byte   53, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF0                /* MMC-Card CD# */
-/*GPIO 54 */           .byte   54, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF0                /* MMC-Card WP# */
-/*GPIO 55 */           .byte   55, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2                /* PREG# */
-/*GPIO 56 */           .byte   56, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* PWAIT */
-/*GPIO 57 */           .byte   57, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1                /* IOS16 */
-/*GPIO 58 */           .byte   58, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD0 */
-/*GPIO 59 */           .byte   59, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD1 */
-/*GPIO 60 */           .byte   60, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD2 */
-/*GPIO 61 */           .byte   61, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD3 */
-/*GPIO 62 */           .byte   62, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD4 */
-/*GPIO 63 */           .byte   63, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD5 */
-
-
-/*GPIO 64 */           .byte   64, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD6 */
-/*GPIO 65 */           .byte   65, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD7 */
-/*GPIO 66 */           .byte   66, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD8 */
-/*GPIO 67 */           .byte   67, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD9 */
-/*GPIO 68 */           .byte   68, GPIO_DIR_OUTPUT,    GPIO_NOEDGE     | GPIO_LOW,     GPIO_AF2                /* LDD10 */
-/*GPIO 69 */           .byte   69, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD11 */
-/*GPIO 70 */           .byte   70, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD12 */
-/*GPIO 71 */           .byte   71, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD13 */
-/*GPIO 72 */           .byte   72, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD14 */
-/*GPIO 73 */           .byte   73, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LDD15 */
-/*GPIO 74 */           .byte   74, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* FCLK */
-/*GPIO 75 */           .byte   75, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LCLK */
-/*GPIO 76 */           .byte   76, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* PCLK */
-/*GPIO 77 */           .byte   77, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2                /* LCD_DEN */
-/*GPIO 78 */           .byte   78, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF1        /* PCE2# */
-/*GPIO 79 */           .byte   79, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1        /* PSKTSEL */
-/*GPIO 80 */           .byte   80, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF0        /* Display enable or CS*/
-/*GPIO 81 */           .byte   81, GPIO_DIR_INPUT,     GPIO_REDGE  | GPIO_LOW,         GPIO_AF0        /*CF IRQ */
-/*GPIO 82 */           .byte   82, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0        /*CF Card Detect# */
-/*GPIO 83 */           .byte   83, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF0        /*CF RESET */
-/*GPIO 84 */           .byte   84, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0        /*CF BVD2# */
-/*GPIO 85 */           .byte   85, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0        /*CF BVD1# */
-/*GPIO 86 */           .byte   86, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2        /* LDD16 */
-/*GPIO 87 */           .byte   87, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2        /* LDD17 */
-/*GPIO 88 */           .byte   88, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1        /* USBHPWR1 USB Host power Status*/
-/*GPIO 89 */           .byte   89, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_HIGH,        GPIO_AF2        /* USBHPEN1 USB Host power Enable (set to off) */
-/*GPIO 90 */           .byte   90, GPIO_DIR_INPUT,     GPIO_REDGE  | GPIO_LOW,         GPIO_AF0        /* UCB1400 IRQ */
-/*GPIO 91 */           .byte   91, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 92 */           .byte   92, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1        /* MMDAT0 */
-/*GPIO 93 */           .byte   93, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 94 */           .byte   94, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 95 */           .byte   95, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-
-
-
-/*GPIO 96 */           .byte   96, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 97 */           .byte   97, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 98 */           .byte   98, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 99 */           .byte   99, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 100 */          .byte  100, GPIO_DIR_INPUT,     GPIO_NOEDGE     | GPIO_LOW,     GPIO_AF0
-/*GPIO 101 */          .byte  101, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 102 */          .byte  102, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 103 */          .byte  103, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 104 */          .byte  104, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 105 */          .byte  105, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 106 */          .byte  106, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 107 */          .byte  107, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 108 */          .byte  108, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 109 */          .byte  109, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1        /* MMDAT1 */
-/*GPIO 110 */          .byte  110, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1        /* MMDAT2 */
-/*GPIO 111 */          .byte  111, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF1        /* MMDAT3 */
-/*GPIO 112 */          .byte  112, GPIO_DIR_INPUT,     GPIO_NOEDGE     | GPIO_LOW,     GPIO_AF1        /* MMCMD  */
-/*GPIO 113 */          .byte  113, GPIO_DIR_OUTPUT,    GPIO_NOEDGE | GPIO_LOW,         GPIO_AF2        /* AC97_RESET# */
-/*GPIO 114 */          .byte  114, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 115 */          .byte  115, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 116 */          .byte  116, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 117 */          .byte  117, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 118 */          .byte  118, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 119 */          .byte  119, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 120 */          .byte  120, GPIO_DIR_INPUT,     GPIO_NOEDGE | GPIO_LOW,         GPIO_AF0
-/*GPIO 121 */          .byte  121, 0,                                  0,                      0
-/*GPIO 122 */          .byte  122, 0,                                  0,                      0
-/*GPIO 123 */          .byte  123, 0,                                  0,                      0
-/*GPIO 124 */          .byte  124, 0,                                  0,                      0
-/*GPIO 125 */          .byte  125, 0,                                  0,                      0
-/*GPIO 126 */          .byte  126, 0,                                  0,                      0
-/*GPIO 127 */          .byte  127, 0,                                  0,                      0
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-       1924:
-       
-
-
-
-
-
-       
-       
-       //      must set the GPIOs up before any chip selects will work
-       
-       
-
-       //GPCRa = 0xffffffff put a 0 on any of the GPIOs (0=unchanged, 1=drive 0)
-       // reset all first
-       ldr             r0,     =GPCRa
-       ldr             r1,     =0xffffffff
-       str             r1, [r0]
-       //GPCRb = 0xffffffff
-       ldr             r0,     =GPCRb
-       ldr             r1,     =0xffffffff
-       str             r1, [r0]
-       //GPCRc = 0xffffffff
-       ldr             r0,     =GPCRc
-       ldr             r1,     =0xffffffff
-       str             r1, [r0]
-       //GPCRd = 0xffffffff
-       ldr             r0,     =GPCRd
-       ldr             r1,     =0xffffffff
-       str             r1, [r0]
-
-               
-       
-//  *************************************************************************************
-//                   extract value for Output Set Register GPSRa from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPSRa0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00010000
-       beq _exGPSRa1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPSRa1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPSRa0
-       
-       ldr r0, =GPSRa
-       str r2, [r0]
-               
-       
-//  *************************************************************************************
-//                   extract value for Output Set Register GPSRb from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #128                                // use second third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPSRb0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00010000
-       beq _exGPSRb1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPSRb1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPSRb0
-       
-       ldr r0, =GPSRb
-       str r2, [r0]
-               
-
-
-//  *************************************************************************************
-//                   extract value for Output Set Register GPSRc from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #256                                // use last third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPSRc0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00010000
-       beq _exGPSRc1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPSRc1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPSRc0
-       
-       ldr r0, =GPSRc
-       str r2, [r0]
-               
-
-
-
-//  *************************************************************************************
-//                   extract value for Output Set Register GPSRd from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #384                                // use last quarter of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPSRd0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00010000
-       beq _exGPSRd1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPSRd1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPSRd0
-       
-       ldr r0, =GPSRd
-       str r2, [r0]
-               
-
-
-
-
-
-
-
-
-//  *************************************************************************************
-//                   extract value for Direction Register GPDRa from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPDRa0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00000100
-       beq _exGPDRa1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPDRa1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPDRa0
-       
-       ldr r0, =GPDRa
-       ldr r5, =0x1e4
-       bic r2, r2, r5                                  // reserved bits
-       str r2, [r0]
-
-
-
-
-
-
-
-
-               
-       
-//  *************************************************************************************
-//                   extract value for Direction Register GPDRb from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #128                                // use second quarter of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPDRb0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00000100
-       beq _exGPDRb1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPDRb1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPDRb0
-       
-       ldr r0, =GPDRb
-       str r2, [r0]
-               
-
-
-//  *************************************************************************************
-//                   extract value for Direction Register GPDRc from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #256                                // use third quarter of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPDRc0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00000100
-       beq _exGPDRc1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPDRc1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPDRc0
-       
-       ldr r0, =GPDRc
-       str r2, [r0]
-               
-
-
-
-//  *************************************************************************************
-//                   extract value for Direction Register GPDRd from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #384                                // use last quarter of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGPDRd0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00000100
-       beq _exGPDRd1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGPDRd1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGPDRd0
-       
-       ldr r0, =GPDRd
-       str r2, [r0]
-               
-
-
-
-
-
-
-
-
-
-
-
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR0a from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR0a0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR0a1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0a1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR0a2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0a2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR0a0
-       
-       ldr r0, =GAFR0a
-       str r2, [r0]
-               
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR1a from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #64
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR1a0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR1a1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1a1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR1a2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1a2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR1a0
-       
-       ldr r0, =GAFR1a
-       str r2, [r0]
-               
-
-
-
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR0b from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #128
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR0b0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR0b1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0b1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR0b2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0b2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR0b0
-       
-       ldr r0, =GAFR0b
-       str r2, [r0]
-               
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR1b from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #192
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR1b0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR1b1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1b1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR1b2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1b2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR1b0
-       
-       ldr r0, =GAFR1b
-       str r2, [r0]
-               
-
-
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR0c from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #256
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR0c0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR0c1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0c1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR0c2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0c2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR0c0
-       
-       ldr r0, =GAFR0c
-       str r2, [r0]
-               
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR1c from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #320
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR1c0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR1c1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1c1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR1c2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1c2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR1c0
-       
-       ldr r0, =GAFR1c
-       str r2, [r0]
-               
-
-
-
-
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR0d from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #384
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR0d0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR0d1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0d1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR0d2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR0d2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR0d0
-       
-       ldr r0, =GAFR0d
-       str r2, [r0]
-               
-
-//  *************************************************************************************
-//                   extract value for Alternate Function Register GAFR1d from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #448
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGAFR1d0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r4, r3, #0x01000000
-       beq _exGAFR1d1                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1d1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       ands r4, r3, #0x02000000
-       beq _exGAFR1d2                                  // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGAFR1d2:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGAFR1d0
-       
-       ldr r0, =GAFR1d
-       str r2, [r0]
-               
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-//  *************************************************************************************
-//                   extract value for Rising Edge Register GRERa from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGRERa0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00800000
-       beq _exGRERa1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGRERa1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGRERa0
-       
-       ldr r0, =GRERa
-       str r2, [r0]
-               
-       
-//  *************************************************************************************
-//                   extract value for Rising Edge Register GRERb from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #128                                // use second third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGRERb0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00800000
-       beq _exGRERb1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGRERb1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGRERb0
-       
-       ldr r0, =GRERb
-       str r2, [r0]
-               
-
-
-
-//  *************************************************************************************
-//                   extract value for Rising Edge Register GRERc from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #256                                // use last third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGRERc0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00800000
-       beq _exGRERc1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGRERc1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGRERc0
-       
-       ldr r0, =GRERc
-       str r2, [r0]
-               
-               
-//  *************************************************************************************
-//                   extract value for Rising Edge Register GRERd from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #384                                // use last third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGRERd0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00800000
-       beq _exGRERd1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGRERd1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGRERd0
-       
-       ldr r0, =GRERd
-       str r2, [r0]
-               
-               
-
-
-
-
-//  *************************************************************************************
-//                   extract value for Falling Edge Register GFERa from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGFERa0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00400000
-       beq _exGFERa1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGFERa1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGFERa0
-       
-       ldr r0, =GFERa
-       str r2, [r0]
-               
-       
-//  *************************************************************************************
-//                   extract value for Falling Edge Register GFERb from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #128                                // use second third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGFERb0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00400000
-       beq _exGFERb1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGFERb1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGFERb0
-       
-       ldr r0, =GFERb
-       str r2, [r0]
-               
-
-
-//  *************************************************************************************
-//                   extract value for Falling Edge Register GFERc from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #256                                // use last third of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGFERc0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00400000
-       beq _exGFERc1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGFERc1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGFERc0
-       
-       ldr r0, =GFERc
-       str r2, [r0]
-
-
-//  *************************************************************************************
-//                   extract value for Falling Edge Register GFERd from table
-//  *************************************************************************************      
-       ldr r0, =pin_state_table
-       add r0, r0, #384                                // use last quarter of table
-       mov r1, #1                                              // mask register
-       mov r2, #0                                              // this is the register where the value is composed
-       
-_exGFERd0:
-       ldr r3, [r0], #4                                // load table entry, increase pointer
-       ands r3, r3, #0x00400000
-       beq _exGFERd1                                   // ZERO flag is set
-       orr r2, r2, r1                                  // OR mask bit to value
-_exGFERd1:
-       mov r1, r1, ASL #1                              // shift mask bit
-       cmp r1, #0
-       bne _exGFERd0
-       
-       ldr r0, =GFERd
-       str r2, [r0]
-
-       
-
-
-
-
-       mov r15, r14                                    // return
-       
-        
-
-// --------------------------------------------------------------------------
-//  end of hal_initio.S
diff --git a/packages/hal/arm/xscale/triton270/v2_0/src/redboot_cmds.c b/packages/hal/arm/xscale/triton270/v2_0/src/redboot_cmds.c
deleted file mode 100755 (executable)
index 892d235..0000000
+++ /dev/null
@@ -1,467 +0,0 @@
-//==========================================================================
-//
-//      redboot_cmds.c
-//
-//      KaRo TRITON270 [platform] specific RedBoot commands
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-//               Richard Panton <richard.panton@3glab.com>
-// Date:         2001-02-24
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-
-#include <cyg/hal/hal_triton270.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-#include <cyg/hal/hal_io.h>             // IO macros
-
-RedBoot_cmd("mem",
-           "Set a memory location",
-           "[-h|-b] [-a <address>] <data>",
-           do_mem
-           );
-
-void do_mem(int argc, char *argv[])
-{
-       struct option_info opts[3];
-       bool mem_half_word, mem_byte;
-       volatile cyg_uint32 *address = NULL;
-       cyg_uint32 value;
-
-       init_opts(&opts[0], 'b', false, OPTION_ARG_TYPE_FLG,
-                 (void *)&mem_byte, 0, "write a byte");
-       init_opts(&opts[1], 'h', false, OPTION_ARG_TYPE_FLG,
-                 (void *)&mem_half_word, 0, "write a half-word");
-       init_opts(&opts[2], 'a', true, OPTION_ARG_TYPE_NUM,
-                 (void *)&address, NULL, "address to write at");
-       if (!scan_opts(argc, argv, 1, opts, 3, (void*)&value, OPTION_ARG_TYPE_NUM, "address to set"))
-               return;
-       if (mem_byte && mem_half_word) {
-               diag_printf("*ERR: Should not specify both byte and half-word access\n");
-       } else if (mem_byte) {
-               *(cyg_uint8*)address = (cyg_uint8)(value & 255);
-               diag_printf("  Set 0x%08X to 0x%02X (result 0x%02X)\n", address, value & 255, (int)*(cyg_uint8*)address);
-       } else if (mem_half_word) {
-               if ((unsigned long)address & 1) {
-                       diag_printf("*ERR: Badly aligned address 0x%08X for half-word store\n", address);
-               } else {
-                       *(cyg_uint16*)address = (cyg_uint16)(value & 0xffff);
-                       diag_printf("  Set 0x%08X to 0x%04X (result 0x%04X)\n", address, value & 0xffff, (int)*(cyg_uint16*)address);
-               }
-       } else {
-               if ((unsigned long)address & 3) {
-                       diag_printf("*ERR: Badly aligned address 0x%08X for word store\n", address);
-               } else {
-                       *address = value;
-                       diag_printf("  Set 0x%08X to 0x%08X (result 0x%08X)\n", address, value,
-                                   *address);
-               }
-       }
-}
-
-RedBoot_cmd("clock",
-            "Set/Query the system clock speed",
-            "[-s <clock> (200/300/400/500/600)]",
-            do_clock
-           );
-
-clock_param_t pclktab[] = {
-       {91,   45,  91,  45,  91, 0,  7, 2, 0, 0, 0,  950, 0x02, 1, 1},
-       {104, 104, 104, 104,  52, 1,  8, 2, 1, 0, 1,  950, 0x02, 0, 1},
-       {156, 104, 104, 104,  52, 1,  8, 6, 1, 1, 1, 1150, 0x06, 0, 1},
-       {208, 208, 208, 104, 104, 1, 16, 2, 1, 0, 1, 1150, 0x06, 1, 1},
-       {312, 208, 208, 104, 104, 1, 16, 3, 1, 0, 1, 1250, 0x08, 1, 1},
-       {416, 208, 208, 104, 104, 1, 16, 4, 1, 0, 1, 1350, 0x0a, 1, 1},
-       {520, 208, 208, 104, 104, 1, 16, 5, 1, 0, 1, 1450, 0x0c, 1, 1},
-       {624, 208, 208, 104, 104, 1, 16, 6, 1, 0, 1, 1550, 0x0e, 1, 1},
-};
-clock_param_t *get_clock_rate(void);
-
-int get_clock_table_index(int clock)
-{
-       int i = 0;
-       int deltan;
-       int deltap;
-       int rindex = 1;
-       int maxindex;
-
-       maxindex = sizeof(pclktab) / sizeof(clock_param_t) - 1;
-       if (clock < pclktab[0].t_clock) {
-               clock = 91;
-               rindex = 0;
-       } else if (clock > pclktab[maxindex].t_clock) {
-               clock = 624;
-               rindex = maxindex;
-       } else {
-               while (i <= maxindex) {
-                       if (pclktab[i].t_clock < clock) {
-                               i++;
-                       } else {
-                               if (i == maxindex){
-                                       rindex = maxindex;
-                               } else {
-                                       deltan = pclktab[i].t_clock - clock;
-                                       deltap = pclktab[i + 1].t_clock - clock;
-                                       if (deltan < deltap) {
-                                               rindex = i;
-                                       } else {
-                                               rindex = i + 1;
-                                       }
-                               }
-                               break;
-                       }
-               }
-       }
-
-       return rindex;
-}
-
-void change_core_voltage(unsigned char ind)
-{
-       unsigned long   value;
-
-       // enable Power I2C
-       HAL_READ_UINT32(PCFR, value);
-       value |= 0x40;
-       HAL_WRITE_UINT32(PCFR, value);
-
-       diag_printf("Core voltage will be set to %d.%d Volts",
-                   pclktab[ind].VOLTAGE_VAL / 1000, pclktab[ind].VOLTAGE_VAL % 1000);
-       write_i2c_pwr(0x18,  pclktab[ind].DAC_VAL | 0x20);
-       diag_printf(".\n");
-
-       // disable Power I2C
-       HAL_READ_UINT32(PCFR, value);
-       value &= (~0x40);
-       HAL_WRITE_UINT32(PCFR, value);
-}
-
-clock_param_t *get_clock_rate(void)
-{
-       unsigned long CCCR_reg, CLKCFG_reg;
-       unsigned char clkcfg_t, clkcfg_ht, clkcfg_b;
-       unsigned char cccr_l, cccr_2n, cccr_a;
-       int i;
-       clock_param_t *match = NULL;
-
-       asm volatile (
-                     "ldr r1, =0x41300000;"                    // Core Clock Config Reg
-                     "ldr %0, [r1];"
-                     "mrc p14, 0, %1, c6, c0, 0;"      // read CCLKCFG register
-                     : "=r"(CCCR_reg), "=r"(CLKCFG_reg)
-                     :
-                     : "r1"
-                     );
-
-       clkcfg_t        =       CLKCFG_reg & 0x01;
-       clkcfg_ht       =       (CLKCFG_reg & 0x04) >> 2;
-       clkcfg_b        =       (CLKCFG_reg & 0x08) >> 3;
-
-       cccr_l          =       (CCCR_reg & 0x0000001f) >> 0;
-       cccr_2n         =       (CCCR_reg & 0x00000780) >> 7;
-       cccr_a          =       (CCCR_reg & 0x02000000) >> 25;
-#if 0
-       diag_printf("clkcfg_t   = %d \n", clkcfg_t);
-       diag_printf("clkcfg_ht  = %d \n", clkcfg_ht);
-       diag_printf("clkcfg_b   = %d \n", clkcfg_b);
-       diag_printf("cccr_l     = %d \n", cccr_l);
-       diag_printf("cccr_2n    = %d \n", cccr_2n);
-       diag_printf("cccr_a     = %d \n", cccr_a);
-#endif
-       for (i = 0; i < sizeof(pclktab) / sizeof(clock_param_t); i++) {
-               if (clkcfg_t  == pclktab[i].CLKCFG_T &&
-                   clkcfg_ht == pclktab[i].CLKCFG_HT &&
-                   clkcfg_b  == pclktab[i].CLKCFG_B &&
-                   cccr_l    == pclktab[i].CCCR_L &&
-                   cccr_2n   == pclktab[i].CCCR_2N &&
-                   cccr_a    == pclktab[i].CCCR_A) {
-                       match = &pclktab[i];
-                       break;
-               }
-       }
-
-       if (match == NULL) {
-               //diag_printf("error, unknown clock configuration\n");
-       }
-       return match;
-}
-
-void change_clock(unsigned char ind)
-{
-       clock_param_t   *cpara;
-       unsigned long CCCR_reg, CLKCFG_reg;
-
-       diag_printf("Clock speed will be changed to %d MHz", pclktab[ind].t_clock);
-       CCCR_reg = pclktab[ind].CCCR_L |
-               ((pclktab[ind].CCCR_2N) << 7) |
-               ((pclktab[ind].CCCR_A) << 25);
-       CLKCFG_reg = pclktab[ind].CLKCFG_T |
-               ((pclktab[ind].CLKCFG_HT) << 2) |
-               ((pclktab[ind].CLKCFG_B) << 3);
-       asm volatile (
-                     "mov      r1,     %0;"
-                     "ldr      r2, =0x41300000;"                       // Core Clock Config Reg
-                     "ldr      r3, [r2];"                                      // read the register
-                     "ldr      r4, =0xcc000000;"                       // mask bits to preserve
-                     "and      r3, r3, r4;"
-                     "orr      r3, r3, r1;"                            // write speed values
-                     "str      r3, [r2];"                              // set speed
-                     "mov      r1, %1;"                                        // set turbo mode, set fast bus
-                     "orr      r1, r1, #0x2;"                          // set change frequency
-                     "mov      r3, r1;"                                        // save value
-                     "mcr      p14, 0, r1, c6, c0, 0;"         // frequency change  sequence
-                     "ldr      r1, [r2];"                                      // dummy read from CCCR
-                     "100:;"
-                     "mrc      p14, 0, r1, c6, c0, 0;"         // read CLKCFG
-                     "cmp r3, r1;"                                             // compare it with value written
-                     "bne 100b;"
-                     :
-                     : "r"(CCCR_reg),  "r"(CLKCFG_reg)
-                     : "r1", "r2", "r3", "r4"
-                     );
-       cpara = get_clock_rate();
-       diag_printf("\nclock speed set to %d MHz ...\n", cpara->t_clock);
-}
-
-void do_clock(int argc, char *argv[])
-{
-       int new_clock, ind;
-       bool new_clock_set, clock_ok;
-       struct option_info opts[1];
-//#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-//    struct config_option opt;
-//#endif
-       unsigned long value;
-       clock_param_t *cpara, *old_clock;
-
-       init_opts(&opts[0], 's', true, OPTION_ARG_TYPE_NUM,
-                 (void *)&new_clock, (bool *)&new_clock_set, "new clock speed");
-       if (!scan_opts(argc, argv, 1, opts, 1, 0, 0, "")) {
-               return;
-       }
-
-       get_clock_table_index(new_clock);
-
-       if (new_clock_set) {
-               clock_ok = 1;
-
-               old_clock = get_clock_rate();
-               if (old_clock == 0) {
-                       diag_printf("error decoding clock settings, clock unknown\n");
-                       return;
-               }
-               ind = get_clock_table_index(new_clock);
-
-               HAL_READ_UINT32(MDREFR, value);
-               value |= 0x20000000;                            // set K0DB4
-               HAL_WRITE_UINT32(MDREFR, value);
-
-               if (pclktab[ind].t_clock > old_clock->t_clock) {
-                       change_core_voltage(ind);
-                       change_clock(ind);
-               } else {
-                       change_clock(ind);
-                       change_core_voltage(ind);
-               }
-
-               if (pclktab[ind].MDREFR_K0DB2) {
-                       HAL_READ_UINT32(MDREFR, value);         // set K0DB2
-                       value |= 0x00004000;
-               } else {
-                       HAL_READ_UINT32(MDREFR, value);         // reset K0DB0
-                       value &= (~0x00004000);
-               }
-               HAL_WRITE_UINT32(MDREFR, value);
-
-               if (pclktab[ind].MDREFR_K0DB4) {
-                       HAL_READ_UINT32(MDREFR, value);         // set K0DB2
-                       value |= 0x20000000;
-               } else {
-                       HAL_READ_UINT32(MDREFR, value);         // reset K0DB2
-                       value &= (~0x20000000);
-               }
-               HAL_WRITE_UINT32(MDREFR, value);
-       } else {
-               cpara = get_clock_rate();
-               if (cpara == 0) {
-                       diag_printf("error decoding clock settings, clock unknown\n");
-               } else {
-                       diag_printf("Actual Processor Clock: %d MHz   System Bus Clock %d MHz    MEM Clock %d MHz   SDRAM Clock %d MHz   LCD Clock %d MHz\n",
-                                   cpara->t_clock, cpara->sys_clock, cpara->mem_clock, cpara->SDRAM_clock, cpara->LCD_clock);
-               }
-       }
-}
-
-RedBoot_cmd("run",
-            "Execute code at a location",
-            "[-w <timeout>] [entry]",
-            do_run
-           );
-
-void do_run(int argc, char *argv[])
-{
-       typedef void code_fun(void);
-       unsigned long entry;
-       unsigned long oldints;
-       code_fun *fun;
-       bool wait_time_set;
-       int  wait_time, res;
-       struct option_info opts[1];
-       char line[8];
-
-       entry = entry_address;  // Default from last 'load' operation
-       init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM,
-                 (void *)&wait_time, (bool *)&wait_time_set, "wait timeout");
-       if (!scan_opts(argc, argv, 1, opts, 1, (void *)&entry, OPTION_ARG_TYPE_NUM,
-                      "starting address")) {
-               entry = 0xa0100000;
-               diag_printf("starting run at address 0x%08X ...\n", entry);
-       }
-       if (wait_time_set) {
-               int script_timeout_ms = wait_time * 1000;
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-               unsigned char *hold_script = script;
-               script = (unsigned char *)0;
-#endif
-               diag_printf("About to start execution at %p - abort with ^C within %d seconds\n",
-                           (void *)entry, wait_time);
-               while (script_timeout_ms >= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT) {
-                       res = _rb_gets(line, sizeof(line), CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT);
-                       if (res == _GETS_CTRLC) {
-#ifdef CYGSEM_REDBOOT_FLASH_CONFIG
-                               script = hold_script;  // Re-enable script
-#endif
-                               return;
-                       }
-                       script_timeout_ms -= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT;
-               }
-       }
-       fun = (code_fun *)entry;
-       HAL_DISABLE_INTERRUPTS(oldints);
-       HAL_DCACHE_SYNC();
-       HAL_ICACHE_DISABLE();
-       HAL_DCACHE_DISABLE();
-       HAL_DCACHE_SYNC();
-       HAL_ICACHE_INVALIDATE_ALL();
-       HAL_DCACHE_INVALIDATE_ALL();
-#ifdef HAL_ARCH_PROGRAM_NEW_STACK
-       HAL_ARCH_PROGRAM_NEW_STACK(fun);
-#else
-       (*fun)();
-#endif
-       HAL_ICACHE_ENABLE();
-       HAL_DCACHE_ENABLE();
-       HAL_RESTORE_INTERRUPTS(oldints);
-}
-
-cyg_int32 write_i2c_pwr(cyg_uint8 device_adr,  cyg_uint8 dat_value)
-{
-       cyg_uint32      value;
-       unsigned int    retries;
-
-       // write device address now
-
-       HAL_WRITE_UINT32(PWRIDBR, (device_adr & 0xfe));
-       HAL_READ_UINT32(PWRICR, value);
-       value = value & ~(ICR_STOP | ICR_ALDIE);
-       HAL_WRITE_UINT32(PWRICR, value | ICR_START | ICR_TB);
-
-       HAL_READ_UINT32(PWRISR, value);
-       retries = 1000000;
-       while (!(value & ISR_ITE) && retries--) {       // wait for Transmit Empty
-               HAL_READ_UINT32(PWRISR, value);
-       }
-       if (!(value & ISR_ITE)) {
-               diag_printf("I2C: timeout waiting for ITE\n");
-               return -1;
-       }
-
-       HAL_READ_UINT32(PWRISR, value);
-       if (value & ISR_BED) {
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(PWRICR, value);
-               HAL_WRITE_UINT32(PWRICR, value | ICR_MA);               // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(PWRICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(PWRISR, ISR_ITE);      // clear ITE status
-
-       // write data now
-       HAL_WRITE_UINT32(PWRIDBR, dat_value & 0xff);
-       HAL_READ_UINT32(PWRICR, value);
-       value &= ~ICR_START;
-       HAL_WRITE_UINT32(PWRICR, value | (ICR_TB | ICR_STOP));
-
-       HAL_READ_UINT32(PWRISR, value);
-       retries = 1000000;
-       while (!(value & ISR_ITE) && retries--) {       // wait for Transmit Empty
-               HAL_READ_UINT32(PWRISR, value);
-       }
-       if (!(value & ISR_ITE)) {
-               diag_printf("I2C: timeout waiting for ITE\n");
-               return -1;
-       }
-       HAL_READ_UINT32(PWRISR, value);
-       if (value & ISR_BED) {
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(PWRICR, value);
-               HAL_WRITE_UINT32(PWRICR, value | ICR_MA);               // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(PWRICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(PWRISR, ISR_ITE);      // clear ITE status
-
-       HAL_READ_UINT32(PWRICR, value);
-       value = value & ~(ICR_STOP | ICR_START | ICR_TB);
-       HAL_WRITE_UINT32(PWRICR, value);
-
-       return 0;
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/src/sdcard.c b/packages/hal/arm/xscale/triton270/v2_0/src/sdcard.c
deleted file mode 100755 (executable)
index 1ba6947..0000000
+++ /dev/null
@@ -1,1899 +0,0 @@
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    usteinkohl
-// Contributors: usteinkohl
-//               Uwe Steinkohl <us@karo-electronics.de>
-// Date:         2005-05-24
-// Purpose:
-// Description:
-//
-// This code is to handle the SD-Card
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-
-#include <cyg/hal/hal_triton270.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-#include <cyg/hal/hal_io.h>             // IO macros
-
-#define DMA_ACCESS                     1
-
-#define SDCARD_DEBUG                   0
-#define FAT16_ONLY                     0
-
-#define MMCCLKRT_19M5                  0
-#define MMCCLKRT_9M75                  1
-#define MMCCLKRT_4M88                  2
-#define MMCCLKRT_2M44                  3
-#define MMCCLKRT_1M22                  4
-#define MMCCLKRT_0M609                 5
-#define MMCCLKRT_0M304                 6
-
-#define MMCSTAT_TIME_OUT_READ          0x00000001
-#define MMCSTAT_TIME_OUT_RES           0x00000002
-#define MMCSTAT_CRC_WR_ERR             0x00000004
-#define MMCSTAT_CRC_RD_ERR             0x00000008
-#define MMCSTAT_DAT_ERR_TOKEN          0x00000010
-#define MMCSTAT_RES_CRC_ERR            0x00000020
-
-#define MMCSTAT_CLK_EN                 0x00000100
-#define MMCSTAT_FLASH_ERR              0x00000200
-#define MMCSTAT_SPI_WR_ERR             0x00000400
-#define MMCSTAT_DATA_TRAN_DONE         0x00000800
-
-#define MMCSTAT_PRG_DONE               0x00001000
-#define MMCSTAT_END_CMD_RES            0x00002000
-#define MMCSTAT_RD_STALLED             0x00004000
-#define MMCSTAT_SDIO_INT               0x00008000
-
-#define MMCSTAT_SDIO_SUSPEND_ACK       0x00010000
-
-#define CMD_RES_TYPE_NORESP            0
-#define CMD_RES_TYPE_R1                        1
-#define CMD_RES_TYPE_R6                        1
-#define CMD_RES_TYPE_R2                        2
-#define CMD_RES_TYPE_R3                        3
-
-#define SD_CMD0                                0
-#define SD_CMD2                                2
-#define SD_CMD3                                3
-#define SD_CMD4                                4
-#define SD_CMD7                                7
-#define SD_CMD9                                9
-#define SD_CMD10                       10
-#define SD_CMD12                       12
-#define SD_CMD13                       13
-#define SD_CMD15                       15
-#define SD_CMD16                       16
-#define SD_CMD17                       17
-#define SD_CMD18                       18
-#define SD_CMD55                       55
-
-#define SD_ACMD6                       (6 + 128)
-#define SD_ACMD41                      (41 + 128)
-
-typedef        unsigned char   u8;
-typedef        unsigned short  u16;
-typedef        unsigned long   u32;
-
-typedef struct command_parameter_struct {
-       unsigned char           command_number;
-       unsigned short          rca;
-       unsigned short          command_parameter_low;
-       unsigned short          command_parameter_high;
-       unsigned char           res_type;
-       unsigned char           data_en;
-       unsigned char           dma_en;
-       unsigned char           data_write;
-       unsigned char           stream_blk;
-       unsigned char           busy;
-       unsigned char           init;
-       unsigned char           sd_4dat;
-       unsigned char           *rbuffer;                       // pointer to response buffer
-       unsigned char           *dbuffer;                       // pointer to data buffer
-       int                     isWinceImage;
-} COMPAR;
-
-typedef struct drive_spec_t {
-       u32                     partition_size;
-       u32                     partition_offset;
-       u8                      partition_type;
-       u16                     number_of_cylinders;
-       u16                     number_of_heads;
-       u16                     number_of_sectors_per_track;
-       u16                     bytes_per_sector;
-       u8                      sectors_per_cluster;
-       u16                     reserved_sectors;
-       u8                      number_of_copies_of_fat;
-       u16                     maximum_root_entries;
-       u16                     sectors_per_fat;
-       u32                     fat_start_block;
-       u32                     root_dir_start_block;
-       u32                     data_area_start_block;
-       u16                     number_of_files;
-       int                     fat16;
-} drive_spec;
-
-typedef struct dir_data_t {
-       char            dir_fname[13];
-       u16                     dir_start_cluster;
-       u32                     dir_fsize;
-       u16                     dir_year;
-       u8                      dir_month;
-       u8                      dir_day;
-       u8                      dir_second;
-       u8                      dir_minute;
-       u8                      dir_hour;
-} dir_data;
-
-int    init_sdcard(COMPAR *pp);
-void   enable_sdcard_power(void);
-int    chk_sd_status(COMPAR *pp);
-int    send_command(COMPAR *pp);
-int            wait4cmd_end(void);
-int    read_single_block(COMPAR *pp, unsigned long address);
-void   dump_buf(unsigned char *address, unsigned short length);
-int    get_dir_data(drive_spec *ds, COMPAR *pp);
-void   dump_dir(dir_data *dird, drive_spec *ds);
-int    get_dir_entry(dir_data  *dentry, drive_spec *ds, COMPAR *pp, unsigned char *filename);
-void   kill_space(char *string);
-int    read_multiple_block(COMPAR *pp, unsigned long address, unsigned long blocks);
-
-int    read_file(dir_data *dird, drive_spec *ds, unsigned long *address, COMPAR *pp);
-int    get_next_cluster(dir_data *dird, drive_spec *ds,  COMPAR *pp, unsigned short last_cluster);
-
-int    isprint(int character);
-
-RedBoot_cmd("sdcard",
-           "read from SD-Card",
-           "[-d] [-f <filename>] [-b <base_address]",
-           do_sdcard
-           );
-
-static inline unsigned long cmd_value(COMPAR *pp)
-{
-       unsigned long cvalue;
-
-       cvalue = (((pp->res_type & 0x3) << 0) |
-                 ((pp->data_en & 0x1) << 2) |
-                 ((pp->data_write & 0x1) << 3) |
-                 ((pp->stream_blk & 0x1) << 4) |
-                 ((pp->busy & 0x1) << 5) |
-                 ((pp->init & 0x1) << 6) |
-                 ((pp->dma_en & 0x1) << 7) |
-                 ((pp->sd_4dat & 0x1) << 8));
-       return cvalue;
-}
-
-void do_sdcard(int argc, char *argv[])
-{
-       struct option_info opts[3];
-       bool dflag_set, base_address_set, filename_set;
-       unsigned char *fn_buffer;
-       unsigned long base_address;
-       int dflag;
-       static COMPAR   cpar;
-       static unsigned char    rbuffer[32];
-       static unsigned char    dbuffer[512];
-       drive_spec      my_drive;
-       drive_spec      *ds = &my_drive;
-       u16             *p16 = (u16 *)dbuffer;
-       int             valid_partition;
-       dir_data        dentry;
-       int i;
-
-       init_opts(&opts[0], 'd', false, OPTION_ARG_TYPE_FLG, (void *)&dflag,
-                 &dflag_set, "directory");
-       init_opts(&opts[1], 'b', true, OPTION_ARG_TYPE_NUM, (void *)&base_address,
-                 &base_address_set, "base address to load file contents");
-       init_opts(&opts[2], 'f', true, OPTION_ARG_TYPE_STR, (void *)&fn_buffer,
-                 &filename_set, "filename");
-
-       if (!scan_opts(argc, argv, 1, opts, 3, 0, 0, "")) {
-               return;
-       }
-       if (dflag & base_address_set) {
-               diag_printf("warning, -b parameter is ignored\n");
-       }
-
-       if (dflag & filename_set) {
-               diag_printf("warning, -f parameter is ignored\n");
-       }
-
-#ifdef CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT
-       // Do not check for the base address now since
-       // possibly we are about to load a wince .BIN image.
-       // We will validate it latter instead.
-
-       if (!dflag && !filename_set) {
-               diag_printf("error, filename must be specified with -f parameter\n");
-               return;
-       }
-
-       if (!base_address_set) {
-               base_address = 0;
-       }
-#else
-       if (base_address_set & !filename_set) {
-               diag_printf("error, filename must be specified with -f parameter\n");
-               return;
-       }
-
-       if (!base_address_set & filename_set) {
-               diag_printf("error, base address must be specified with -b parameter\n");
-               return;
-       }
-#endif
-       cpar.rbuffer = rbuffer;         // specify buffer for command response
-       cpar.dbuffer = dbuffer;         // specify buffer for data transfer
-
-       if (dflag) {
-               if (chk_sd_status(&cpar) < 0) {
-                       return;
-               }
-#if SDCARD_DEBUG
-               diag_printf("\n\nreading master boot record now\n");
-#endif
-               if (read_single_block(&cpar, 0) < 0) {
-                       diag_printf("read single block command failed!\n");
-                       return;
-               }
-#if SDCARD_DEBUG
-               diag_printf("\n\n");
-               dump_buf(dbuffer, 512);
-#endif
-               if (*(p16 + 255) != 0xaa55) {
-                       diag_printf("warning: no patition table found on drive\n");
-                       diag_printf("exiting command\n");
-                       return;
-               }
-
-               //search for first FAT16 partition
-               valid_partition = 0;
-               for (i = 0; i < 4; i++) {
-                       ds->partition_size = dbuffer[446 + i * 16 + 12] +
-                               (dbuffer[446 + i * 16 + 13] << 8) +
-                               (dbuffer[446 + i * 16 + 14] << 16) +
-                               (dbuffer[446 + i * 16 + 15] << 24);
-
-                       ds->partition_offset = dbuffer[446 + i * 16 + 8] +
-                               (dbuffer[446 + i * 16 + 9] << 8) +
-                               (dbuffer[446 + i * 16 + 10] << 16) +
-                               (dbuffer[446 + i * 16 + 11] << 24);
-
-                       ds->partition_type = dbuffer[446 + i * 16 + 4];
-
-                       if ((ds->partition_type != 0x01 &&
-                            ds->partition_type != 0x04 &&
-                            ds->partition_type != 0x05 &&
-                            ds->partition_type != 0x06) ||
-                           ds->partition_size == 0 || ds->partition_offset == 0) {
-                               continue;
-                       } else {
-                               valid_partition = i + 1;
-                               break;
-                       }
-               }
-
-               if (!valid_partition) {
-                       diag_printf("warning, no valid partiton table found\n");
-                       ds->partition_offset = 0;
-               } else {
-#if SDCARD_DEBUG
-                       diag_printf("Partition Size: 0x%08X\n", ds->partition_size);
-                       diag_printf("Partition Offset: 0x%08X\n", ds->partition_offset);
-                       diag_printf("Partition Type: 0x%08X\n", ds->partition_type);
-#endif
-               }
-
-               if (read_single_block(&cpar, ds->partition_offset * 512) < 0) {
-                       diag_printf("read single block command failed!\n");
-                       return;
-               }
-#if SDCARD_DEBUG
-               diag_printf("\n\nreading FAT boot record now:\n");
-               dump_buf(dbuffer, 512);
-#endif
-#if !FAT16_ONLY
-               if (dbuffer[0x36] =='F' &&
-                   dbuffer[0x37] == 'A' &&
-                   dbuffer[0x38] == 'T' &&
-                   dbuffer[0x39] == '1' &&
-                   (dbuffer[0x3A] == '2' || dbuffer[0x3A] == '6')) {
-                       if (dbuffer[0x3A] == '6') {
-#if SDCARD_DEBUG
-                               diag_printf("FAT16 found\n");
-#endif
-                               ds->fat16 = 1;
-                       } else {
-                               diag_printf("FAT12 found\n");
-                               ds->fat16 = 0;
-                       }
-               } else {
-                       diag_printf("no valid FAT entry found\n");
-                       while (1);
-               }
-#else
-               ds->fat16 = 1;
-#endif
-               ds->bytes_per_sector = dbuffer[0x0b] + (dbuffer[0x0c] << 8);
-               ds->sectors_per_cluster = dbuffer[0x0d];
-               ds->reserved_sectors = dbuffer[0x0e] + (dbuffer[0x0f] << 8);
-               ds->number_of_copies_of_fat = dbuffer[0x10];
-               ds->maximum_root_entries = dbuffer[0x11] + (dbuffer[0x12] << 8);
-               ds->sectors_per_fat = dbuffer[0x16] + (dbuffer[0x17] << 8);
-
-               ds->fat_start_block = ds->partition_offset + ds->reserved_sectors;
-               ds->root_dir_start_block = ds->fat_start_block + ds->sectors_per_fat * ds->number_of_copies_of_fat;
-               ds->data_area_start_block = ds->root_dir_start_block + ds->maximum_root_entries * 32 / ds->bytes_per_sector;
-               ds->number_of_files = 0;
-#if SDCARD_DEBUG
-               diag_printf("partition size is: .................... %lu blocks\n",
-                           ds->partition_size);
-               diag_printf("partition offset is: .................. %lu blocks\n",
-                           ds->partition_offset);
-
-               diag_printf("bytes per sector ...................... %d\n",
-                           ds->bytes_per_sector);
-               diag_printf("sectors per cluster ................... %d\n",
-                           ds->sectors_per_cluster);
-               diag_printf("reserved sectors found ................ %d\n",
-                           ds->reserved_sectors);
-               diag_printf("number of FAT copies .................. %d\n",
-                           ds->number_of_copies_of_fat);
-               diag_printf("maximum entries in root file system ... %d\n",
-                           ds->maximum_root_entries);
-               diag_printf("sectors per fat ....................... %d\n",
-                           ds->sectors_per_fat);
-
-               diag_printf("FAT starts at block ................... %lu\n",
-                           ds->fat_start_block);
-               diag_printf("Root DIR starts at block .............. %lu\n",
-                           ds->root_dir_start_block);
-               diag_printf("Data (Cluster 2) starts at block ...... %lu\n",
-                           ds->data_area_start_block);
-#endif
-               if (get_dir_data(ds, &cpar) < 0) {
-                       diag_printf("failed to read directory entries !\n");
-                       return;
-               }
-               diag_printf("\n\n%d files found in directory\n", ds->number_of_files);
-       }
-
-       if (filename_set) {
-               if (chk_sd_status(&cpar) < 0) {
-                       return;
-               }
-#if SDCARD_DEBUG
-               diag_printf("\n\nreading master boot record now\n");
-#endif
-               if (read_single_block(&cpar, 0) < 0) {
-                       diag_printf("read single block command failed!\n");
-                       return;
-               }
-#if SDCARD_DEBUG
-               diag_printf("\n\n");
-               dump_buf(dbuffer, 512);
-#endif
-               if (*(p16 + 255) != 0xaa55) {
-                       diag_printf("warning: no patition table found on drive\n");
-                       return;
-               }
-
-               //search for first FAT16 partition
-               valid_partition = 0;
-               for (i = 0; i < 4; i++) {
-                       ds->partition_size = dbuffer[446 + i * 16 + 12] + (dbuffer[446 + i * 16 + 13] << 8)
-                               + (dbuffer[446 + i * 16 + 14] << 16) + (dbuffer[446 + i * 16 + 15] << 24);
-
-                       ds->partition_offset = dbuffer[446 + i * 16 + 8] + (dbuffer[446 + i * 16 + 9] << 8)
-                               + (dbuffer[446 + i * 16 + 10] << 16) + (dbuffer[446 + i * 16 + 11] << 24);
-
-                       ds->partition_type = dbuffer[446 + i * 16 + 4];
-
-                       if ((ds->partition_type != 0x01 &&
-                            ds->partition_type != 0x04 &&
-                            ds->partition_type != 0x05 &&
-                            ds->partition_type != 0x06) ||
-                           ds->partition_size == 0 || ds->partition_offset == 0) {
-                               continue;
-                       } else {
-                               valid_partition = i + 1;
-                               break;
-                       }
-               }
-               if (!valid_partition) {
-                       diag_printf("warning, no valid partiton table found\n");
-                       ds->partition_offset = 0;
-               }
-               if (read_single_block(&cpar, ds->partition_offset * 512) < 0) {
-                       diag_printf("read single block command failed!\n");
-                       return;
-               }
-#if SDCARD_DEBUG
-               diag_printf("\n\nreading FAT boot record now:\n");
-               dump_buf(dbuffer, 512);
-#endif
-#if !FAT16_ONLY
-               if (dbuffer[0x36] == 'F' &&
-                   dbuffer[0x37] == 'A' &&
-                   dbuffer[0x38] == 'T' &&
-                   dbuffer[0x39] == '1' &&
-                   (dbuffer[0x3A] == '2' || dbuffer[0x3A] == '6')) {
-                       if (dbuffer[0x3A] == '6') {
-#if SDCARD_DEBUG
-                               diag_printf("FAT16 found\n");
-#endif
-                               ds->fat16 = 1;
-                       } else {
-                               diag_printf("FAT12 found\n");
-                               ds->fat16 = 0;
-                       }
-               } else {
-                       diag_printf("no valid FAT entry found\n");
-                       while (1);
-               }
-#else
-               ds->fat16 = 1;
-#endif
-               ds->bytes_per_sector = dbuffer[0x0b] + (dbuffer[0x0c] << 8);
-               ds->sectors_per_cluster = dbuffer[0x0d];
-               ds->reserved_sectors = dbuffer[0x0e] + (dbuffer[0x0f] << 8);
-               ds->number_of_copies_of_fat = dbuffer[0x10];
-               ds->maximum_root_entries = dbuffer[0x11] + (dbuffer[0x12] << 8);
-               ds->sectors_per_fat = dbuffer[0x16] + (dbuffer[0x17] << 8);
-
-               ds->fat_start_block = ds->partition_offset + ds->reserved_sectors;
-               ds->root_dir_start_block = ds->fat_start_block + ds->sectors_per_fat * ds->number_of_copies_of_fat;
-               ds->data_area_start_block = ds->root_dir_start_block + ds->maximum_root_entries * 32 / ds->bytes_per_sector;
-               ds->number_of_files = 0;
-#if SDCARD_DEBUG
-               diag_printf("partition size is: .................... %lu blocks\n",
-                           ds->partition_size);
-               diag_printf("partition offset is: .................. %lu blocks\n",
-                           ds->partition_offset);
-
-               diag_printf("bytes per sector ...................... %d\n",
-                           ds->bytes_per_sector);
-               diag_printf("sectors per cluster ................... %d\n",
-                           ds->sectors_per_cluster);
-               diag_printf("reserved sectors found ................ %d\n",
-                           ds->reserved_sectors);
-               diag_printf("number of FAT copies .................. %d\n",
-                           ds->number_of_copies_of_fat);
-               diag_printf("maximum entries in root file system ... %d\n",
-                           ds->maximum_root_entries);
-               diag_printf("sectors per fat ....................... %d\n",
-                           ds->sectors_per_fat);
-
-               diag_printf("FAT starts at block ................... %lu\n",
-                           ds->fat_start_block);
-               diag_printf("Root DIR starts at block .............. %lu\n",
-                           ds->root_dir_start_block);
-               diag_printf("Data (Cluster 2) starts at block ...... %lu\n",
-                           ds->data_area_start_block);
-#endif
-               if (get_dir_entry(&dentry, ds, &cpar, fn_buffer) < 0) {
-                       diag_printf("file %s not found !\n", dentry.dir_fname);
-                       return;
-               }
-
-               if (read_file(&dentry, ds, (unsigned long *)base_address, &cpar) < 0) {
-                       diag_printf("failed to read file %s\n", dentry.dir_fname);
-                       return;
-               }
-#ifdef CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT
-               if (!cpar.isWinceImage) {
-                       diag_printf("\n%s loaded       address: 0x%08X      size: %10lu bytes\n\n",
-                                   dentry.dir_fname, base_address, dentry.dir_fsize);
-               }
-#else
-               diag_printf("\n%s loaded       address: 0x%08X      size: %10lu bytes\n\n",
-                           dentry.dir_fname, base_address, dentry.dir_fsize);
-#endif
-               return;
-       }
-}
-
-int chk_sd_status(COMPAR *pp)
-{
-       unsigned char   rbuffer[32];
-#if SDCARD_DEBUG
-       int i;
-#endif
-
-       pp->command_number = SD_CMD13;
-       if (send_command(pp) < 0) {
-               diag_printf("initialising SD-Card interface\n");
-               if (init_sdcard(pp) < 0) {
-                       diag_printf("card initialisation failed !\n");
-                       return -1;
-               } else {
-                       return 0;
-               }
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from CMD13: ");
-       for (i = 0; i < 6; i++) {
-               diag_printf("%02X ", rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       if (rbuffer[3] != 0x09 && (rbuffer[2] & 0x01) != 0x00) {
-               diag_printf("warning, Card is not in the Transfer state as expected !\n");
-               diag_printf("initialising SD-Card interface\n");
-               if (init_sdcard(pp) < 0) {
-                       diag_printf("card initialisation failed !\n");
-                       return -1;
-               } else {
-                       return 0;
-               }
-       }
-       return 0;
-
-}
-
-int init_sdcard(COMPAR *pp)
-{
-       unsigned long   value;
-       int             timeout;
-       unsigned char   tbuffer[6];
-       unsigned short  newrca;
-       unsigned long   trans_speed;
-       unsigned long   read_bl_len;
-       unsigned long   c_size;
-       unsigned long   c_size_mult;
-       unsigned long   sector_size;
-       unsigned long   conbuf[3];
-       unsigned long   mult;
-       unsigned long   blen;
-       unsigned long   card_size;
-       unsigned long   trans_rate;
-       int             i;
-       unsigned long   trans_rate_exp[8] = {100, 1000, 10000, 100000, 0, 0, 0, 0};
-       unsigned short  time_mantissa[16] = {0, 10, 12, 13, 15, 20, 25, 30, 35, 40, 45, 50, 55, 60, 70, 80};
-
-       enable_sdcard_power();
-
-       pp->rca = 0;                    // relative card address
-
-       HAL_READ_UINT32(ICMR, value);
-       value &= (~0x00800000);
-       HAL_WRITE_UINT32(ICMR, value);  // mask interrupt source SD-card controller
-
-       HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_0M304);     // set clock rate to lowest rate first
-       HAL_WRITE_UINT32(MMCSPI, 0);    // do not use SPI mode
-       HAL_WRITE_UINT32(MMCRESTO, 0x7f); // set to maximum timeout
-       HAL_WRITE_UINT32(MMCBLKLEN, 512);
-       HAL_WRITE_UINT32(MMCNOB, 1);
-
-       // start the clock now
-       HAL_WRITE_UINT32(MMCSTRPCL, 2); // start MMCLK
-       HAL_READ_UINT32(MMCSTRPCL, value);
-       while (value & 2) {             // wait until clock is started
-               HAL_DELAY_US(1000);
-               HAL_READ_UINT32(MMCSTRPCL, value);
-       }
-       HAL_DELAY_US(100 * 1000);
-
-       pp->command_number = SD_CMD0;
-       if (send_command(pp) < 0) {
-               diag_printf("CMD0 failed, repeating command \n");
-               return -1;
-       }
-
-       timeout = 100;
-       pp->command_number = SD_ACMD41;
-       pp->command_parameter_high = 0x001f;    // 2,8V - 3,3V
-
-       while (timeout > 0) {
-               if (send_command(pp) < 0) {
-                       HAL_DELAY_US(1000);
-                       timeout--;
-                       continue;
-               }
-               if (!(pp->rbuffer[1] & 0x80)) {  // card not powered up
-                       HAL_DELAY_US(1000);
-                       timeout--;
-                       continue;
-               } else {
-                       break;
-               }
-       }
-       if (timeout == 0) {
-               diag_printf("failed to power up card, ACMD41 failed\n");
-               return -1;
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from ACMD41: ");
-       for (i = 0; i < 6; i++) {
-               diag_printf("%02X ", pp->rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       pp->command_number = SD_CMD2;
-       if (send_command(pp) < 0) {
-               diag_printf("CMD2 failed !!!\n");
-               return -1;
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from CMD2: ");
-       for (i = 0; i < 17; i++) {
-               diag_printf("%02X ", pp->rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       for (i = 0; i < 5; i++) {
-               tbuffer[i] = pp->rbuffer[i + 4];
-       }
-       tbuffer[5] = '\0';
-
-       diag_printf("found SD-Card: %s\n", tbuffer);
-
-       pp->command_number = SD_CMD3;
-       if (send_command(pp) < 0) {
-               diag_printf("CMD3 failed !!!\n");
-               return -1;
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from CMD3: ");
-       for (i = 0; i < 6; i++) {
-               diag_printf("%02X ", pp->rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       newrca = 0;
-       newrca = (pp->rbuffer[1] << 8) | pp->rbuffer[2];
-#if 1
-       diag_printf("new RCA is: %04X\n", newrca);
-#endif
-       pp->rca = newrca;                       // relative card address
-
-//////////////////////////////////////////////////////////////////////////////////
-// SEND_CSD Command
-//
-// get clock information of CSD register
-//
-//////////////////////////////////////////////////////////////////////////////////
-
-       pp->command_number = SD_CMD9;
-       if (send_command(pp) < 0) {
-               diag_printf("CMD9 (SEND_CSD) failed !!!\n");
-               return -1;
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from CMD9 (SEND_CSD): ");
-       for (i = 0; i < 17; i++) {
-               diag_printf("%02X ", pp->rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       trans_speed = pp->rbuffer[4];
-       read_bl_len = pp->rbuffer[6] & 0x0f;
-       conbuf[0] = (unsigned long)(pp->rbuffer[9] & 0xc0);
-       conbuf[1] = (unsigned long)(pp->rbuffer[8] & 0xff);
-       conbuf[2] = (unsigned long)(pp->rbuffer[7] & 0x03);
-       c_size = (conbuf[0] >> 6) | (conbuf[1] << 2)  | (conbuf[2] << 10);
-       conbuf[0] = (pp->rbuffer[11] & 0x80);
-       conbuf[1] = (pp->rbuffer[10] & 0x03);
-       c_size_mult = conbuf[0] >> 7 | conbuf[1] << 1;
-       conbuf[0] = (pp->rbuffer[12] & 0x80);
-       conbuf[1] = (pp->rbuffer[11] & 0x3f);
-       sector_size = conbuf[0] >> 7 | conbuf[1] << 1;
-
-       for (i = 0, mult = 4; i < c_size_mult; i++)
-               mult *= 2;
-
-       for (i = 0, blen = 1; i < read_bl_len; i++)
-               blen *= 2;
-
-       card_size = (c_size + 1) * mult * blen;
-       diag_printf("total card capacity is %lu.%03lu MBytes\n",
-                   card_size / 1024 / 1024, card_size / 1024 % 1024);
-
-       conbuf[0] = (unsigned long)trans_speed & 0x07;
-       conbuf[1] = ((unsigned long)(trans_speed & 0x78)) >> 3;
-
-       trans_rate = time_mantissa[conbuf[1]] * trans_rate_exp[conbuf[0]] / 10; // in kbit/sec
-
-       diag_printf("transfer rate of card is %lu kbit/sec\n", trans_rate);
-
-       if (trans_rate >= 19500) {
-               diag_printf("set interface clock rate to 19,5 MHz\n\n");
-               HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_19M5);
-       } else if (trans_rate >= 9750) {
-               diag_printf("set interface clock rate to 9,75 MHz\n\n");
-               HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_9M75);
-       } else if (trans_rate >= 4880) {
-               diag_printf("set interface clock rate to 4,88 MHz\n\n");
-               HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_4M88);
-       } else if (trans_rate >= 2440) {
-               diag_printf("set interface clock rate to 2,44 MHz\n\n");
-               HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_2M44);
-       } else if (trans_rate >= 1220) {
-               diag_printf("set interface clock rate to 1,22 MHz\n\n");
-               HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_1M22);
-       } else if (trans_rate >= 609) {
-               diag_printf("set interface clock rate to 609 kHz\n\n");
-               HAL_WRITE_UINT32(MMCCLKRT, MMCCLKRT_0M609);
-       }
-/////////////////////////////////////////////////////////////////////////////////
-       pp->command_number = SD_CMD7;
-       if (send_command(pp) < 0) {
-               diag_printf("CMD7 failed !!!\n");
-               return -1;
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from CMD7: ");
-       for (i = 0; i < 6; i++) {
-               diag_printf("%02X ", pp->rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       pp->command_number = SD_CMD13;
-       if (send_command(pp) < 0) {
-               diag_printf("CMD13 failed !!!\n");
-               return -1;
-       }
-#if SDCARD_DEBUG
-       diag_printf("Response got from CMD13: ");
-       for (i = 0; i < 6; i++) {
-               diag_printf("%02X ", pp->rbuffer[i]);
-       }
-       diag_printf("\n\n\n");
-#endif
-       if (pp->rbuffer[3] != 0x09 && (pp->rbuffer[2] & 0x01) != 0x00) {
-               diag_printf("error, Card is not in the Transfer state as expected !\n");
-               return -1;
-       }
-
-       pp->command_number = SD_ACMD6;
-       if (send_command(pp) < 0) {
-               diag_printf("ACMD6 failed !!!\n");
-               return -1;
-       }
-
-       return 1;
-
-}
-
-int send_command(COMPAR *pp)
-{
-       unsigned long cvalue;
-       int i;
-       unsigned short val;
-       unsigned char   *cp;
-       unsigned char   cnumber;
-
-       //diag_printf("processing CMD: %d\n", pp->command_number);
-       cnumber = pp->command_number;
-       switch (pp->command_number) {
-               case SD_CMD0:
-                       pp->command_parameter_low = 0;  // stuff bits
-                       pp->command_parameter_high = 0; // RCA Relative Card Address;
-                       pp->res_type = CMD_RES_TYPE_NORESP;
-                       pp->data_en = 0;
-                       pp->dma_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD2:
-                       pp->command_parameter_low = 0;
-                       pp->command_parameter_high = 0;
-                       pp->res_type = CMD_RES_TYPE_R2;
-                       pp->data_en = 0;
-                       pp->dma_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD3:
-                       pp->command_parameter_low = 0;  // stuff bits
-                       pp->command_parameter_high = 0; // stuff bits
-                       pp->res_type = CMD_RES_TYPE_R6;
-                       pp->data_en = 0;
-                       pp->dma_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD7:
-                       pp->command_parameter_low = 0;
-                       pp->command_parameter_high = pp->rca;
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD9:           // SEND_CSD
-                       pp->command_parameter_low = 0;
-                       pp->command_parameter_high = pp->rca;
-                       pp->res_type = CMD_RES_TYPE_R2;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD12:          // Stop Transmission
-                       pp->command_parameter_low = 0;
-                       pp->command_parameter_high = 0;
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD13:
-                       pp->command_parameter_low = 0;
-                       pp->command_parameter_high = pp->rca;
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-               case SD_CMD17:          // READ_SINGLE_BLOCK
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 1;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       break;
-
-               case SD_ACMD6:
-                       // we issue a CMD 55 first.
-                       pp->command_parameter_low = 0;  // stuff bits
-                       pp->command_parameter_high = 0; // RCA Relative Card Address;
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       HAL_WRITE_UINT32(MMCCMD, 55);   // command number
-                       HAL_WRITE_UINT32(MMCARGH, pp->rca);
-                       HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);
-
-                       cvalue = cmd_value(pp);
-                       HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-                       if (wait4cmd_end() < 0) {
-                               diag_printf("CMD55 failed !!!\n");
-                               return -1;
-                       }
-
-                       // issue CMD 6 now
-                       pp->command_parameter_low = 2;  // 4 Bit Bus width
-                       pp->command_parameter_high = 0;
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 1;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       cnumber = 6;
-                       break;
-
-               case SD_ACMD41:
-                       // we issue a CMD 55 first.
-                       pp->command_parameter_low = 0;  // stuff bits
-                       pp->command_parameter_high = 0; // RCA Relative Card Address;
-                       pp->res_type = CMD_RES_TYPE_R1;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 0;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       HAL_WRITE_UINT32(MMCCMD, 55);   // command number
-                       HAL_WRITE_UINT32(MMCARGH, pp->rca);
-                       HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);
-
-                       cvalue = cmd_value(pp);
-                       HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-                       if (wait4cmd_end() < 0) {
-                               diag_printf("CMD55 failed !!!\n");
-                               return -1;
-                       }
-
-                       // issue CMD 41 now
-                       pp->command_parameter_low = 0;
-                       pp->command_parameter_high = 0x001f;    // 2,8V - 3,3V
-                       pp->res_type = CMD_RES_TYPE_R3;
-                       pp->dma_en = 0;
-                       pp->data_en = 0;
-                       pp->data_write = 0;
-                       pp->stream_blk = 0;
-                       pp->busy = 1;
-                       pp->init = 0;
-                       pp->sd_4dat = 1;
-                       cnumber = 41;
-                       break;
-               default:
-#if SDCARD_DEBUG
-                       diag_printf("found unsupported command: %d\n", pp->command_number);
-#else
-                       diag_printf("found unsupported command\n\n");
-#endif
-                       return -1;
-       }
-
-       HAL_WRITE_UINT32(MMCCMD, pp->command_number);   // command number
-       HAL_WRITE_UINT32(MMCARGH, pp->command_parameter_high);  // command parameter upper 16 bits
-       HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);   // command parameter lower 16 bits
-
-       cvalue = cmd_value(pp);
-       //diag_printf("writing into command register: 0x%08X\n", cvalue);
-       HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-
-       if (wait4cmd_end() < 0) {
-               return -1;
-       }
-
-       if (pp->res_type == CMD_RES_TYPE_NORESP) {
-               return 0;
-       }
-
-       cp = pp->rbuffer;
-       if (pp->res_type == CMD_RES_TYPE_R2) {
-               for (i = 0; i < 17 / 2; i++) {
-                       HAL_READ_UINT16(MMCRES, val);
-                       *(cp++) = (unsigned char)((val >> 8) & 0xff);
-                       *(cp++) = (unsigned char)(val & 0xff);
-               }
-       } else {
-               for (i = 0; i < 6 / 2; i++) {
-                       HAL_READ_UINT16(MMCRES, val);
-                       *(cp++) = (unsigned char)((val >> 8) & 0xff);
-                       *(cp++) = (unsigned char)(val & 0xff);
-               }
-       }
-       return 0;
-}
-
-int wait4cmd_end(void)
-{
-       int timeout;
-       unsigned long cvalue;
-       unsigned long val;
-
-       timeout = 1000;
-       HAL_READ_UINT32(MMCSTAT, val);
-       while (!(val & MMCSTAT_END_CMD_RES)) {
-               HAL_DELAY_US(1000);
-               timeout--;
-               if (timeout <= 0){
-                       break;
-               }
-               HAL_READ_UINT32(MMCSTAT, val);
-       }
-       if (timeout <= 0) {
-               diag_printf("Command timed out, no response from card controller\n");
-               //HAL_READ_UINT32(MMCSTAT, val);
-               //diag_printf("Status register: 0x%08X\n", val);
-               return -1;
-       }
-
-       HAL_READ_UINT32(MMCSTAT, cvalue);
-
-       if (cvalue & MMCSTAT_TIME_OUT_RES) {
-               diag_printf("Command Response Time Out Error\n");
-               return -1;
-       }
-
-       if (cvalue & MMCSTAT_RES_CRC_ERR) {
-               diag_printf("Response CRC Error occured\n");
-               return -1;
-       }
-       return 0;
-}
-
-#if DMA_ACCESS                 // DMA Version
-int read_single_block(COMPAR *pp, unsigned long address)
-{
-       unsigned long val, cvalue;
-
-       HAL_DCACHE_SYNC();
-       HAL_WRITE_UINT32(MMCNOB, 1);
-
-       HAL_WRITE_UINT32(DCSR8, 0x40000000);    // set DMA channel to no descriptor fetch mode
-
-       HAL_WRITE_UINT32(DSADR8, 0x41100040);   // SDCARD FIFO
-       HAL_WRITE_UINT32(DTADR8, (unsigned long)pp->dbuffer); // target address
-       HAL_WRITE_UINT32(DCMD8, 0x60034200);    // command
-       HAL_WRITE_UINT32(DCSR8, 0xc0000000);    // run channel
-
-       pp->command_parameter_low = address & 0xffff;
-       pp->command_parameter_high = (address & 0xffff0000) >> 16;
-
-       pp->command_number = SD_CMD17;
-       pp->res_type = CMD_RES_TYPE_R1;
-       pp->data_en = 1;
-       pp->dma_en = 1;
-       pp->data_write = 0;
-       pp->stream_blk = 0;
-       pp->busy = 0;
-       pp->init = 0;
-       pp->sd_4dat = 1;
-
-       HAL_WRITE_UINT32(MMCCMD, pp->command_number);           // command number
-       HAL_WRITE_UINT32(MMCARGH, pp->command_parameter_high);  // command parameter upper 16 bits
-       HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);   // command parameter lower 16 bits
-
-       cvalue = cmd_value(pp);
-       HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-
-       HAL_READ_UINT32(DCMD8, val);            // command
-       while (val & 0x1fff) {
-               HAL_READ_UINT32(DCMD8, val);
-       }
-
-       HAL_WRITE_UINT32(DCSR8, 0x40000000);    // set DMA channel to no descriptor fetch mode
-#if 0
-       HAL_READ_UINT32(MMCIREG, val);
-       while (!(val & 0x1)) {  // wait for DATA_TRANS_DONE
-
-               HAL_READ_UINT32(MMCIREG, val);
-       }
-#endif
-       //dump_buf((unsigned char *)pp->dbuffer, 512);
-
-       if (wait4cmd_end() < 0) {
-               diag_printf("read single block command timed out !!!!");
-               return -1;
-       }
-#if 0
-       HAL_READ_UINT32(DSADR8, val);
-       diag_printf("DMA source address: 0x%08X\n", val);
-       HAL_READ_UINT32(DTADR8, val);   // target address
-       diag_printf("DMA target address: 0x%08X\n", val);
-
-       HAL_READ_UINT32(DCMD8, val);    // command
-       diag_printf("DMA command register: 0x%08X\n", val);
-
-       HAL_READ_UINT32(DCSR8, val);
-       diag_printf("DMA status register: 0x%08X\n", val);
-#endif
-       return 0;
-
-}
-#else          // no DMA
-int read_single_block(COMPAR *pp, unsigned long address)
-{
-       int length;
-       int i;
-       int bp;
-       unsigned long val, cvalue;
-       unsigned char val8;
-       unsigned long   *bap;
-
-       HAL_WRITE_UINT32(MMCNOB, 1);
-
-       bap = (unsigned long *)pp->dbuffer;
-
-       pp->command_parameter_low = address & 0xffff;
-       pp->command_parameter_high = (address & 0xffff0000) >> 16;
-
-       pp->command_number = SD_CMD17;
-       pp->res_type = CMD_RES_TYPE_R1;
-       pp->data_en = 1;
-       pp->dma_en = 0;
-       pp->data_write = 0;
-       pp->stream_blk = 0;
-       pp->busy = 0;
-       pp->init = 0;
-       pp->sd_4dat = 1;
-
-       HAL_WRITE_UINT32(MMCCMD, pp->command_number);   // command number
-       HAL_WRITE_UINT32(MMCARGH, pp->command_parameter_high);  // command parameter upper 16 bits
-       HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);   // command parameter lower 16 bits
-
-       cvalue = cmd_value(pp);
-       HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-
-       length = 512;
-       bp = 0;
-
-       while (length > 0) {
-               HAL_READ_UINT32(MMCIREG, val);
-               while (!(val & 0x20)) { // wait for RXFIFO_RD_REQ
-                       //HAL_DELAY_US(100);
-
-                       HAL_READ_UINT32(MMCIREG, val);
-               }
-#if 0
-               for (i = 0; i < 32; i++) {
-                       HAL_READ_UINT8(MMCRXFIFO, val8);
-                       pp->dbuffer[bp++] = val8;
-               }
-#else
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-               *(bap++) = *(unsigned long *)MMCRXFIFO;
-#endif
-               length -=32;
-       }
-       if (wait4cmd_end() < 0) {
-               diag_printf("read single block command timed out !!!!");
-               return -1;
-       }
-
-       return 0;
-
-}
-#endif
-
-#if 1
-void dump_buf(unsigned char *address, u16 length)
-{
-       u16 lines = length / 16;
-       u16 rest = length % 16;
-       int i, j;
-
-       for (i = 0; i < lines; i++) {
-               for (j = 0; j < 16; j++)
-                       diag_printf("%02X ", address[i * 16 + j]);
-               diag_printf("     ");
-               for (j = 0; j < 16; j++) {
-                       if (isprint(address[i * 16 + j])) {
-                               diag_printf("%c", address[i * 16 + j]);
-                       }
-                       else {
-                               diag_printf(".");
-                       }
-               }
-               diag_printf("\n");
-       }
-
-       // behandle Restzeile
-       for (j = 0; j < rest; j++)
-               diag_printf("%02X ", address[i * 16 + j]);
-       diag_printf("     ");
-       for (j = 0; j < 16 - rest; j++)
-               diag_printf("   ");
-       for (j = 0; j < rest; j++) {
-               if (isprint(address[i * 16 + j])) {
-                       diag_printf("%c", address[i * 16 + j]);
-               }
-               else {
-                       diag_printf(".");
-               }
-       }
-
-       diag_printf("\n");
-
-}
-#endif
-
-int get_dir_data(drive_spec *ds, COMPAR *pp)
-{
-       u32             actual_block;
-       u32             block_needed;
-       u32             entry_offset;
-       int             i, j, k;
-       unsigned char   *buffer;
-       dir_data        dentry;
-
-       k = 0;
-       actual_block = 0;
-       ds->number_of_files = 0;
-       buffer = pp->dbuffer;
-
-       for (i = 0; i < ds->maximum_root_entries; i++) {
-               block_needed = ds->root_dir_start_block + i * 32 / ds->bytes_per_sector;
-               if (actual_block != block_needed) {
-                       if (read_single_block(pp, block_needed * 512) < 0) {
-                               diag_printf("read single block command failed!\n");
-                               return -1;
-                       }
-
-                       actual_block = block_needed;
-               }
-               entry_offset = (i * 32) % ds->bytes_per_sector;
-               if (               buffer[entry_offset] == 0x00 || buffer[entry_offset] == 0x05
-                               || buffer[entry_offset] == 0x2e || buffer[entry_offset] == 0xe5)
-                               continue;
-               if (buffer[entry_offset + 0x0b] & 0x1e)
-                       continue;               // hidden system or label
-
-               // copy filename
-               for (j = 0;j < 8;j++)
-                       if (buffer[entry_offset + j] > 0x40 && buffer[entry_offset + j] < 0x5b)
-                               (dentry.dir_fname)[j] = buffer[entry_offset + j] + 0x20;
-                       else
-                               (dentry.dir_fname)[j] = buffer[entry_offset + j];
-
-               for (j = 0;j < 3;j++)
-                       if (buffer[entry_offset + j + 8] > 0x40 && buffer[entry_offset + j + 8] < 0x5b)
-                               (dentry.dir_fname)[j + 9] = buffer[entry_offset + j + 8] + 0x20;
-                       else
-                               (dentry.dir_fname)[j + 9] = buffer[entry_offset + j + 8];
-
-               dentry.dir_fname[8] = '.';
-               dentry.dir_fname[12] = '\0';
-               kill_space(dentry.dir_fname);
-
-               dentry.dir_year = ((buffer[entry_offset + 0x19] & 0xfe) >> 1) + 1980;
-               dentry.dir_month = ((buffer[entry_offset + 0x18] & 0xe0) >> 5) + (buffer[entry_offset + 0x19] & 0x01) * 8;
-               dentry.dir_day = (buffer[entry_offset + 0x18] & 0x1f);
-
-               dentry.dir_second = (buffer[entry_offset + 0x16] & 0x1f);
-               dentry.dir_minute = ((buffer[entry_offset + 0x16] & 0xe0) >> 5) + (buffer[entry_offset + 0x17] & 0x07) * 8;
-               dentry.dir_hour = (buffer[entry_offset + 0x17] & 0xf1) >> 3;
-
-               dentry.dir_start_cluster =buffer[entry_offset + 0x1a] + ((buffer[entry_offset + 0x1b]) << 8);
-               dentry.dir_fsize = ((buffer[entry_offset + 0x1c]) << 0)
-                                                               + ((buffer[entry_offset + 0x1d]) << 8)
-                                                               + ((buffer[entry_offset + 0x1e]) << 16)
-                                                               + ((buffer[entry_offset + 0x1f]) << 24);
-
-               ds->number_of_files++;
-               dump_dir(&dentry, ds);
-       }
-       return 0;
-}
-
-void dump_dir(dir_data *dird, drive_spec *ds)
-{
-       int j;
-
-       diag_printf("%2d: %s", ds->number_of_files, (dird)->dir_fname);
-       for (j = 0; j < 15 - strlen((dird)->dir_fname); j++) {
-               diag_printf(" ");
-       }
-       diag_printf("%02d.%02d.%04d    %02d:%02d:%02d    size: %10lu bytes   start cluster: %6u\n",
-               (dird)->dir_day,
-               (dird)->dir_month,
-               (dird)->dir_year,
-               (dird)->dir_hour,
-               (dird)->dir_minute,
-               (dird)->dir_second,
-               (dird)->dir_fsize,
-               (dird)->dir_start_cluster);
-}
-
-int get_next_cluster(dir_data *dird, drive_spec *ds,  COMPAR *pp, unsigned short last_cluster)
-{
-       u16             cluster;
-       u32             block;
-       static u16      fat[256];
-       static u32      actual_fat_block = 0;
-       u32             fat_block_needed;
-       u16             fat_entry;
-       u16             fvalue;
-
-       // find next block in fat
-       fat_block_needed = ds->fat_start_block + last_cluster * 2 / ds->bytes_per_sector;
-       fat_entry = (last_cluster * 2) % ds->bytes_per_sector;   // this is the offset to the sector start
-       if (actual_fat_block != fat_block_needed) {
-#if SDCARD_DEBUG
-               diag_printf("loading fat block %lu\n", fat_block_needed);
-#endif
-               pp->dbuffer = (unsigned char *)fat;
-               if (read_single_block(pp, fat_block_needed * 512) < 0) {
-                       diag_printf("read single block command failed!\n");
-                       return -1;
-               }
-
-               actual_fat_block = fat_block_needed;
-#if SDCARD_DEBUG
-               dump_buf((u8 *)fat, 512);
-#endif
-       }
-
-       fvalue = fat[fat_entry / 2];
-#if SDCARD_DEBUG
-       diag_printf("cluster is %d\n", cluster);
-
-       diag_printf("fat contents of entry %d is: %d\n", fat_entry, fvalue);
-       diag_printf("length = %lu \n", length);
-#endif
-       if (!fvalue) {
-               diag_printf("unexpected NULL pointer in FAT\n");
-               return -1;
-       }
-       if ((fvalue & 0xfff0) == 0xfff0) {
-               //diag_printf("end of file found in FAT\n");
-               return 0;
-       }
-       cluster = fvalue;
-       return (int)cluster;
-
-       block = (cluster - 2) * ds->sectors_per_cluster + ds->data_area_start_block;
-
-}
-
-int read_file(dir_data *dird, drive_spec *ds, unsigned long *address, COMPAR *pp)
-{
-       u32     length;
-       u32     block;
-       u32     *daddr;
-       u16     fat[256];
-       u32     actual_fat_block;
-       u8      *bp;
-       int     new_cluster;
-       u32     clusters;
-       u32     max_clusters;
-       u16     start_cluster;                  // first cluster of multiple block region
-       int     got_eof;
-#ifdef CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT
-       u8      blockBuffer[512];
-
-       // Read the first block to determine if we are about
-       // to load Wince .BIN image
-
-       pp->isWinceImage = 0;
-       pp->dbuffer = blockBuffer;
-       block = (dird->dir_start_cluster - 2) * ds->sectors_per_cluster + ds->data_area_start_block;
-
-       if (read_single_block(pp, block * 512) < 0) {
-               diag_printf("failed to read the first data block!\n");
-               return -1;
-       }
-
-       // Check signature
-
-       if (ce_is_bin_image((void*)blockBuffer, 512)) {
-               // Wince image, setup the .BIN parser.
-               pp->isWinceImage = 1;
-               ce_bin_init_parser();
-       } else {
-               pp->isWinceImage = 0;
-       }
-#endif
-       max_clusters = 1020 / ds->sectors_per_cluster;
-       got_eof = 0;
-
-       bp = (u8 *)fat;
-
-       actual_fat_block = 0;   //no fat block is loaded already
-       daddr = address;
-       start_cluster = dird->dir_start_cluster;
-       length = dird->dir_fsize;
-       block = (start_cluster - 2) * ds->sectors_per_cluster + ds->data_area_start_block;
-       //diag_printf("Sektors per Cluster: %d\n", ds->sectors_per_cluster);
-
-       while (length > 0) {
-               u16     last_cluster = start_cluster;   // last cluster of multiple block region
-
-               clusters = 1;
-
-               if (length > (ds->bytes_per_sector * ds->sectors_per_cluster)) {
-                       length -= (ds->bytes_per_sector * ds->sectors_per_cluster);
-               } else {
-                       length = 0;
-               }
-
-               while (clusters < max_clusters) {
-                       new_cluster = get_next_cluster(dird, ds,  pp, last_cluster);
-                       if (new_cluster < 0) {
-                               diag_printf("error !!!!\n");
-                               return -1;
-                       }
-                       if (new_cluster == 0) {
-                               //diag_printf("EOF number of clusters is %d !!!!\n", clusters);
-                               got_eof = 1;
-                               break;
-                       }
-                       if ((new_cluster - last_cluster) == 1) {
-                               last_cluster = (u16)new_cluster;
-                               //diag_printf("%d: cluster number %d found\n", clusters, last_cluster);
-                               clusters++;
-                               if (length > (ds->bytes_per_sector * ds->sectors_per_cluster)) {
-                                       length -= (ds->bytes_per_sector * ds->sectors_per_cluster);
-                               }
-                               else {
-                                       length = 0;
-                               }
-                       } else {
-                               break;
-                       }
-               }
-#if SDCARD_DEBUG
-               diag_printf("start cluster is: %d \n", start_cluster);
-               diag_printf("last cluster is:  %d \n", last_cluster);
-               diag_printf("number of clusters are: %d\n", last_cluster - start_cluster + 1);
-               diag_printf("length is: %d\n", length);
-#endif
-               if (got_eof && (length != 0)) {
-                       diag_printf("found unexpected EOF!\n");
-                       return -1;
-               }
-
-               block = (start_cluster - 2) * ds->sectors_per_cluster + ds->data_area_start_block;
-               pp->dbuffer = (unsigned char *)daddr;
-
-               if (read_multiple_block(pp, block * 512, ds->sectors_per_cluster * 
-                                       (last_cluster - start_cluster + 1)) < 0) {
-                       diag_printf("read multiple block command failed!\n");
-                       return -1;
-               }
-               daddr += (ds->bytes_per_sector / 4 * ds->sectors_per_cluster *
-                         (last_cluster - start_cluster + 1));
-
-               start_cluster = get_next_cluster(dird, ds,  pp, last_cluster);
-       }
-
-       return 0;
-
-}
-
-int read_file_old(dir_data *dird, drive_spec *ds, unsigned long *address, COMPAR *pp)
-{
-       u16     cluster;
-       u32     length;
-       u32     block;
-       u32     *daddr;
-       u16     fat[256];
-       u32     actual_fat_block;
-       u32     fat_block_needed;
-       u16     fat_entry;
-       u16     fvalue;
-
-       actual_fat_block = 0;   //no fat block is loaded already
-       daddr = address;
-       cluster = dird->dir_start_cluster;
-       length = dird->dir_fsize;
-       block = (cluster - 2) * ds->sectors_per_cluster + ds->data_area_start_block;
-
-       diag_printf("Sektors per Cluster: %d\n", ds->sectors_per_cluster);
-
-       while (length > 0) {
-#if 0
-               for (s = 0; s < ds->sectors_per_cluster; s++) {
-                       if (length == 0)
-                               break;
-
-                       pp->dbuffer = (unsigned char *)daddr;
-                       if (read_single_block(pp, block * 512) < 0) {
-                               diag_printf("read single block command failed!\n");
-                               return -1;
-                       }
-#if SDCARD_DEBUG
-                       diag_printf("loading block: %d\n", block);
-#endif
-                       block++;
-                       daddr += ds->bytes_per_sector / 4;
-                       if (length > ds->bytes_per_sector) {
-                               length -= ds->bytes_per_sector;
-                       } else {
-                               length = 0;
-                       }
-#if SDCARD_DEBUG
-                       diag_printf("new length is: %lu    \n", length);
-#endif
-               }
-#else
-               pp->dbuffer = (unsigned char *)daddr;
-               if (read_multiple_block(pp, block * 512, ds->sectors_per_cluster) < 0) {
-                       diag_printf("read multiple block command failed!\n");
-                       return -1;
-               }
-
-               block += ds->sectors_per_cluster;
-               daddr += (ds->bytes_per_sector / 4 * ds->sectors_per_cluster);
-               if (length > (ds->bytes_per_sector * ds->sectors_per_cluster)) {
-                       length -= (ds->bytes_per_sector * ds->sectors_per_cluster);
-               } else {
-                       length = 0;
-               }
-#if SDCARD_DEBUG
-               diag_printf("new length is: %lu    \n", length);
-#endif
-#endif
-               if (!length) {                  // all data loaded
-                       return 0;
-               }
-
-               // find next block in fat
-               fat_block_needed = ds->fat_start_block + cluster * 2 / ds->bytes_per_sector;
-               fat_entry = (cluster * 2) % ds->bytes_per_sector;   // this is the offset to the sector start
-               if (actual_fat_block != fat_block_needed) {
-#if SDCARD_DEBUG
-                       diag_printf("loading fat block %lu\n", fat_block_needed);
-#endif
-                       pp->dbuffer = (unsigned char *)fat;
-                       if (read_single_block(pp, fat_block_needed * 512) < 0) {
-                               diag_printf("read single block command failed!\n");
-                               return -1;
-                       }
-
-                       actual_fat_block = fat_block_needed;
-#if SDCARD_DEBUG
-                       dump_buf((u8 *)fat, 512);
-#endif
-               }
-
-               fvalue = fat[fat_entry / 2];
-#if SDCARD_DEBUG
-               diag_printf("cluster is %d\n", cluster);
-
-               diag_printf("fat contents of entry %d is: %d\n", fat_entry, fvalue);
-               diag_printf("length = %lu \n", length);
-#endif
-               if (!fvalue) {
-                       diag_printf("unexpected NULL pointer in FAT\n");
-                       return -1;
-               }
-               if ((fvalue & 0xfff0) == 0xfff0) {
-                       diag_printf("unexpected end of file or reserved cluster found in FAT\n");
-                       return -1;
-               }
-               cluster = fvalue;
-               block = (cluster - 2) * ds->sectors_per_cluster + ds->data_area_start_block;
-       }
-
-       return 0;
-}
-
-int get_dir_entry(dir_data *dentry, drive_spec *ds, COMPAR *pp, unsigned char *filename)
-{
-       u32             actual_block;
-       u32             block_needed;
-       u32             entry_offset;
-       int             i, j, k;
-       unsigned char   *buffer;
-       unsigned char   *cp;
-       int             fnlength;
-
-       cp = filename;
-       fnlength = 0;
-
-       while (*(cp++) != '\0') {
-               fnlength++;
-       }
-       //diag_printf("filename length is %d\n", fnlength);
-
-       k = 0;
-       actual_block = 0;
-       ds->number_of_files = 0;
-       buffer = pp->dbuffer;
-
-       for (i = 0; i < ds->maximum_root_entries; i++) {
-               block_needed = ds->root_dir_start_block + i * 32 / ds->bytes_per_sector;
-               if (actual_block != block_needed) {
-                       if (read_single_block(pp, block_needed * 512) < 0) {
-                               diag_printf("read single block command failed!\n");
-                               return -1;
-                       }
-
-                       actual_block = block_needed;
-               }
-               entry_offset = (i * 32) % ds->bytes_per_sector;
-               if (buffer[entry_offset] == 0x00 ||
-                   buffer[entry_offset] == 0x05 ||
-                   buffer[entry_offset] == 0x2e ||
-                   buffer[entry_offset] == 0xe5) {
-                       continue;
-               }
-               if (buffer[entry_offset + 0x0b] & 0x1e) {
-                       continue;               // hidden system or label
-               }
-               // copy filename
-               for (j = 0;j < 8;j++)
-                       if (buffer[entry_offset + j] > 0x40 && buffer[entry_offset + j] < 0x5b)
-                               (dentry->dir_fname)[j] = buffer[entry_offset + j] + 0x20;
-                       else
-                               (dentry->dir_fname)[j] = buffer[entry_offset + j];
-
-               for (j = 0;j < 3;j++)
-                       if (buffer[entry_offset + j + 8] > 0x40 && buffer[entry_offset + j + 8] < 0x5b)
-                               (dentry->dir_fname)[j + 9] = buffer[entry_offset + j + 8] + 0x20;
-                       else
-                               (dentry->dir_fname)[j + 9] = buffer[entry_offset + j + 8];
-
-               dentry->dir_fname[8] = '.';
-               dentry->dir_fname[12] = '\0';
-               kill_space(dentry->dir_fname);
-
-               dentry->dir_year = ((buffer[entry_offset + 0x19] & 0xfe) >> 1) + 1980;
-               dentry->dir_month = ((buffer[entry_offset + 0x18] & 0xe0) >> 5) + (buffer[entry_offset + 0x19] & 0x01) * 8;
-               dentry->dir_day = (buffer[entry_offset + 0x18] & 0x1f);
-
-               dentry->dir_second = (buffer[entry_offset + 0x16] & 0x1f);
-               dentry->dir_minute = ((buffer[entry_offset + 0x16] & 0xe0) >> 5) + (buffer[entry_offset + 0x17] & 0x07) * 8;
-               dentry->dir_hour = (buffer[entry_offset + 0x17] & 0xf1) >> 3;
-
-               dentry->dir_start_cluster = buffer[entry_offset + 0x1a] + ((buffer[entry_offset + 0x1b]) << 8);
-               dentry->dir_fsize = ((buffer[entry_offset + 0x1c]) << 0)
-                       + ((buffer[entry_offset + 0x1d]) << 8)
-                       + ((buffer[entry_offset + 0x1e]) << 16)
-                       + ((buffer[entry_offset + 0x1f]) << 24);
-
-               // compare filename
-               cp = filename;
-               for (k = 0; k < fnlength; k++) {
-                       if (*(cp++) != dentry->dir_fname[k]) {
-                               break;
-                       }
-               }
-               //diag_printf("k= %d \n", k);
-               if (k == fnlength) {
-#if SDCARD_DEBUG
-                       diag_printf("file found !!!\n");
-                       dump_dir(&dentry, ds);
-#endif
-                       return 0;
-               }
-               ds->number_of_files++;
-       }
-       return -1;
-}
-
-int isprint(int character)
-{
-       unsigned char a;
-
-       a = (unsigned char)(character & 0xff);
-
-       if (a > 0x1f && a < 0x7f)
-               return 1;
-       else
-               return 0;
-}
-
-void kill_space(char *string)
-{
-       int i = 0;
-       int j;
-
-       while (string[i] != '\0') {
-               if (string[i] == ' ') {
-                       j = i;
-                       while (string[j] != '\0') {
-                               string[j] = string[j + 1];
-                               j++;
-                       }
-               } else {
-                       i++;
-               }
-       }
-}
-
-int read_multiple_block(COMPAR *pp, unsigned long address, unsigned long blocks)
-{
-       static unsigned long __attribute__ ((aligned (32))) dma_desc[64][4];
-       unsigned long val, cvalue, length, last_size, dma_buffer;
-       int i;
-       unsigned long   cebuffer[1024];
-       int             bi;
-       unsigned long   *bap;
-
-       //HAL_WRITE_UINT32(GPSRa, 0x800);
-       //HAL_WRITE_UINT32(GPCRa, 0x800);
-
-       if (!pp->isWinceImage) {        // use chained descriptor list dma
-               dma_buffer = (unsigned long)pp->dbuffer;
-
-               length = blocks * 512;
-
-               i = 0;
-               while (length > 0) {
-                       if (i > 63) {
-                               diag_printf("descriptor overrun!!!\n");
-                               return -1;
-                       }
-
-                       dma_desc[i][0] = (unsigned long)&dma_desc[i + 1][0];
-                       dma_desc[i][1] = 0x41100040;    // source address is SDCARD FIFO
-                       dma_desc[i][2] = dma_buffer;    // target address
-                       val = 0x60034000;
-                       if (length >= 8160) {
-                               last_size = 8160;
-                               dma_desc[i][3] = val | 8160;    // command
-                               //diag_printf("descriptor %d: DMA length set to %d bytes\n", i, last_size);
-                       } else {
-                               last_size = length;
-                               dma_desc[i][3] = val | length;  // command
-                               //diag_printf("descriptor %d: DMA length set to %d bytes\n", i, last_size);
-                       }
-                       dma_buffer += last_size;
-                       length -= last_size;
-                       if (length == 0) {
-                               dma_desc[i][0] |= 1;            // set stop bit
-                       }
-                       i++;
-               }
-
-               HAL_DCACHE_SYNC();
-
-               //diag_printf("descriptor start is 0x%08X\n", (unsigned long)&dma_desc[0][0]);
-
-               HAL_READ_UINT32(DCSR8, val);
-               val &= 0x3fffffff;                      // clear RUN and NODESCRIPTOR FETCH
-               HAL_WRITE_UINT32(DCSR8, val);
-
-               HAL_WRITE_UINT32(DDADR8, (unsigned long)&dma_desc[0][0]);
-               val |= 0x80000000;                      // run channel
-               HAL_WRITE_UINT32(DCSR8, val);
-
-               HAL_WRITE_UINT32(MMCNOB, blocks);
-
-               pp->command_parameter_low = address & 0xffff;
-               pp->command_parameter_high = (address & 0xffff0000) >> 16;
-
-               pp->command_number = SD_CMD18;
-               pp->res_type = CMD_RES_TYPE_R1;
-               pp->data_en = 1;
-               pp->dma_en = 1;
-               pp->data_write = 0;
-               pp->stream_blk = 0;
-               pp->busy = 0;
-               pp->init = 0;
-               pp->sd_4dat = 1;
-
-               HAL_WRITE_UINT32(MMCCMD, pp->command_number);           // command number
-               HAL_WRITE_UINT32(MMCARGH, pp->command_parameter_high);  // command parameter upper 16 bits
-               HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);   // command parameter lower 16 bits
-
-               cvalue = cmd_value(pp);
-               HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-
-               // wait for dma end
-               HAL_READ_UINT32(DCSR8, val);            // wait for dma end
-               while (val & 0x80000000) {
-                       HAL_READ_UINT32(DCSR8, val);
-               }
-#if SDCARD_DEBUG
-               diag_printf("DMA finished \n");
-               diag_printf("DMA Control Status is: 0x%08X\n", val);
-
-               HAL_READ_UINT32(DDADR8, val);
-               diag_printf("Descriptor Address Register: 0x%08X\n", val);
-
-               HAL_READ_UINT32(DSADR8, val);
-               diag_printf("Source Address Register: 0x%08X\n", val);
-
-               HAL_READ_UINT32(DTADR8, val);
-               diag_printf("Target Address Register: 0x%08X\n", val);
-
-               HAL_READ_UINT32(DCMD8, val);
-               diag_printf("Command Register: 0x%08X\n", val);
-#endif
-               HAL_WRITE_UINT32(MMCNOB, 1);
-
-               pp->command_number = SD_CMD12;          //Stop Transmission
-               if (send_command(pp) < 0) {
-                       diag_printf("CMD12 failed !!!\n");
-                       return -1;
-               }
-
-               return 0;
-       } else {                // read wince image
-#ifdef CYGBLD_BUILD_REDBOOT_WITH_WINCE_SUPPORT
-               HAL_WRITE_UINT32(MMCNOB, blocks);
-               //HAL_WRITE_UINT32(MMCNOB, blocks);
-
-               pp->command_parameter_low = address & 0xffff;
-               pp->command_parameter_high = (address & 0xffff0000) >> 16;
-
-               pp->command_number = SD_CMD18;
-               pp->res_type = CMD_RES_TYPE_R1;
-               pp->data_en = 1;
-               pp->dma_en = 0;
-               pp->data_write = 0;
-               pp->stream_blk = 0;
-               pp->busy = 0;
-               pp->init = 0;
-               pp->sd_4dat = 1;
-
-               HAL_WRITE_UINT32(MMCCMD, pp->command_number);
-               HAL_WRITE_UINT32(MMCARGH, pp->command_parameter_high);
-               HAL_WRITE_UINT32(MMCARGL, pp->command_parameter_low);
-
-               cvalue = cmd_value(pp);
-               HAL_WRITE_UINT32(MMCCMDAT, cvalue);
-
-               length = 512 * blocks;
-
-               bap = cebuffer;
-
-               bi = 0;
-
-               while (length > 0) {
-                       HAL_READ_UINT32(MMCIREG, val);
-                       while (!(val & 0x20)) { // wait for RXFIFO_RD_REQ
-                               HAL_READ_UINT32(MMCIREG, val);
-                       }
-
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-                       *(bap++) = *(unsigned long *)MMCRXFIFO;
-
-                       length -= 32;
-                       bi += 8;
-
-                       if (bi == 1024) {
-                               switch (ce_bin_parse_next(cebuffer, 4096)) {
-                               case CE_PR_EOF:   // End of file
-                                       // The image was successfully loaded, just go out
-                                       break;
-
-                               case CE_PR_ERROR:
-                                       // Ops! Corrupted or invalid image!
-                                       return -1;
-
-                               case CE_PR_MORE:
-                                       // Need more data. Just process to the next block
-                                       break;
-                               }
-                               bi = 0;
-                               bap = cebuffer;
-                       }
-
-                       if (!length) {
-                               switch (ce_bin_parse_next(cebuffer, bi * 4)) {
-                               case CE_PR_EOF:   // End of file
-                                       // The image was successfully loaded, just go out
-                                       break;
-                                       //return 0;
-                               case CE_PR_ERROR:
-                                       // Ops! Corrupted or invalid image!
-                                       return -1;
-                               case CE_PR_MORE:
-                                       // Need more data. Just process to the next block
-                                       break;
-                               }
-                       }
-
-               }
-
-               if (wait4cmd_end() < 0) {
-                       diag_printf("read multiple block command timed out !!!!");
-                       return -1;
-               }
-
-               HAL_WRITE_UINT32(MMCNOB, 1);
-
-               pp->command_number = SD_CMD12;  // Stop Transmission
-               if (send_command(pp) < 0) {
-                       diag_printf("CMD12 failed !!!\n");
-                       return -1;
-               }
-#endif
-               return 0;
-       }
-}
diff --git a/packages/hal/arm/xscale/triton270/v2_0/src/triton270_misc.c b/packages/hal/arm/xscale/triton270/v2_0/src/triton270_misc.c
deleted file mode 100755 (executable)
index ff333b1..0000000
+++ /dev/null
@@ -1,1655 +0,0 @@
-//==========================================================================
-//
-//     triton270_misc.c
-//
-//     HAL misc board support code for XScale TRITON270
-//
-//==========================================================================
-//#####ECOSGPLCOPYRIGHTBEGIN####
-//## -------------------------------------------
-//## This file is part of eCos, the Embedded Configurable Operating System.
-//## Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//##
-//## 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
-//## 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
-//## WARRANTY; without even the implied warranty of MERCHANTABILITY or
-//## FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
-//## for more details.
-//##
-//## You should have received a copy of the GNU General Public License along
-//## with eCos; if not, write to the Free Software Foundation, Inc.,
-//## 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//##
-//## 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
-//## 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
-//## License. However the source code for this file must still be made available
-//## 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 file might be covered by the GNU General Public License.
-//##
-//## Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-//## at http://sources.redhat.com/ecos/ecos-license/
-//## -------------------------------------------
-//#####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   msalter, usteinkohl
-// Contributors: msalter, usteinkohl
-// Date:        20th August 2004 (last modification)
-// Purpose:     HAL board support
-// Description:         Implementations of HAL board interfaces
-//
-//####DESCRIPTIONEND####
-//
-//========================================================================*/
-#include <redboot.h>
-#include <flash_config.h>
-
-#include <pkgconf/hal.h>
-#include <pkgconf/system.h>
-#include CYGBLD_HAL_PLATFORM_H
-#include CYGHWR_MEMORY_LAYOUT_H
-
-#include <cyg/infra/cyg_type.h>                // base types
-#include <cyg/infra/cyg_trac.h>                // tracing macros
-#include <cyg/infra/cyg_ass.h>         // assertion macros
-
-#include <cyg/hal/hal_io.h>            // IO macros
-#include <cyg/hal/hal_stub.h>          // Stub macros
-#include <cyg/hal/hal_if.h>            // calling interface API
-#include <cyg/hal/hal_arch.h>          // Register state info
-#include <cyg/hal/hal_diag.h>
-#include <cyg/hal/hal_intr.h>          // Interrupt names
-#include <cyg/hal/hal_cache.h>
-#include <cyg/hal/hal_triton270.h>     // Hardware definitions
-#include <cyg/hal/drv_api.h>           // CYG_ISR_HANDLED
-
-extern int  printf(char *fmt, ...);
-
-inline unsigned long _fu_phys_address(unsigned long _x_)
-{
-       switch (_x_>>12) {
-       case 0x0:
-               return _x_ + 0xa0000000;
-       case 0xa0000:
-               return _x_ & 0xfffffff;
-       default:
-               return _x_;
-       }
-}
-
-/*------------------------------------------------------------------------*/
-/* IDE support                                                           */
-
-void cyg_hal_plf_ide_init(void)
-{
-}
-
-void coldstart(void)
-{
-       cyg_uint32              value;
-
-       HAL_WRITE_UINT32(OSCR, 0);      // initialize os timer counter
-       HAL_WRITE_UINT32(RCNR, 0);      // initialize rtc counter
-       HAL_WRITE_UINT32(RTTR, 0x7FFF); // divide RTC to get 1hz output
-       //
-       // initialize interrupt registers
-       //
-       HAL_WRITE_UINT32(ICMR, 0);      // Pending Interrupts are masked from becoming active
-       HAL_WRITE_UINT32(ICMR2, 0);
-       HAL_WRITE_UINT32(ICLR, 0);      // Route all Interrupts to CPU IRQ (none to FIQ)
-       HAL_WRITE_UINT32(ICLR2, 0);
-       HAL_WRITE_UINT32(ICCR, 1);      // Only enabled and unmasked interrupt bring core out of idle
-
-       //
-       //  setup general purpose I/Os (specific to TRITON270 board)
-       //  must set GPSR/GPCR, then set GPDR, then set GPAFR
-       //
-       //  this is already done in the assembly code.
-
-       // clear all edge detect status bits
-       HAL_WRITE_UINT32(GEDRa, 0xffffffff);  // clear all bits
-       HAL_WRITE_UINT32(GEDRb, 0xffffffff);
-       HAL_WRITE_UINT32(GEDRc, 0xffffffff);
-       HAL_WRITE_UINT32(GEDRd, 0xffffffff);
-
-       //   setup PCMCIA timing parameters (should be optimized (usteinkohl)
-       //
-       //      this is SK3 specific
-       //
-       //      for about 200 MHz MEMCLK:
-       //              command setup:                   30 nsec
-       //              command minimum duration:       100 nsec
-       //              command hold:                    20 nsec
-
-       HAL_WRITE_UINT32(MCIO0, 0x00040286);
-       HAL_WRITE_UINT32(MCIO1, 0x00040286);
-
-       HAL_WRITE_UINT32(MCMEM0, 0x00040286);
-       HAL_WRITE_UINT32(MCMEM1, 0x00040286);
-
-       HAL_WRITE_UINT32(MCATT0, 0x00040286);
-       HAL_WRITE_UINT32(MCATT1, 0x00040286);
-
-       HAL_WRITE_UINT32(MECR, 0x3);   // set CIT and NOS
-
-       HAL_WRITE_UINT32(PWRICR, ICR_UR);                               // reset i2c_unit;
-       HAL_WRITE_UINT32(PWRICR, ICR_IUE | ICR_SCLE | ICR_GCD);
-
-       HAL_READ_UINT32(PCFR, value);
-       //value |= 0x00000040;                  // enable PI2C
-       value = value & (~0x400);               // disable voltage change sequencer
-       HAL_WRITE_UINT32(PCFR, value);
-}
-
-void hal_sio_print_string(char *buf)
-{
-       cyg_uint32 value;
-
-       while(1) {
-               HAL_READ_UINT32(STLSR, value);
-               while(!(value & 0x40)) {
-                       HAL_READ_UINT32(STLSR, value);
-               }
-               value = (cyg_uint32)(*buf++) & 0xff;
-               if (!value) {
-                       return;
-               } else {
-                       HAL_WRITE_UINT32(STTHR, value);
-               }
-       }
-
-}
-
-void unlock_flash_all(void);
-
-void hal_hardware_init(void)
-{
-       cyg_uint32 cken;
-       cyg_uint32 val;
-       int ind;
-
-       HAL_READ_UINT32(CKEN, cken);
-       // enable FFUART clock and BTUART clock and STUART
-       HAL_WRITE_UINT32(CKEN, cken | 0xe0);
-
-       // Let the "OS" counter run
-       coldstart();
-
-       // Set up eCos/ROM interfaces
-       hal_if_init(); //ecos, not platform, specifc.  Common to all.  Do not change.
-
-       // Enable caches
-       HAL_DCACHE_ENABLE();  //leave this
-       HAL_ICACHE_ENABLE();    //leave this
-
-       //diag_printf("CKEN register: 0x%08X\n", cken);
-
-       // check if we restart from sleep mode
-       HAL_READ_UINT32(RCSR, val);
-       //HAL_WRITE_UINT32(RCSR, 0xf);          // clear all bits
-       if (val & 0x0f) {
-               const char *sep = " ";
-               diag_printf("\nReset caused by:");
-               if (val & 1) {
-                       diag_printf("%shardware reset pin", sep);
-                       sep = " + ";
-               }
-               if (val & 0x02) {
-                       diag_printf("%swatchdog reset", sep);
-                       sep = " + ";
-               }
-               if (val & 0x08) {
-                       diag_printf("%sGPIO reset\n", sep);
-                       sep = " + ";
-               }
-               if (val & 0x04) {
-                       diag_printf("%ssleep reset", sep);
-                       sep = " + ";
-                       HAL_READ_UINT32(PSPR, val);
-                       if (!val) {
-                               diag_printf("\nwarning, NULL pointer detected in PSPR register\n");
-                       } else {
-                               diag_printf("\nrestarting operating system ...\n");
-                               asm volatile (
-                                             "mov pc, %0;"     // jump to pointer
-                                             :
-                                             : "r"(val)
-                                             );
-                       }
-               }
-               diag_printf("\n");
-       } else {
-               diag_printf("\nwarning, unknown reset source !!!!\n");
-               diag_printf("RCSR register: 0x%08X\n", val);
-       }
-
-       ind = get_clock_table_index(208);
-
-       HAL_READ_UINT32(MDREFR, val);
-       val |= 0x20000000;                              // set K0DB4
-       HAL_WRITE_UINT32(MDREFR, val);
-
-       change_core_voltage(ind);
-       change_clock(ind);
-
-       if (pclktab[ind].MDREFR_K0DB2) {
-               HAL_READ_UINT32(MDREFR, val);                           // set K0DB2
-               val |= 0x00004000;
-       } else {
-               HAL_READ_UINT32(MDREFR, val);                           // reset K0DB0
-               val &= (~0x00004000);
-       }
-       HAL_WRITE_UINT32(MDREFR, val);
-
-       if (pclktab[ind].MDREFR_K0DB4) {
-               HAL_READ_UINT32(MDREFR, val);                           // set K0DB2
-               val |= 0x20000000;
-       } else {
-               HAL_READ_UINT32(MDREFR, val);                           // reset K0DB2
-               val &= (~0x20000000);
-       }
-       HAL_WRITE_UINT32(MDREFR, val);
-}
-
-void enable_sdcard_power(void)
-{
-       unsigned long value;
-
-       HAL_READ_UINT32(GAFR1c, value);                 // set alternate function of GPIO91 to 0
-       value &= 0xff3fffff;
-       HAL_WRITE_UINT32(GAFR1c, value);
-
-       HAL_READ_UINT32(GPDRc, value);                  // config GPIO91 as output
-       value |= 0x08000000;
-       HAL_WRITE_UINT32(GPDRc, value);
-
-       HAL_WRITE_UINT32(GPCRc, 0x08000000);    // clear GPIO91
-       HAL_DELAY_US(1000*1000);
-
-       HAL_WRITE_UINT32(DRCMR21, 0x00000088);  // map SDCARD receive to DMA channel No. 8
-       HAL_WRITE_UINT32(DCSR8, 0x40000000);    // set DMA channel to no descriptor fetch mode
-       HAL_WRITE_UINT32(DALGN, 0x100);                 // allow byte allinement for channel 8
-
-#if 0  // only for Debug
-       HAL_WRITE_UINT32(GPCRa, 0x800);
-
-       HAL_READ_UINT32(GPDRa, value);
-       value |= 0x800;
-       HAL_WRITE_UINT32(GPDRa, value);
-#endif
-
-}
-
-#include CYGHWR_MEMORY_LAYOUT_H
-typedef void code_fun(void);
-void triton270_program_new_stack(void *func)
-{
-       register CYG_ADDRESS stack_ptr asm("sp");
-       register CYG_ADDRESS old_stack asm("r4");
-       register code_fun *new_func asm("r0");
-
-       old_stack = stack_ptr;
-
-       stack_ptr = CYGMEM_REGION_ram + CYGMEM_REGION_ram_SIZE - sizeof(CYG_ADDRESS);
-       new_func = (code_fun*)func;
-       new_func();
-
-       stack_ptr = old_stack;
-}
-
-#if 0
-    asm volatile (
-                 "ldr          r1,=0x00000800;" // we use GPIO23 for controlling the debug LED
-
-                 "250961:;"
-                 "ldr          r0,=0x40E00024;"        // GPCR0
-                 "str          r1,     [r0];"          // switch the LED on
-                 
-                 "ldr          r2,=0x00a00000;"        // wait some time
-                 "mov          r3,#1 ;"
-                 "998:;"
-                 "sub          r2, r2, r3;"
-                 "cmp          r2,#0;"
-                 "bne          998b;"
-
-                 "ldr          r0,=0x40E00018;"        // GPSR0
-                 "str          r1,     [r0];"          // switch the LED off
-
-                 "ldr          r2,=0x00a00000;"        // wait some time
-                 "mov          r3,#1;"
-                 "998:;"
-                 "sub          r2, r2, r3;"
-                 "cmp          r2,#0;"
-                 "bne          998b;"
-
-                 "b            250961b;"
-                 :
-                 :
-                 : "r0","r1","r2","r3"
-                 );
-#endif
-
-// Initialize the clock
-static cyg_uint32  clock_period;
-
-void hal_clock_initialize(cyg_uint32 period)
-{
-       cyg_uint32 oier;
-
-       // Load match value
-       HAL_WRITE_UINT32(OSMR0, period);
-       clock_period = period;
-
-       // Start the counter
-       HAL_WRITE_UINT32(OSCR, 0);
-       // Clear any pending interrupt
-       HAL_WRITE_UINT32(OSSR, OSSR_TIMER0);
-       // Enable timer 0 interrupt
-       HAL_READ_UINT32(OIER, oier);
-       HAL_WRITE_UINT32(OIER, oier | OIER_TIMER0);
-
-       // Unmask timer 0 interrupt
-       HAL_INTERRUPT_UNMASK(CYGNUM_HAL_INTERRUPT_TIMER0);
-}
-
-// This routine is called during a clock interrupt.
-void hal_clock_reset(cyg_uint32 vector, cyg_uint32 period)
-{
-       cyg_uint32 oscr;
-
-       // Load new match value
-       HAL_READ_UINT32(OSCR, oscr);
-       HAL_WRITE_UINT32(OSMR0, oscr + period);
-       // Clear any pending interrupt
-       HAL_WRITE_UINT32(OSSR, OSSR_TIMER0);
-}
-
-// Read the current value of the clock, returning the number of hardware
-// "ticks" that have occurred (i.e. how far away the current value is from
-// the start)
-
-// Note: The "contract" for this function is that the value is the number
-// of hardware clocks that have happened since the last interrupt (i.e.
-// when it was reset). This value is used to measure interrupt latencies.
-// However, since the hardware counter runs freely, this routine computes
-// the difference between the current clock period and the number of hardware
-// ticks left before the next timer interrupt.
-void hal_clock_read(cyg_uint32 *pvalue)
-{
-       int orig;
-       cyg_uint32 oscr;
-       cyg_uint32 osmr0;
-
-       HAL_DISABLE_INTERRUPTS(orig);
-       HAL_READ_UINT32(OSCR, oscr);
-       HAL_READ_UINT32(OSMR0, osmr0);
-       *pvalue = clock_period + oscr - osmr0;
-       HAL_RESTORE_INTERRUPTS(orig);
-}
-
-// Delay for some number of micro-seconds
-void hal_delay_us(cyg_uint32 time)
-{
-       cyg_uint32 val = 0;
-       cyg_uint32 ctr;
-
-       HAL_READ_UINT32(OSCR, ctr);
-       while (time-- > 0) {
-               do {
-                       cyg_uint32 oscr;
-
-                       HAL_READ_UINT32(OSCR, oscr);
-                       if (ctr != oscr) {
-                               // FIXME: DEFINE AND USE a global CLOCK_TICK_RATE somewhere!
-                               // This value is WRONG for PXA270!
-                               //val += 271267;        // 271267ps (3.6864Mhz -> 271.267ns)
-                               val += 307692;          // 307692ps (3.25Mhz -> 307.692ns)
-                               ++ctr;
-                       }
-               } while (val < 1000000);
-               val -= 1000000;
-       }
-}
-
-typedef cyg_uint32 cyg_ISR(cyg_uint32 vector, CYG_ADDRWORD data);
-
-extern void cyg_interrupt_post_dsr(CYG_ADDRWORD intr_obj);
-
-static inline cyg_uint32 hal_call_isr(cyg_uint32 vector)
-{
-       return 0;
-}
-
-// Interrupt handling
-
-// This routine is called to respond to a hardware interrupt (IRQ).  It
-// should interrogate the hardware and return the IRQ vector number.
-int hal_IRQ_handler(void)
-{
-       cyg_uint32 sources, index;
-
-#ifdef HAL_EXTENDED_IRQ_HANDLER
-       // Use platform specific IRQ handler, if defined
-       // Note: this macro should do a 'return' with the appropriate
-       // interrupt number if such an extended interrupt exists.  The
-       // assumption is that the line after the macro starts 'normal' processing.
-       HAL_EXTENDED_IRQ_HANDLER(index);
-#endif
-
-       HAL_READ_UINT32(ICIP, sources);
-       if (sources & 0xff0000) {
-               index = 16;
-       } else if (sources & 0xff00) {
-               index = 8;
-       } else if (sources & 0xff) {
-               index = 0;
-       } else {
-               index = 24;
-       }
-       do {
-               if ((1 << index) & sources) {
-                       if (index == CYGNUM_HAL_INTERRUPT_GPIO) {
-                               // Special case of GPIO cascade.  Search for lowest set bit
-                               HAL_READ_UINT32(GEDRa, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 32;
-                                       }
-                                       index++;
-                               } while (index < 32);
-                               HAL_READ_UINT32(GEDRb, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 64;
-                                       }
-                                       index++;
-                               } while (index < 32);
-                               HAL_READ_UINT32(GEDRc, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 96;
-                                       }
-                                       index++;
-                               } while (index < 32);
-                               HAL_READ_UINT32(GEDRc, sources);
-                               index = 0;
-                               do {
-                                       if (sources & (1 << index)) {
-                                               return index + 128;
-                                       }
-                                       index++;
-                               } while (index < 23); // GPIOs 96..118
-                       }
-                       return index;
-               }
-               index++;
-       } while (index & 7);
-
-       return CYGNUM_HAL_INTERRUPT_NONE; // This shouldn't happen!
-}
-
-void hal_interrupt_mask(int vector)
-{
-       cyg_uint32 icmr;
-
-#ifdef HAL_EXTENDED_INTERRUPT_MASK
-       // Use platform specific handling, if defined
-       // Note: this macro should do a 'return' for "extended" values of 'vector'
-       // Normal vectors are handled by code subsequent to the macro call.
-       HAL_EXTENDED_INTERRUPT_MASK(vector);
-#endif
-       if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-               vector = CYGNUM_HAL_INTERRUPT_GPIO;
-       }
-       HAL_READ_UINT32(ICMR, icmr);
-       HAL_WRITE_UINT32(ICMR, icmr & ~(1 << vector));
-}
-
-void hal_interrupt_unmask(int vector)
-{
-       cyg_uint32 icmr;
-
-#ifdef HAL_EXTENDED_INTERRUPT_UNMASK
-       // Use platform specific handling, if defined
-       // Note: this macro should do a 'return' for "extended" values of 'vector'
-       // Normal vectors are handled by code subsequent to the macro call.
-       HAL_EXTENDED_INTERRUPT_UNMASK(vector);
-#endif
-
-       if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-               vector = CYGNUM_HAL_INTERRUPT_GPIO;
-       }
-       HAL_READ_UINT32(ICMR, icmr);
-       HAL_WRITE_UINT32(ICMR, icmr | (1 << vector));
-}
-
-void hal_interrupt_acknowledge(int vector)
-{
-       cyg_uint32 rtsr;
-
-#if DEBUG_INT
-       diag_printf("void hal_interrupt_acknowledge(int vector) entered ...\n");
-       diag_printf("vector = %d     \n", vector);
-#endif
-       switch (vector) {
-       case CYGNUM_HAL_INTERRUPT_ALARM:
-               HAL_READ_UINT32(RTSR, rtsr);
-               HAL_WRITE_UINT32(RTSR, (rtsr & ~0x2553) | 0x1);
-               break;
-       case CYGNUM_HAL_INTERRUPT_HZ:
-               HAL_READ_UINT32(RTSR, rtsr);
-               HAL_WRITE_UINT32(RTSR, (rtsr & ~0x2553) | 0x2);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER3:
-               HAL_WRITE_UINT32(OSSR, 0x08);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER2:
-               HAL_WRITE_UINT32(OSSR, 0x04);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER1:
-               HAL_WRITE_UINT32(OSSR, 0x02);
-               break;
-       case CYGNUM_HAL_INTERRUPT_TIMER0:
-               HAL_WRITE_UINT32(OSSR, 0x01);
-               break;
-       case CYGNUM_HAL_INTERRUPT_DMA:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_SSP:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_MMC:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_FFUART:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_BTUART:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_STUART:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_ICP:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_I2S:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_LCD:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_AC97:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_I2C:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_PMU:
-               // user specific code here
-               break;
-       case CYGNUM_HAL_INTERRUPT_USB:
-               // user specific code here
-               break;
-               // GPIO interrupts are driven by an edge detection mechanism.  This
-               // is latching so these interrupts must be acknowledged directly.
-               // All other interrupts simply go away when the interrupting unit
-               // has been serviced by the ISR.
-       case CYGNUM_HAL_INTERRUPT_GPIO1:
-               HAL_WRITE_UINT32(GEDRa, 0x2);
-               break;
-       case CYGNUM_HAL_INTERRUPT_GPIO0:
-               HAL_WRITE_UINT32(GEDRa, 0x1);
-               break;
-       default:                // the rest is second level GPIO
-               if (vector >= CYGNUM_HAL_INTERRUPT_GPIO96) {
-                       HAL_WRITE_UINT32(GEDRd, (1 << (vector - 128)));
-               } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO64) {
-                       HAL_WRITE_UINT32(GEDRc, (1 << (vector - 96)));
-               } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO32) {
-                       HAL_WRITE_UINT32(GEDRb, (1 << (vector - 64)));
-               } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-                       HAL_WRITE_UINT32(GEDRa, (1 << (vector - 32)));
-               }
-               break;
-       }
-       return;
-}
-
-void hal_interrupt_configure(int vector, int level, int up)
-{
-#if DEBUG_INT
-       diag_printf("void hal_interrupt_configure(int vector, int level, int up) entered ...\n");
-       diag_printf("vector = %d    level = %d      up = %d   \n", vector, level, up);
-#endif
-#if 0
-#ifdef HAL_EXTENDED_INTERRUPT_CONFIGURE
-       // Use platform specific handling, if defined
-       // Note: this macro should do a 'return' for "extended" values of 'vector'
-       // Normal vectors are handled by code subsequent to the macro call.
-       HAL_EXTENDED_INTERRUPT_CONFIGURE(vector, level, up);
-#endif
-       if (vector >= CYGNUM_HAL_INTERRUPT_GPIO64) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERc |= (1 << (vector - 96));
-                               *(unsigned long*)GFERc |= (1 << (vector - 96));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERc &= ~(1 << (vector - 96));
-                               *(unsigned long*)GFERc &= ~(1 << (vector - 96));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERc |= (1 << (vector - 96));
-                               *(unsigned long*)GFERc &= ~(1 << (vector - 96));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERc |= (1 << (vector - 96));
-                               *(unsigned long*)GRERc &= ~(1 << (vector - 96));
-                       }
-               }
-       } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO32) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERb |= (1 << (vector - 64));
-                               *(unsigned long*)GFERb |= (1 << (vector - 64));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERb &= ~(1 << (vector - 64));
-                               *(unsigned long*)GFERb &= ~(1 << (vector - 64));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERb |= (1 << (vector - 64));
-                               *(unsigned long*)GFERb &= ~(1 << (vector - 64));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERb |= (1 << (vector - 64));
-                               *(unsigned long*)GRERb &= ~(1 << (vector - 64));
-                       }
-               }
-       } else if (vector >= CYGNUM_HAL_INTERRUPT_GPIO2) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERa |= (1 << (vector - 32));
-                               *(unsigned long*)GFERa |= (1 << (vector - 32));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERa &= ~(1 << (vector - 32));
-                               *(unsigned long*)GFERa &= ~(1 << (vector - 32));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERa |= (1 << (vector - 32));
-                               *(unsigned long*)GFERa &= ~(1 << (vector - 32));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERa |= (1 << (vector - 32));
-                               *(unsigned long*)GRERa &= ~(1 << (vector - 32));
-                       }
-               }
-       } else if (vector == CYGNUM_HAL_INTERRUPT_GPIO0 || vector == CYGNUM_HAL_INTERRUPT_GPIO1) {
-               if (level) {
-                       if (up) {
-                               // Enable both edges
-                               *(unsigned long*)GRERa |= (1 << (vector - 8));
-                               *(unsigned long*)GFERa |= (1 << (vector - 8));
-                       } else {
-                               // Disable both edges
-                               *(unsigned long*)GRERa &= ~(1 << (vector - 8));
-                               *(unsigned long*)GFERa &= ~(1 << (vector - 8));
-                       }
-               } else {
-                       // Only interested in one edge
-                       if (up) {
-                               // Set rising edge detect and clear falling edge detect.
-                               *(unsigned long*)GRERa |= (1 << (vector - 8));
-                               *(unsigned long*)GFERa &= ~(1 << (vector - 8));
-                       } else {
-                               // Set falling edge detect and clear rising edge detect.
-                               *(unsigned long*)GFERa |= (1 << (vector - 8));
-                               *(unsigned long*)GRERa &= ~(1 << (vector - 8));
-                       }
-               }
-       }
-#endif
-}
-
-void hal_interrupt_set_level(int vector, int level)
-{
-}
-
-/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
-/* Command and code to reset the hardware by issuing the reset vector     */
-/*&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&*/
-void cyg_hal_xscale_soft_reset(CYG_ADDRESS entry)
-{
-       unsigned long value;
-
-       diag_printf("\nDoing software reset now");
-
-       // clear reset status
-       HAL_WRITE_UINT32(RCSR, 0x0f);
-
-       HAL_READ_UINT32(OSCR, value);
-       value += 325000;
-       HAL_WRITE_UINT32(OSMR3, value);
-       HAL_WRITE_UINT32(OWER, 1);
-       while (1) { // wait here for watchdog reset
-               diag_printf(".");
-               HAL_DELAY_US(10 * 1000);
-       }
-}
-
-void do_triton_reset(int argc, char *argv[])
-{
-       HAL_PLATFORM_RESET();
-}
-
-RedBoot_cmd("reset",
-           "Reset the board/hardware",
-           "",
-           do_triton_reset
-           );
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-/*------------------------------------------------------------------------*/
-//  HW Debug support
-
-static inline void set_ibcr0(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c8,0" : : "r"(x));
-}
-
-static inline unsigned get_ibcr0(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c8,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_ibcr1(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c9,0" : : "r"(x));
-}
-
-static inline unsigned get_ibcr1(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c9,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dbr0(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c0,0" : : "r"(x));
-}
-
-static inline unsigned get_dbr0(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c0,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dbr1(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c3,0" : : "r"(x));
-}
-
-static inline unsigned get_dbr1(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c3,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dbcon(unsigned x)
-{
-       asm volatile ("mcr p15,0,%0,c14,c4,0" : : "r"(x));
-}
-
-static inline unsigned get_dbcon(void)
-{
-       unsigned x;
-       asm volatile ("mrc p15,0,%0,c14,c4,0" : "=r"(x) :);
-       return x;
-}
-
-static inline void set_dcsr(unsigned x)
-{
-       asm volatile ("mcr p14,0,%0,c10,c0,0" : : "r"(x));
-}
-
-static inline unsigned get_dcsr(void)
-{
-       unsigned x;
-       asm volatile ("mrc p14,0,%0,c10,c0,0" : "=r"(x) :);
-       return x;
-}
-
-int cyg_hal_plf_hw_breakpoint(int setflag, void *vaddr, int len)
-{
-       unsigned int addr = (unsigned)vaddr;
-
-       if (setflag) {
-               if (!(get_ibcr0() & 1))
-                       set_ibcr0(addr | 1);
-               else if (!(get_ibcr1() & 1))
-                       set_ibcr1(addr | 1);
-               else
-                       return -1;
-       } else {
-               unsigned x = (addr | 1);
-               if (get_ibcr0() == x)
-                       set_ibcr0(0);
-               else if (get_ibcr0() == x)
-                       set_ibcr1(0);
-               else
-                       return -1;
-       }
-       return 0;
-}
-
-int cyg_hal_plf_hw_watchpoint(int setflag, void *vaddr, int len, int type)
-{
-       unsigned int mask, bit_nr, mode, addr = (unsigned)vaddr;
-       unsigned dbcon = get_dbcon();
-
-       mask = 0x80000000;
-       bit_nr = 31;
-       while (bit_nr) {
-               if (len & mask)
-                       break;
-               bit_nr--;
-               mask >>= 1;
-       }
-       mask = ~(0xffffffff << bit_nr);
-
-       if (setflag) {
-               /* set a watchpoint */
-               if (type == 2)
-                       mode = 1; // break on write
-               else if (type == 3)
-                       mode = 3; // break on read
-               else if (type == 4)
-                       mode = 2; // break on any access
-               else
-                       return 1;
-
-               if (!(dbcon & 3)) {
-                       set_dbr0(addr);
-                       set_dbr1(mask);
-                       set_dbcon(dbcon | mode | 0x100);
-               } else
-                       return 1;
-       } else {
-               /* clear a watchpoint */
-               if (dbcon & 3)
-                       set_dbcon(dbcon & ~3);
-               else
-                       return 1;
-       }
-       return 0;
-}
-
-// Return indication of whether or not we stopped because of a
-// watchpoint or hardware breakpoint. If stopped by a watchpoint,
-// also set '*data_addr_p' to the data address which triggered the
-// watchpoint.
-int cyg_hal_plf_is_stopped_by_hardware(void **data_addr_p)
-{
-       unsigned fsr, dcsr, dbcon, kind = 0;
-
-       // Check for debug event
-       asm volatile ("mrc p15,0,%0,c5,c0,0" : "=r"(fsr) :);
-       if ((fsr & 0x200) == 0)
-               return HAL_STUB_HW_STOP_NONE;
-
-       // There was a debug event. Check the MOE for details
-       dcsr = get_dcsr();
-       switch ((dcsr >> 2) & 7) {
-       case 1:  // HW breakpoint
-               return HAL_STUB_HW_STOP_BREAK;
-       case 2:  // Watchpoint
-               dbcon = get_dbcon();
-               if (dbcon & 0x100) {
-                       // dbr1 is used as address mask
-                       kind = dbcon & 3;
-                       *data_addr_p = (void *)get_dbr0();
-               }
-               if (kind == 1)
-                       return HAL_STUB_HW_STOP_WATCH;
-               if (kind == 2)
-                       return HAL_STUB_HW_STOP_AWATCH;
-               if (kind == 3)
-                       return HAL_STUB_HW_STOP_RWATCH;
-               // should never get here
-               break;
-       }
-       return HAL_STUB_HW_STOP_NONE;
-}
-#endif // CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-#define SCL_LOW                (unsigned char)0x00
-#define SCL_HIGH       (unsigned char)0x01
-#define SDA_LOW                (unsigned char)0x00
-#define SDA_HIGH       (unsigned char)0x02
-#define I2C_WRITE      (unsigned char)0x00
-#define I2C_READ       (unsigned char)0x01
-
-#define WRITE_REG32(__regadr, __val) ((__regadr) = (__val))
-#define READ_REG32(__regadr) (__regadr)
-
-#define PXA250_AFREG_BASE      0x40e00054
-#define PXA250_PINDIR_BASE     0x40e0000c
-#define PXA250_PINSET_BASE     0x40e00018
-#define PXA250_PINCLEAR_BASE   0x40e00024
-#define PXA250_REDGE_BASE      0x40e00030
-#define PXA250_FEDGE_BASE      0x40e0003c
-#define PXA250_DEDGE_BASE      0x40e00048
-#define PXA250_PINLEVEL_BASE   0x40e00000
-
-void pin_i2c_setup(pin_i2c_t *pin_data)
-{
-       // configure pins as GPIO function
-       set_alternate_function((unsigned char)pin_data->scl_no, 0);
-       set_alternate_function((unsigned char)pin_data->sda_no, 0);
-
-       // set both pins to input
-       set_pin_dir((unsigned char)pin_data->scl_no, 0);                /* 0=input 1=output */
-       set_pin_dir((unsigned char)pin_data->sda_no, 0);                /* 0=input 1=output */
-
-       // clear all output registers
-       clear_pin((unsigned char)pin_data->scl_no);
-       clear_pin((unsigned char)pin_data->sda_no);
-}
-
-void bus_out(pin_i2c_t *pin_data, unsigned char pdata)
-{
-       switch (pdata & 0x03) {
-       case 0:
-               set_pin_dir((unsigned char)pin_data->scl_no, 1);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 1);        /* 0=input 1=output */
-               break;
-       case 1:
-               set_pin_dir((unsigned char)pin_data->scl_no, 0);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 1);        /* 0=input 1=output */
-               break;
-       case 2:
-               set_pin_dir((unsigned char)pin_data->scl_no, 1);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 0);        /* 0=input 1=output */
-               break;
-       case 3:
-               set_pin_dir((unsigned char)pin_data->scl_no, 0);        /* 0=input 1=output */
-               set_pin_dir((unsigned char)pin_data->sda_no, 0);        /* 0=input 1=output */
-               break;
-       }
-       return;
-}
-
-int bus_in(pin_i2c_t *pin_data)
-{
-       int result;
-
-       result = get_pin_status((unsigned char)pin_data->sda_no);
-       if (result < 0) {
-               //dprintf("get_pin_status returned error \n");
-               return 1;
-       } else {
-               return result;
-       }
-}
-
-void i2c_start(pin_i2c_t *pin_data)
-{
-       //dprintf("pin status is %d\n", get_pin_status((unsigned char)pin_data->sda_no));
-
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-}
-
-void i2c_stop(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-}
-
-int i2c_read_ack(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_HIGH);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-       if (bus_in(pin_data)) {
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               return -2;
-       } else {
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               return 0;
-       }
-}
-
-void i2c_write_ack(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_LOW);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_LOW | SDA_LOW);
-       HAL_DELAY_US(10);
-}
-
-void i2c_write_nack(pin_i2c_t *pin_data)
-{
-       bus_out(pin_data, SCL_LOW | SDA_HIGH);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-       HAL_DELAY_US(10);
-       bus_out(pin_data, SCL_LOW | SDA_HIGH);
-       HAL_DELAY_US(10);
-}
-
-void i2c_slave_addr(pin_i2c_t *pin_data, unsigned char dev, unsigned char mode)
-{
-       i2c_write(pin_data, dev | mode);
-}
-
-void i2c_read(pin_i2c_t *pin_data, unsigned char *res)
-{
-       unsigned char in = 0;
-       unsigned char bit = 0x80;
-
-       while (bit) {
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               bus_out(pin_data, SCL_HIGH | SDA_HIGH);
-               HAL_DELAY_US(10);
-               if (bus_in(pin_data))
-                       in |= bit;
-               bus_out(pin_data, SCL_LOW | SDA_HIGH);
-               HAL_DELAY_US(10);
-               bit >>= 1;
-       }
-       *res = in;
-}
-
-void i2c_write(pin_i2c_t *pin_data, unsigned char val)
-{
-       unsigned char out;
-       unsigned char bit = 0x80;
-
-       while (bit) {
-               out = (bit & val) ? SDA_HIGH : SDA_LOW;
-               bus_out(pin_data, SCL_LOW | out);
-               HAL_DELAY_US(10);
-               bus_out(pin_data, SCL_HIGH | out);
-               HAL_DELAY_US(10);
-               bus_out(pin_data, SCL_LOW | out);
-               HAL_DELAY_US(10);
-               bit >>= 1;
-       }
-}
-
-/* ================================================================ */
-/*
-    function:  se_read
-
-    paramters: unsigned char addr      start address in ser. EEPROM
-               unsigned int  numb      number of bytes to be read
-               char *dat               pointer to data buffer
-
-    ret. val.: int                     = 0, every thing ok
-                                         else, device not av., or not ready
-
-*/
-int se_read(pin_i2c_t *pin_data, unsigned char addr, unsigned char dev_address,
-           unsigned int numb, char *dat)
-{
-       unsigned int i;
-
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_WRITE);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, addr);        /* read from start address */
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_READ);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-
-       for (i = 0; i < numb - 1; i++) {
-               i2c_read(pin_data, dat++);
-               i2c_write_ack(pin_data);
-       }
-       i2c_read(pin_data, dat);
-       i2c_stop(pin_data);
-
-       return 0;
-}
-
-/* ================================================================ */
-/*
-    function:  se_write
-
-    paramters: unsigned char addr      start address in ser. EEPROM
-               unsigned char val       value to write
-
-    ret. val.: int                     = 0, every thing ok
-                                         else, device not av., or not ready
-
-*/
-int se_write(pin_i2c_t *pin_data, unsigned char addr,unsigned char dev_address, unsigned char val)
-{
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_WRITE);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, addr);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, val);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_stop(pin_data);
-       HAL_DELAY_US(10000);
-       return 0;
-}
-
-/* ================================================================ */
-/*
-    function:  ltc1663_pwrite
-
-    paramters: unsigned dev_address            device address of chip
-                       unsigned char command           command byte
-               unsigned short val              value to write
-
-    ret. val.: int                             = 0, every thing ok
-                                                       else, device not av., or not ready
-
-*/
-int ltc1663_write(pin_i2c_t *pin_data, unsigned char dev_address, unsigned char command,
-                 unsigned short val)
-{
-       i2c_start(pin_data);
-       i2c_slave_addr(pin_data, dev_address, I2C_WRITE);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, command);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, (unsigned char)val&0xff);
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_write(pin_data, (unsigned char)((val&0xff00)>>8));
-       if (i2c_read_ack(pin_data) < 0) {
-               i2c_stop(pin_data);
-               return -1;
-       }
-       i2c_stop(pin_data);
-       HAL_DELAY_US(100);
-       return 0;
-}
-
-// -----------------------------------------------------------------------
-int set_alternate_function(unsigned char gpio_number, unsigned char function_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       if (function_code > 3) {
-               //dprintf("GPIO alternate function code %d is out of range\n", function_code);
-               return 0;
-       }
-
-       register_offset = gpio_number / 16;
-
-       bit_offset = gpio_number % 16;
-       mask = 3 << (bit_offset*2);
-
-       reg_adr = PXA250_AFREG_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (function_code << (bit_offset*2));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_pin_dir(unsigned char gpio_number, unsigned char dir_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       if (dir_code > 1) {
-               //dprintf("GPIO alternate function code %d is out of range\n", dir_code);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINDIR_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (dir_code << (bit_offset));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_rising_edge(unsigned char gpio_number, unsigned char edge_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-       if (edge_code > 1) {
-               //dprintf("rising edge value sould be 0 or 1, not %d\n", edge_code);
-               return 0;
-       }
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_REDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (edge_code << (bit_offset));
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_falling_edge(unsigned char gpio_number, unsigned char edge_code)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       if (edge_code > 1) {
-               //dprintf("falling edge value sould be 0 or 1, not %d\n", edge_code);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_FEDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (edge_code << (bit_offset));
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-}
-
-int set_pin(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINSET_BASE + register_offset * 4;
-
-       org_value = 0;
-
-       new_value = (org_value & (~mask)) | (1 << (bit_offset));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-
-}
-
-int clear_pin(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINCLEAR_BASE + register_offset * 4;
-
-       org_value = 0;
-
-       new_value = (org_value & (~mask)) | (1 << (bit_offset));
-
-       WRITE_REG32(reg_adr, new_value);
-       return 1;
-
-}
-
-int get_pin_status(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long return_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return -1;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_PINLEVEL_BASE + register_offset * 4;
-
-       return_value = (READ_REG32(reg_adr) & mask) >> bit_offset;
-
-       return return_value;
-}
-
-int clear_edge(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-       unsigned long new_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_DEDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       new_value = (org_value & (~mask)) | (1 << (bit_offset));
-       WRITE_REG32(reg_adr, new_value);
-
-       return 1;
-}
-
-int detect_edge(unsigned char gpio_number)
-{
-       unsigned int register_offset;
-       unsigned int bit_offset;
-       unsigned long mask;
-       unsigned long reg_adr;
-       unsigned long org_value;
-
-       // do some checking
-       if (gpio_number >= NUM_GPIOS) {
-               //dprintf("GPIO pin number %d is out of range!\n", gpio_number);
-               return 0;
-       }
-
-       register_offset = gpio_number / 32;
-
-       bit_offset = gpio_number % 32;
-       mask = 1 << (bit_offset);
-
-       reg_adr = PXA250_DEDGE_BASE + register_offset * 4;
-
-       org_value = READ_REG32(reg_adr);
-
-       return !!(org_value & mask);
-}
-
-void init_i2c(void)
-{
-       HAL_WRITE_UINT32(ICR, ICR_UR);                          // reset i2c_unit;
-       HAL_WRITE_UINT32(ICR, ICR_IUE | ICR_SCLE | ICR_GCD);
-}
-
-//FIXME: insert timeout into while loop
-cyg_int32 write_i2c_pcf8574(cyg_uint8 device_adr,  cyg_uint8 dat_value)
-{
-       cyg_uint32      value;
-       unsigned int    retries;
-
-// write device address now
-       HAL_WRITE_UINT32(IDBR, (device_adr & 0xfe));
-       HAL_READ_UINT32(ICR, value);
-       value = value & ~(ICR_STOP | ICR_ALDIE);
-       HAL_WRITE_UINT32(ICR, value | ICR_START | ICR_TB);
-
-       HAL_READ_UINT32(ISR, value);
-       value &= ISR_ITE;
-       while (!value) {        // wait for Transmit Empty
-               HAL_READ_UINT32(ISR, value);
-               value &= ISR_ITE;
-       }
-       HAL_READ_UINT32(ISR, value);
-       if (value & ISR_BED) {
-
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(ICR, value);
-               HAL_WRITE_UINT32(ICR, value | ICR_MA);          // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(ICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(ISR, ISR_ITE); // clear ITE status
-
-// write data now
-       HAL_WRITE_UINT32(IDBR, (dat_value & 0xff));
-       HAL_READ_UINT32(ICR, value);
-       value &=  ~ICR_START;
-       HAL_WRITE_UINT32(ICR, value | ICR_TB | ICR_STOP);
-
-       HAL_READ_UINT32(ISR, value);
-       retries = 1000000;
-       while (!(value & ISR_ITE)) {    // wait for Transmit Empty
-               HAL_READ_UINT32(ISR, value);
-       }
-       if (!(value & ISR_ITE)) {
-               diag_printf("I2C: timeout waiting for ITE\n");
-               return -1;
-       }
-       if (value & ISR_BED) {
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(ICR, value);
-               HAL_WRITE_UINT32(ICR, value | ICR_MA);          // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(ICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(ISR, ISR_ITE); // clear ITE status
-
-       HAL_READ_UINT32(ICR, value);
-       value = value  &  ~(ICR_STOP | ICR_START | ICR_TB);
-       HAL_WRITE_UINT32(ICR, value);
-
-       return 0;
-}
-
-//FIXME: insert timeout into while loop
-cyg_int32 read_i2c_pcf8574(cyg_uint8 device_adr)
-{
-       cyg_uint32      value;
-       unsigned int    retries;
-
-       // write device address now
-       HAL_WRITE_UINT32(IDBR, (device_adr | 0x01));
-
-       HAL_READ_UINT32(ICR, value);
-       value &= ~ICR_STOP;
-       HAL_WRITE_UINT32(ICR, value | ICR_START | ICR_TB);
-
-       HAL_READ_UINT32(ISR, value);
-       retries = 1000000;
-       while (!(value & ISR_ITE)) {    // wait for Transmit Empty
-               HAL_READ_UINT32(ISR, value);
-       }
-       if (!(value & ISR_ITE)) {
-               diag_printf("I2C: timeout waiting for ITE\n");
-               return -1;
-       }
-       if (value & ISR_BED) {
-               //diag_printf("I2C: bus error, status after write device address is: %06X\n", value);
-               HAL_READ_UINT32(ICR, value);
-               HAL_WRITE_UINT32(ICR, value | ICR_MA);          // send master abort
-               HAL_DELAY_US(10000);
-               HAL_WRITE_UINT32(ICR, value & ~ICR_MA);
-               return -1;
-       }
-       HAL_WRITE_UINT32(ISR, ISR_ITE); // clear ITE status
-
-       // read data now
-       HAL_READ_UINT32(ICR, value);
-       value &= ~ICR_START;
-       HAL_WRITE_UINT32(ICR,  value |ICR_TB | ICR_STOP | ICR_ACKNAK);
-
-       HAL_READ_UINT32(ISR, value);
-       value &= ISR_IRF;
-       while (!value) {        // wait for Receive Buffer full
-               HAL_READ_UINT32(ISR, value);
-               value &= ISR_IRF;
-       }
-
-       HAL_WRITE_UINT32(ISR, ISR_IRF); // clear ITE status
-
-       HAL_READ_UINT32(ICR, value);
-       value = value & ~(ICR_STOP | ICR_START | ICR_TB | ICR_ACKNAK);
-       HAL_WRITE_UINT32(ICR, value);
-
-       HAL_READ_UINT32(IDBR, value);
-
-       return value & 0xff;
-}
-/*------------------------------------------------------------------------*/
-// EOF triton270_misc.c
diff --git a/packages/hal/h8300/arch/v2_0/src/h8300_stub.c b/packages/hal/h8300/arch/v2_0/src/h8300_stub.c
deleted file mode 100644 (file)
index 8032083..0000000
+++ /dev/null
@@ -1,286 +0,0 @@
-//========================================================================
-//
-//      h8300_stub.c
-//
-//      Helper functions for H8/300H stub
-//
-//========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):     Red Hat, jskov
-// Contributors:  Red Hat, jskov
-// Date:          1998-11-06
-// Purpose:       
-// Description:   Helper functions for H8/300H stub
-// Usage:         
-//
-//####DESCRIPTIONEND####
-//
-//========================================================================
-
-#include <stddef.h>
-
-#include <pkgconf/hal.h>
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
-
-#include <cyg/hal/hal_stub.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_intr.h>
-
-#ifdef CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT
-#include <cyg/hal/dbg-threads-api.h>    // dbg_currthread_id
-#endif
-
-/*----------------------------------------------------------------------
- * Asynchronous interrupt support
- */
-
-typedef unsigned short t_inst;
-
-static struct
-{
-  t_inst *targetAddr;
-  t_inst savedInstr;
-} asyncBuffer;
-
-/* Called to asynchronously interrupt a running program.
-   Must be passed address of instruction interrupted.
-   This is typically called in response to a debug port
-   receive interrupt.
-*/
-
-void
-install_async_breakpoint(void *pc)
-{
-  asyncBuffer.targetAddr = pc;
-  asyncBuffer.savedInstr = *(t_inst *)pc;
-  *(t_inst *)pc = (t_inst)HAL_BREAKINST;
-  __instruction_cache(CACHE_FLUSH);
-  __data_cache(CACHE_FLUSH);
-}
-
-/*--------------------------------------------------------------------*/
-/* Given a trap value TRAP, return the corresponding signal. */
-
-int __computeSignal (unsigned int trap_number)
-{
-    switch (trap_number) {
-    case 11:
-        return SIGTRAP;
-    default:
-        return SIGINT;
-    }
-}
-
-/*--------------------------------------------------------------------*/
-/* Return the trap number corresponding to the last-taken trap. */
-
-int __get_trap_number (void)
-{
-    extern int CYG_LABEL_NAME(_intvector);
-    // The vector is not not part of the GDB register set so get it
-    // directly from the save context.
-    return CYG_LABEL_NAME(_intvector);
-}
-
-/*--------------------------------------------------------------------*/
-/* Set the currently-saved pc register value to PC. This also updates NPC
-   as needed. */
-
-void set_pc (target_register_t pc)
-{
-    put_register (PC, pc);
-}
-
-
-/*----------------------------------------------------------------------
- * Single-step support. Lifted from CygMon.
- */
-
-#define NUM_SS_BPTS 2
-static target_register_t break_mem [NUM_SS_BPTS] = {0, 0};
-static unsigned char break_mem_data [NUM_SS_BPTS];
-
-/* Set a single-step breakpoint at ADDR.  Up to two such breakpoints
-   can be set; WHICH specifies which one to set (0 or 1).  */
-
-static void
-set_single_bp (int which, unsigned char *addr)
-{
-    if (break_mem[which] == 0) {
-        break_mem[which] = (target_register_t) addr;
-        break_mem_data[which] = *(unsigned short *)addr;
-        *(unsigned short *)addr = HAL_BREAKINST;
-    }
-}
-
-/* Clear any single-step breakpoint(s) that may have been set.  */
-
-void __clear_single_step (void)
-{
-  int x;
-  for (x = 0; x < NUM_SS_BPTS; x++)
-    {
-        unsigned char* addr = (unsigned char*) break_mem[x];
-        if (addr) {
-            *addr = break_mem_data[x];
-            break_mem[x] = 0;
-        }
-    }
-}
-
-/* Set breakpoint(s) to simulate a single step from the current PC.  */
-
-const static unsigned char opcode_length0[]={
-  0x04,0x02,0x04,0x02,0x04,0x02,0x04,0x02,  /* 0x58 */
-  0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,  /* 0x60 */
-  0x02,0x02,0x11,0x11,0x02,0x02,0x04,0x04,  /* 0x68 */
-  0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,  /* 0x70 */
-  0x08,0x04,0x06,0x04,0x04,0x04,0x04,0x04   /* 0x78 */
-};
-
-const static unsigned char opcode_length1[]={
-  0x10,0x00,0x00,0x00,0x11,0x00,0x00,0x00,
-  0x02,0x00,0x00,0x00,0x04,0x04,0x00,0x04
-};
-
-static int insn_length(unsigned char *pc)
-{
-  if (*pc != 0x01 && (*pc < 0x58 || *pc>=0x80)) 
-    return 2;
-  else
-    switch (*pc) {
-      case 0x01:
-       switch (*(pc+1) & 0xf0) {
-       case 0x00:
-         if (*(pc+2)== 0x78) {
-           return 10;
-         } else if (*(pc+2)== 0x6b) {
-           return (*(pc+3) & 0x20)?8:6;
-         } else {
-           return (*(pc+2) & 0x02)?6:4;
-         }
-       case 0x40:
-         return (*(pc+2) & 0x02)?8:6;
-       default:
-         return opcode_length1[*(pc+1)>>4];
-       }
-      case 0x6a:
-      case 0x6b:
-       return (*(pc+1) & 0x20)?6:4;
-      default:
-       return opcode_length0[*pc-0x58];
-    }
-}
-
-void __single_step (void)
-{
-  unsigned int pc = get_register (PC);
-  unsigned int next;
-  unsigned int opcode;
-
-  opcode = *(unsigned short *)pc;
-  next = pc + insn_length((unsigned char *)pc);
-  if (opcode == 0x5470) {
-    /* rts */ 
-    unsigned long *sp;
-    sp = (unsigned long *)get_register(SP);
-    next = *sp & 0x00ffffff;
-  } else if ((opcode & 0xfb00) != 0x5800) {
-    /* jmp / jsr */
-    int regs;
-    const short reg_tbl[]={ER0,ER1,ER2,ER3,ER4,ER5,ER6,SP};
-    switch(opcode & 0xfb00) {
-    case 0x5900:
-      regs = (opcode & 0x0070) >> 8;
-      next = get_register(reg_tbl[regs]);
-      break;
-    case 0x5a00:
-      next = *(unsigned long *)(pc+2) & 0x00ffffff;
-      break;
-    case 0x5b00:
-      next = *(unsigned long *)(opcode & 0xff);
-      break;
-    }
-  } else if (((opcode & 0xf000) == 0x4000) || ((opcode & 0xff00) == 0x5500)) { 
-    /* b**:8 */
-    unsigned long dsp;
-    dsp = (long)(opcode && 0xff)+pc+2;
-    set_single_bp(1,(unsigned char *)dsp);
-  } else if (((opcode & 0xff00) == 0x5800) || ((opcode & 0xff00) == 0x5c00)) { 
-    /* b**:16 */
-    unsigned long dsp;
-    dsp = *(unsigned short *)(pc+2)+pc+4;
-    set_single_bp(1,(unsigned char *)dsp);
-  }
-  set_single_bp(0,(unsigned char *)next);
-}
-
-void __install_breakpoints (void)
-{
-    /* NOP since single-step HW exceptions are used instead of
-       breakpoints. */
-}
-
-void __clear_breakpoints (void)
-{
-
-}
-
-
-/* If the breakpoint we hit is in the breakpoint() instruction, return a
-   non-zero value. */
-
-externC void CYG_LABEL_NAME(breakinst)(void);
-int
-__is_breakpoint_function ()
-{
-    return get_register (PC) == (target_register_t)&CYG_LABEL_NAME(breakinst);
-}
-
-
-/* Skip the current instruction. */
-
-void __skipinst (void)
-{
-    unsigned long pc = get_register (PC);
-
-    pc+=insn_length((unsigned char *)pc);
-    put_register (PC, (target_register_t) pc);
-}
-
-#endif // CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS
diff --git a/packages/hal/h8300/h8300h/v2_0/src/h8_sci.c b/packages/hal/h8300/h8300h/v2_0/src/h8_sci.c
deleted file mode 100644 (file)
index 822809c..0000000
+++ /dev/null
@@ -1,321 +0,0 @@
-//=============================================================================
-//
-//      h8_sci.c
-//
-//      Simple driver for the H8/300H Serial Communication Interface (SCI)
-//
-//=============================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//=============================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):   ysato
-// Contributors:ysato
-// Date:        2002-03-21
-// Description: Simple driver for the H8/300H Serial Communication Interface
-//              Clients of this file can configure the behavior with:
-//              CYGNUM_SCI_PORTS:  number of SCI ports
-//
-//####DESCRIPTIONEND####
-//
-//=============================================================================
-
-#include <pkgconf/hal.h>
-
-#ifdef CYGNUM_HAL_H8300_SCI_PORTS
-
-#include <cyg/hal/hal_io.h>             // IO macros
-#include <cyg/hal/drv_api.h>            // CYG_ISR_HANDLED
-#include <cyg/hal/hal_misc.h>           // Helper functions
-#include <cyg/hal/hal_intr.h>           // HAL_ENABLE/MASK/UNMASK_INTERRUPTS
-#include <cyg/hal/hal_arch.h>           // SAVE/RESTORE GP
-#include <cyg/hal/hal_if.h>             // Calling-if API
-#include <cyg/hal/mod_regs_sci.h>       // serial register definitions
-
-#include <cyg/hal/h8_sci.h>             // our header
-
-//--------------------------------------------------------------------------
-
-void
-cyg_hal_plf_sci_init_channel(void* chan)
-{
-    cyg_uint8 tmp;
-    cyg_uint8* base = ((channel_data_t *)chan)->base;
-
-    // Disable Tx/Rx interrupts, but enable Tx/Rx
-    HAL_WRITE_UINT8(base+_REG_SCSCR,
-                    CYGARC_REG_SCSCR_TE|CYGARC_REG_SCSCR_RE);
-
-    // 8-1-no parity.
-    HAL_WRITE_UINT8(base+_REG_SCSMR, 0);
-
-    // Set speed to CYGNUM_HAL_H8300_H8300H_SCI_DEFAULT_BAUD_RATE
-    HAL_READ_UINT8(base+_REG_SCSMR, tmp);
-    tmp &= ~CYGARC_REG_SCSMR_CKSx_MASK;
-    tmp |= CYGARC_SCBRR_CKSx(CYGNUM_HAL_H8300_H8300H_SCI_BAUD_RATE);
-    HAL_WRITE_UINT8(base+_REG_SCSMR, tmp);
-    HAL_WRITE_UINT8(base+_REG_SCBRR, CYGARC_SCBRR_N(CYGNUM_HAL_H8300_H8300H_SCI_BAUD_RATE));
-}
-
-static cyg_bool
-cyg_hal_plf_sci_getc_nonblock(void* __ch_data, cyg_uint8* ch)
-{
-    cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-    cyg_uint8 sr;
-
-    HAL_READ_UINT8(base+_REG_SCSSR, sr);
-    if (sr & CYGARC_REG_SCSSR_ORER) {
-        // Serial RX overrun. Clear error and let caller try again.
-        HAL_WRITE_UINT8(base+_REG_SCSSR, 
-                        CYGARC_REG_SCSSR_CLEARMASK & ~CYGARC_REG_SCSSR_ORER);
-        return false;
-    }
-
-    if ((sr & CYGARC_REG_SCSSR_RDRF) == 0)
-        return false;
-
-    HAL_READ_UINT8(base+_REG_SCRDR, *ch);
-
-    // Clear buffer full flag.
-    HAL_WRITE_UINT8(base+_REG_SCSSR, sr & ~CYGARC_REG_SCSSR_RDRF);
-
-    return true;
-}
-
-cyg_uint8
-cyg_hal_plf_sci_getc(void* __ch_data)
-{
-    cyg_uint8 ch;
-    CYGARC_HAL_SAVE_GP();
-
-    while(!cyg_hal_plf_sci_getc_nonblock(__ch_data, &ch));
-
-    CYGARC_HAL_RESTORE_GP();
-    return ch;
-}
-
-void
-cyg_hal_plf_sci_putc(void* __ch_data, cyg_uint8 c)
-{
-    cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-    cyg_uint8 sr;
-    CYGARC_HAL_SAVE_GP();
-
-    do {
-        HAL_READ_UINT8(base+_REG_SCSSR, sr);
-    } while ((sr & CYGARC_REG_SCSSR_TDRE) == 0);
-
-    HAL_WRITE_UINT8(base+_REG_SCTDR, c);
-
-    // Clear empty flag.
-    HAL_WRITE_UINT8(base+_REG_SCSSR, sr & ~CYGARC_REG_SCSSR_TDRE);
-
-    // Hang around until the character has been safely sent.
-    do {
-        HAL_READ_UINT8(base+_REG_SCSSR, sr);
-    } while ((sr & CYGARC_REG_SCSSR_TDRE) == 0);
-
-    CYGARC_HAL_RESTORE_GP();
-}
-
-
-static channel_data_t channels[CYGNUM_HAL_H8300_SCI_PORTS];
-
-static void
-cyg_hal_plf_sci_write(void* __ch_data, const cyg_uint8* __buf, 
-                         cyg_uint32 __len)
-{
-    CYGARC_HAL_SAVE_GP();
-
-    while(__len-- > 0)
-        cyg_hal_plf_sci_putc(__ch_data, *__buf++);
-
-    CYGARC_HAL_RESTORE_GP();
-}
-
-static void
-cyg_hal_plf_sci_read(void* __ch_data, cyg_uint8* __buf, cyg_uint32 __len)
-{
-    CYGARC_HAL_SAVE_GP();
-
-    while(__len-- > 0)
-        *__buf++ = cyg_hal_plf_sci_getc(__ch_data);
-
-    CYGARC_HAL_RESTORE_GP();
-}
-
-cyg_bool
-cyg_hal_plf_sci_getc_timeout(void* __ch_data, cyg_uint8* ch)
-{
-    channel_data_t* chan = (channel_data_t*)__ch_data;
-    int delay_count;
-    cyg_bool res;
-    CYGARC_HAL_SAVE_GP();
-
-    delay_count = chan->msec_timeout * 20; // delay in .1 ms steps
-
-    for(;;) {
-        res = cyg_hal_plf_sci_getc_nonblock(__ch_data, ch);
-        if (res || 0 == delay_count--)
-            break;
-        
-        CYGACC_CALL_IF_DELAY_US(50);
-    }
-
-    CYGARC_HAL_RESTORE_GP();
-    return res;
-}
-
-static int
-cyg_hal_plf_sci_control(void *__ch_data, __comm_control_cmd_t __func, ...)
-{
-    static int irq_state = 0;
-    channel_data_t* chan = (channel_data_t*)__ch_data;
-    cyg_uint8 scr;
-    int ret = 0;
-    CYGARC_HAL_SAVE_GP();
-
-    switch (__func) {
-    case __COMMCTL_IRQ_ENABLE:
-        irq_state = 1;
-        HAL_INTERRUPT_UNMASK(chan->isr_vector);
-        HAL_READ_UINT8(chan->base+_REG_SCSCR, scr);
-        scr |= CYGARC_REG_SCSCR_RIE;
-        HAL_WRITE_UINT8(chan->base+_REG_SCSCR, scr);
-        break;
-    case __COMMCTL_IRQ_DISABLE:
-        ret = irq_state;
-        irq_state = 0;
-        HAL_INTERRUPT_UNMASK(chan->isr_vector);
-        HAL_READ_UINT8(chan->base+_REG_SCSCR, scr);
-        scr &= ~CYGARC_REG_SCSCR_RIE;
-        HAL_WRITE_UINT8(chan->base+_REG_SCSCR, scr);
-        break;
-    case __COMMCTL_DBG_ISR_VECTOR:
-        ret = chan->isr_vector;
-        break;
-    case __COMMCTL_SET_TIMEOUT:
-    {
-        va_list ap;
-
-        va_start(ap, __func);
-
-        ret = chan->msec_timeout;
-        chan->msec_timeout = va_arg(ap, cyg_uint32);
-
-        va_end(ap);
-    }        
-    default:
-        break;
-    }
-    CYGARC_HAL_RESTORE_GP();
-    return ret;
-}
-
-static int
-cyg_hal_plf_sci_isr(void *__ch_data, int* __ctrlc, 
-                    CYG_ADDRWORD __vector, CYG_ADDRWORD __data)
-{
-    cyg_uint8 c, sr;
-    cyg_uint8* base = ((channel_data_t*)__ch_data)->base;
-    int res = 0;
-    CYGARC_HAL_SAVE_GP();
-
-    *__ctrlc = 0;
-    HAL_READ_UINT8(base+_REG_SCSSR, sr);
-    if (sr & CYGARC_REG_SCSSR_ORER) {
-        // Serial RX overrun. Clear error and hope protocol recovers.
-        HAL_WRITE_UINT8(base+_REG_SCSSR, 
-                        CYGARC_REG_SCSSR_CLEARMASK & ~CYGARC_REG_SCSSR_ORER);
-        res = CYG_ISR_HANDLED;
-    } else if (sr & CYGARC_REG_SCSSR_RDRF) {
-        // Received character
-        HAL_READ_UINT8(base+_REG_SCRDR, c);
-
-        // Clear buffer full flag.
-        HAL_WRITE_UINT8(base+_REG_SCSSR, 
-                        CYGARC_REG_SCSSR_CLEARMASK & ~CYGARC_REG_SCSSR_RDRF);
-
-        if( cyg_hal_is_break( &c , 1 ) )
-            *__ctrlc = 1;
-
-        res = CYG_ISR_HANDLED;
-    }
-
-    CYGARC_HAL_RESTORE_GP();
-    return res;
-}
-
-void
-cyg_hal_plf_sci_init(int sci_index, int comm_index, 
-                     int rcv_vect, cyg_uint8* base)
-{
-    channel_data_t* chan = &channels[sci_index];
-    hal_virtual_comm_table_t* comm;
-    int cur = CYGACC_CALL_IF_SET_CONSOLE_COMM(CYGNUM_CALL_IF_SET_COMM_ID_QUERY_CURRENT);
-
-    // Initialize channel table
-    chan->base = base;
-    chan->isr_vector = rcv_vect;
-    chan->msec_timeout = 1000;
-
-    // Disable interrupts.
-    HAL_INTERRUPT_MASK(chan->isr_vector);
-
-    // Init channel
-    
-    cyg_hal_plf_sci_init_channel(chan);
-
-    // Setup procs in the vector table
-
-    // Initialize channel procs
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(comm_index);
-    comm = CYGACC_CALL_IF_CONSOLE_PROCS();
-    CYGACC_COMM_IF_CH_DATA_SET(*comm, chan);
-    CYGACC_COMM_IF_WRITE_SET(*comm, cyg_hal_plf_sci_write);
-    CYGACC_COMM_IF_READ_SET(*comm, cyg_hal_plf_sci_read);
-    CYGACC_COMM_IF_PUTC_SET(*comm, cyg_hal_plf_sci_putc);
-    CYGACC_COMM_IF_GETC_SET(*comm, cyg_hal_plf_sci_getc);
-    CYGACC_COMM_IF_CONTROL_SET(*comm, cyg_hal_plf_sci_control);
-    CYGACC_COMM_IF_DBG_ISR_SET(*comm, cyg_hal_plf_sci_isr);
-    CYGACC_COMM_IF_GETC_TIMEOUT_SET(*comm, cyg_hal_plf_sci_getc_timeout);
-
-    // Restore original console
-    CYGACC_CALL_IF_SET_CONSOLE_COMM(cur);
-}
-
-#endif // CYGNUM_HAL_H8300_H8300H_SCI_PORTS
-
-//-----------------------------------------------------------------------------
-// end of sh_sci.c
diff --git a/packages/hal/powerpc/adder/v2_0/misc/redboot_ROMRAM.ecm b/packages/hal/powerpc/adder/v2_0/misc/redboot_ROMRAM.ecm
deleted file mode 100644 (file)
index 205122c..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    description "" ;
-    hardware    adder ;
-    template    redboot ;
-    package -hardware CYGPKG_HAL_POWERPC v2_0 ;
-    package -hardware CYGPKG_HAL_POWERPC_MPC8xx v2_0 ;
-    package -hardware CYGPKG_HAL_POWERPC_ADDER v2_0 ;
-    package -hardware CYGPKG_HAL_QUICC v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_POWERPC_ADDER v2_0 ;
-    package -hardware CYGPKG_DEVS_FLASH_AMD_AM29XXXXX v2_0 ;
-    package -hardware CYGPKG_DEVS_ETH_POWERPC_QUICC v2_0 ;
-    package -hardware CYGPKG_DEVS_ETH_POWERPC_ADDER v2_0 ;
-    package -template CYGPKG_HAL v2_0 ;
-    package -template CYGPKG_INFRA v2_0 ;
-    package -template CYGPKG_REDBOOT v2_0 ;
-    package -template CYGPKG_ISOINFRA v2_0 ;
-    package -template CYGPKG_LIBC_STRING v2_0 ;
-    package -template CYGPKG_NS_DNS v2_0 ;
-    package -template CYGPKG_CRC v2_0 ;
-    package CYGPKG_IO_FLASH v2_0 ;
-    package CYGPKG_IO_ETH_DRIVERS v2_0 ;
-};
-
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    inferred_value 0
-};
-
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    user_value 4096
-};
-
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    inferred_value 1
-};
-
-cdl_component CYG_HAL_STARTUP {
-    user_value ROMRAM
-};
-
-cdl_component CYGBLD_BUILD_REDBOOT {
-    user_value 1
-};
-
-cdl_option CYGBLD_REDBOOT_MIN_IMAGE_SIZE {
-    user_value 0x00030000
-};
-
-cdl_option CYGOPT_REDBOOT_FIS_REDBOOT_BACKUP {
-    user_value 0
-};
-
-cdl_option CYGSEM_REDBOOT_FLASH_COMBINED_FIS_AND_CONFIG {
-    user_value 1
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGPKG_NS_DNS_BUILD {
-    inferred_value 0
-};
-
-cdl_option CYGHWR_DEVS_FLASH_AMD_AM29LV320D {
-    inferred_value 1
-};
-
-
diff --git a/packages/hal/powerpc/adder/v2_0/src/redboot_linux_exec.c b/packages/hal/powerpc/adder/v2_0/src/redboot_linux_exec.c
deleted file mode 100644 (file)
index 1567223..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-//==========================================================================
-//
-//      redboot_linux_boot.c
-//
-//      RedBoot command to boot Linux
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-// Copyright (C) 2002 Gary Thomas
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//####OTHERCOPYRIGHTBEGIN####
-//
-//  The structure definitions below are taken from include/ppc/platforms/am860.h in
-//  the Linux kernel, Copyright (c) 2002 Gary Thomas, Copyright (c) 1997 Dan Malek. 
-//  Their presence here is for the express purpose of communication with the Linux 
-//  kernel being booted and is considered 'fair use' by the original author and
-//  are included with their permission.
-//
-//####OTHERCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter
-// Contributors: gthomas,msalter
-// Date:         2002-01-14
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-#include <pkgconf/hal_powerpc_quicc.h>
-
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_if.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-#ifdef CYGPKG_REDBOOT_NETWORKING
-#include <net/net.h>
-#endif
-
-#ifdef CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-#include CYGHWR_MEMORY_LAYOUT_H
-
-//=========================================================================
-
-// Exported CLI function(s)
-static void do_exec(int argc, char *argv[]);
-RedBoot_cmd("exec", 
-            "Execute a Linux image - with MMU off", 
-            "[-w timeout]\n"
-            "        [-c \"kernel command line\"] [<entry_point>]",
-            do_exec
-    );
-
-//=========================================================================
-// Imported from Linux kernel include/asm-ppc/am860.h
-//   Copyright (c) 2002 Gary Thomas (gary@chez-thomas.org)
-//   Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
-//   Used with permission of author(s).
-
-
-/* A Board Information structure that is given to a program when
- * RedBoot starts it up.
- */
-typedef struct bd_info {
-       unsigned int    bi_tag;         /* Should be 0x42444944 "BDID" */
-       unsigned int    bi_size;        /* Size of this structure */
-       unsigned int    bi_revision;    /* revision of this structure */
-       unsigned int    bi_bdate;       /* EPPCbug date, i.e. 0x11061997 */
-       unsigned int    bi_memstart;    /* Memory start address */
-       unsigned int    bi_memsize;     /* Memory (end) size in bytes */
-       unsigned int    bi_intfreq;     /* Internal Freq, in Hz */
-       unsigned int    bi_busfreq;     /* Bus Freq, in Hz */
-       unsigned int    bi_clun;        /* Boot device controller */
-       unsigned int    bi_dlun;        /* Boot device logical dev */
-       unsigned char   bi_enetaddr[6];
-       unsigned int    bi_baudrate;
-        unsigned char   *bi_cmdline;
-} bd_t;
-
-//
-// Execute a Linux kernel - this is a RedBoot CLI command
-//
-static void 
-do_exec(int argc, char *argv[])
-{
-    unsigned long entry;
-    bool wait_time_set, cmd_line_set;
-    int  wait_time;
-    char *cmd_line;
-    char *cline;
-    struct option_info opts[2];
-    hal_virtual_comm_table_t *__chan;
-    int baud_rate;
-
-    bd_t *board_info;
-    CYG_INTERRUPT_STATE oldints;
-    unsigned long sp = CYGMEM_REGION_ram+CYGMEM_REGION_ram_SIZE;
-    
-    init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM, 
-              (void **)&wait_time, (bool *)&wait_time_set, "wait timeout");
-    init_opts(&opts[1], 'c', true, OPTION_ARG_TYPE_STR, 
-              (void **)&cmd_line, (bool *)&cmd_line_set, "kernel command line");
-    entry = entry_address;  // Default from last 'load' operation
-    if (!scan_opts(argc, argv, 1, opts, 2, (void *)&entry, OPTION_ARG_TYPE_NUM, 
-                   "[physical] starting address")) {
-        return;
-    }
-
-    // Determine baud rate on current console
-    __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-    baud_rate = CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_GETBAUD);
-    if (baud_rate <= 0) {
-        baud_rate = CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD;
-    }
-
-    // Make a little space at the top of the stack, and align to
-    // 64-bit boundary.
-    sp = (sp-128) & ~7;  // The Linux boot code uses this space for FIFOs
-    
-    // Copy the commandline onto the stack, and set the SP to just below it.
-    if (cmd_line_set) {
-       int len,i;
-
-       // get length of string
-       for( len = 0; cmd_line[len] != '\0'; len++ );
-
-       // decrement sp by length of string and align to
-       // word boundary.
-       sp = (sp-(len+1)) & ~3;
-
-       // assign this SP value to command line start
-       cline = (char *)sp;
-
-       // copy command line over.
-       for( i = 0; i < len; i++ )
-           cline[i] = cmd_line[i];
-       cline[len] = '\0';
-
-    } else {
-        cline = (char *)NULL;
-    }
-    
-    // Set up parameter struct at top of stack
-    sp = sp-sizeof(bd_t);
-    board_info = (bd_t *)sp;
-    memset(board_info, sizeof(*board_info), 0);
-    
-    board_info->bi_tag         = 0x42444944;
-    board_info->bi_size                = sizeof(board_info);
-    board_info->bi_revision    = 1;
-    board_info->bi_bdate       = 0x06012002;
-    board_info->bi_memstart    = CYGMEM_REGION_ram;
-    board_info->bi_memsize     = CYGMEM_REGION_ram_SIZE;
-    board_info->bi_intfreq     = CYGHWR_HAL_POWERPC_BOARD_SPEED*1000000;
-    board_info->bi_busfreq     = 66*1000000;
-    board_info->bi_clun                = 0;  // ????
-    board_info->bi_dlun                = 0;  // ????
-    board_info->bi_baudrate     = baud_rate;
-    board_info->bi_cmdline      = cline;
-#ifdef CYGPKG_REDBOOT_NETWORKING
-    memcpy(board_info->bi_enetaddr, __local_enet_addr, sizeof(enet_addr_t));
-#endif
-
-    // adjust SP to 64 bit boundary, and leave a little space
-    // between it and the commandline for PowerPC calling
-    // conventions.
-       
-    sp = (sp-32)&~7;
-
-    if (wait_time_set) {
-        int script_timeout_ms = wait_time * 1000;
-#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-        unsigned char *hold_script = script;
-        script = (unsigned char *)0;
-#endif
-        diag_printf("About to start execution at %p - abort with ^C within %d seconds\n",
-                    (void *)entry, wait_time);
-        while (script_timeout_ms >= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT) {
-            int res;
-            char line[80];
-            res = _rb_gets(line, sizeof(line), CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT);
-            if (res == _GETS_CTRLC) {
-#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-                script = hold_script;  // Re-enable script
-#endif
-                return;
-            }
-            script_timeout_ms -= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT;
-        }
-    }
-
-    // Disable interrupts
-    HAL_DISABLE_INTERRUPTS(oldints);
-
-    // Put the caches to sleep.
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_DISABLE();
-    HAL_DCACHE_DISABLE();
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_INVALIDATE_ALL();
-    HAL_DCACHE_INVALIDATE_ALL();
-
-//    diag_printf("entry %08x, sp %08x, info %08x, cmd line %08x, baud %d\n",
-//             entry, sp, board_info, cline, baud_rate);
-//    breakpoint();
-    
-    // Call into Linux
-    __asm__ volatile (        
-                      // Start by disabling MMU - the mappings are
-                      // 1-1 so this should not cause any problems
-                      "mfmsr   3\n"
-                      "li      4,0xFFFFFFCF\n"
-                      "and     3,3,4\n"
-                      "sync\n"
-                      "mtmsr   3\n"
-                      "sync\n"
-
-                      // Now set up parameters to jump into linux
-
-                      "mtlr    %0\n"           // set entry address in LR
-                      "mr      1,%1\n"         // set stack pointer
-                      "mr      3,%2\n"         // set board info in R3
-                      "mr      4,%3\n"         // set command line in R4
-                      "blr          \n"        // jump into linux
-                      :
-                      : "r"(entry),"r"(sp),"r"(board_info),"r"(cline)
-                      : "r3", "r4"
-                    
-                    );
-}
-
-#endif // CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-//=========================================================================
-// EOF redboot_linux_exec.c
diff --git a/packages/hal/powerpc/csb281/v2_0/src/redboot_linux_exec.c b/packages/hal/powerpc/csb281/v2_0/src/redboot_linux_exec.c
deleted file mode 100644 (file)
index e6b07de..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-//==========================================================================
-//
-//      redboot_linux_boot.c
-//
-//      RedBoot command to boot Linux
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-// Copyright (C) 2002 Gary Thomas
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//####OTHERCOPYRIGHTBEGIN####
-//
-//  The structure definitions below are taken from include/ppc/platforms/am860.h in
-//  the Linux kernel, Copyright (c) 2002 Gary Thomas, Copyright (c) 1997 Dan Malek. 
-//  Their presence here is for the express purpose of communication with the Linux 
-//  kernel being booted and is considered 'fair use' by the original author and
-//  are included with their permission.
-//
-//####OTHERCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter
-// Contributors: gthomas,msalter
-// Date:         2002-01-14
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_if.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-#ifdef CYGPKG_REDBOOT_NETWORKING
-#include <net/net.h>
-#endif
-
-#ifdef CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-#include CYGHWR_MEMORY_LAYOUT_H
-
-//=========================================================================
-
-// Exported CLI function(s)
-static void do_exec(int argc, char *argv[]);
-RedBoot_cmd("exec", 
-            "Execute a Linux image - with MMU off", 
-            "[-w timeout]\n"
-            "        [-c \"kernel command line\"] [<entry_point>]",
-            do_exec
-    );
-
-//=========================================================================
-// Imported from Linux kernel include/asm-ppc/am860.h
-//   Copyright (c) 2002 Gary Thomas (gary@chez-thomas.org)
-//   Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
-//   Used with permission of author(s).
-
-
-/* A Board Information structure that is given to a program when
- * RedBoot starts it up.
- */
-typedef struct bd_info {
-       unsigned int    bi_tag;         /* Should be 0x42444944 "BDID" */
-       unsigned int    bi_size;        /* Size of this structure */
-       unsigned int    bi_revision;    /* revision of this structure */
-       unsigned int    bi_bdate;       /* EPPCbug date, i.e. 0x11061997 */
-       unsigned int    bi_memstart;    /* Memory start address */
-       unsigned int    bi_memsize;     /* Memory (end) size in bytes */
-       unsigned int    bi_intfreq;     /* Internal Freq, in Hz */
-       unsigned int    bi_busfreq;     /* Bus Freq, in Hz */
-       unsigned int    bi_clun;        /* Boot device controller */
-       unsigned int    bi_dlun;        /* Boot device logical dev */
-       unsigned char   bi_enetaddr[6];
-       unsigned int    bi_baudrate;
-        unsigned char   *bi_cmdline;
-} bd_t;
-
-//
-// Execute a Linux kernel - this is a RedBoot CLI command
-//
-static void 
-do_exec(int argc, char *argv[])
-{
-    unsigned long entry;
-    bool wait_time_set, cmd_line_set;
-    int  wait_time;
-    char *cmd_line;
-    char *cline;
-    struct option_info opts[2];
-    hal_virtual_comm_table_t *__chan;
-    int baud_rate;
-
-    bd_t *board_info;
-    CYG_INTERRUPT_STATE oldints;
-    unsigned long sp = CYGMEM_REGION_ram+CYGMEM_REGION_ram_SIZE;
-    
-    init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM, 
-              (void **)&wait_time, (bool *)&wait_time_set, "wait timeout");
-    init_opts(&opts[1], 'c', true, OPTION_ARG_TYPE_STR, 
-              (void **)&cmd_line, (bool *)&cmd_line_set, "kernel command line");
-    entry = entry_address;  // Default from last 'load' operation
-    if (!scan_opts(argc, argv, 1, opts, 2, (void *)&entry, OPTION_ARG_TYPE_NUM, 
-                   "[physical] starting address")) {
-        return;
-    }
-
-    // Determine baud rate on current console
-    __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-    baud_rate = CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_GETBAUD);
-    if (baud_rate <= 0) {
-        baud_rate = CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD;
-    }
-
-    // Make a little space at the top of the stack, and align to
-    // 64-bit boundary.
-    sp = (sp-128) & ~7;  // The Linux boot code uses this space for FIFOs
-    
-    // Copy the commandline onto the stack, and set the SP to just below it.
-    if (cmd_line_set) {
-       int len,i;
-
-       // get length of string
-       for( len = 0; cmd_line[len] != '\0'; len++ );
-
-       // decrement sp by length of string and align to
-       // word boundary.
-       sp = (sp-(len+1)) & ~3;
-
-       // assign this SP value to command line start
-       cline = (char *)sp;
-
-       // copy command line over.
-       for( i = 0; i < len; i++ )
-           cline[i] = cmd_line[i];
-       cline[len] = '\0';
-
-    } else {
-        cline = (char *)NULL;
-    }
-    
-    // Set up parameter struct at top of stack
-    sp = sp-sizeof(bd_t);
-    board_info = (bd_t *)sp;
-    memset(board_info, sizeof(*board_info), 0);
-    
-    board_info->bi_tag         = 0x42444944;
-    board_info->bi_size                = sizeof(board_info);
-    board_info->bi_revision    = 1;
-    board_info->bi_bdate       = 0x06012002;
-    board_info->bi_memstart    = CYGMEM_REGION_ram;
-    board_info->bi_memsize     = CYGMEM_REGION_ram_SIZE;
-    board_info->bi_intfreq     = CYGHWR_HAL_POWERPC_CPU_SPEED*1000000;
-    board_info->bi_busfreq     = CYGHWR_HAL_POWERPC_MEM_SPEED*1000000;
-    board_info->bi_clun                = 0;  // ????
-    board_info->bi_dlun                = 0;  // ????
-    board_info->bi_baudrate     = baud_rate;
-    board_info->bi_cmdline      = cline;
-#ifdef CYGPKG_REDBOOT_NETWORKING
-    memcpy(board_info->bi_enetaddr, __local_enet_addr, sizeof(enet_addr_t));
-#endif
-
-    // adjust SP to 64 bit boundary, and leave a little space
-    // between it and the commandline for PowerPC calling
-    // conventions.
-       
-    sp = (sp-32)&~7;
-
-    if (wait_time_set) {
-        int script_timeout_ms = wait_time * 1000;
-#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-        unsigned char *hold_script = script;
-        script = (unsigned char *)0;
-#endif
-        diag_printf("About to start execution at %p - abort with ^C within %d seconds\n",
-                    (void *)entry, wait_time);
-        while (script_timeout_ms >= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT) {
-            int res;
-            char line[80];
-            res = _rb_gets(line, sizeof(line), CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT);
-            if (res == _GETS_CTRLC) {
-#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-                script = hold_script;  // Re-enable script
-#endif
-                return;
-            }
-            script_timeout_ms -= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT;
-        }
-    }
-
-    // Disable interrupts
-    HAL_DISABLE_INTERRUPTS(oldints);
-
-    // Put the caches to sleep.
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_DISABLE();
-    HAL_DCACHE_DISABLE();
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_INVALIDATE_ALL();
-    HAL_DCACHE_INVALIDATE_ALL();
-
-//    diag_printf("entry %08x, sp %08x, info %08x, cmd line %08x, baud %d\n",
-//             entry, sp, board_info, cline, baud_rate);
-//    breakpoint();
-    
-    // Call into Linux
-    __asm__ volatile (        
-                      // Start by disabling MMU - the mappings are
-                      // 1-1 so this should not cause any problems
-                      "mfmsr   3\n"
-                      "li      4,0xFFFFFFCF\n"
-                      "and     3,3,4\n"
-                      "sync\n"
-                      "mtmsr   3\n"
-                      "sync\n"
-
-                      // Now set up parameters to jump into linux
-
-                      "mtlr    %0\n"           // set entry address in LR
-                      "mr      1,%1\n"         // set stack pointer
-                      "mr      3,%2\n"         // set board info in R3
-                      "mr      4,%3\n"         // set command line in R4
-                      "blr          \n"        // jump into linux
-                      :
-                      : "r"(entry),"r"(sp),"r"(board_info),"r"(cline)
-                      : "r3", "r4"
-                    
-                    );
-}
-
-#endif // CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-//=========================================================================
-// EOF redboot_linux_exec.c
diff --git a/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_ram.h b/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_ram.h
deleted file mode 100644 (file)
index 210df9f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// eCos memory layout - Fri Oct 20 10:25:48 2000
-
-// This is a generated file - do not edit
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-#endif
-
-#define CYGMEM_REGION_rom         (0x000000)
-#define CYGMEM_REGION_rom_SIZE    (0x06ffff)
-#define CYGMEM_REGION_rom_ATTR    (CYGMEM_REGION_ATTR_RO)
-
-#define CYGMEM_REGION_ram         (0x400000)
-#define CYGMEM_REGION_ram_SIZE    (0x0fffff)
-#define CYGMEM_REGION_ram_ATTR    (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-
-#define CYGMEM_REGION_iram        (0x3f9800)
-#define CYGMEM_REGION_iram_SIZE   (0x006800)
-#define CYGMEM_REGION_iram_ATTR   (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-
-#define CYGMEM_REGION_eflash      (0x800000)
-#define CYGMEM_REGION_eflash_SIZE (0x1fffff)
-#define CYGMEM_REGION_eflash_ATTR (CYGMEM_REGION_ATTR_RO)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_vectors) [];
-#endif
-#define CYGMEM_SECTION_reserved_vectors (CYG_LABEL_NAME (__reserved_vectors))
-#define CYGMEM_SECTION_reserved_vectors_SIZE (0x2000)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_vsr_table) [];
-#endif
-#define CYGMEM_SECTION_reserved_vsr_table (CYG_LABEL_NAME (__reserved_vsr_table))
-#define CYGMEM_SECTION_reserved_vsr_table_SIZE (0x200)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_virtual_table) [];
-#endif
-#define CYGMEM_SECTION_reserved_virtual_table (CYG_LABEL_NAME (__reserved_virtual_table))
-#define CYGMEM_SECTION_reserved_virtual_table_SIZE (0x100)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (0x00500000 - (size_t) CYG_LABEL_NAME (__heap1))
diff --git a/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_ram.ldi b/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_ram.ldi
deleted file mode 100644 (file)
index 0c8d189..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-  rom          : ORIGIN = 0x00000000, LENGTH = 0x0006ffff   /* internal flash */
-  ram(WA)      : ORIGIN = 0x00400000, LENGTH = 0x000fffff   /* external RAM   */
-  iram(WA)     : ORIGIN = 0x003f9800, LENGTH = 0x00006800   /* internal RAM   */
-  eflash(RXIW) : ORIGIN = 0x00800000, LENGTH = 0x001fffff   /* external FLASH */
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-    CYG_LABEL_DEFN(__reserved_vectors) = 0x00000000; 
-
-    . = 0x3f9800;
-    CYG_LABEL_DEFN(__reserved_vsr_table) = ALIGN (0x10); 
-    . = CYG_LABEL_DEFN(__reserved_vsr_table) + 0x200;
-    CYG_LABEL_DEFN(__reserved_virtual_table) = ALIGN (0x10); 
-    . = 0x00400000;
-
-    SECTION_vectors          (ram, 0x00400000,  LMA_EQ_VMA)
-    SECTION_text             (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_fini             (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_rodata1          (ram, ALIGN (0x8), LMA_EQ_VMA)
-    SECTION_rodata           (ram, ALIGN (0x8), LMA_EQ_VMA)
-    SECTION_fixup            (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_gcc_except_table (ram, ALIGN (0x1), LMA_EQ_VMA)
-    SECTION_data             (ram, ALIGN (0x8), LMA_EQ_VMA)
-    SECTION_sbss             (ram, ALIGN (0x4), LMA_EQ_VMA)
-    SECTION_bss              (ram, ALIGN (0x10), LMA_EQ_VMA)
-    CYG_LABEL_DEFN(__heap1) = ALIGN (0x8);
-    SECTIONS_END
-}
diff --git a/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_rom.h b/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_rom.h
deleted file mode 100644 (file)
index 210df9f..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// eCos memory layout - Fri Oct 20 10:25:48 2000
-
-// This is a generated file - do not edit
-
-#ifndef __ASSEMBLER__
-#include <cyg/infra/cyg_type.h>
-#include <stddef.h>
-#endif
-
-#define CYGMEM_REGION_rom         (0x000000)
-#define CYGMEM_REGION_rom_SIZE    (0x06ffff)
-#define CYGMEM_REGION_rom_ATTR    (CYGMEM_REGION_ATTR_RO)
-
-#define CYGMEM_REGION_ram         (0x400000)
-#define CYGMEM_REGION_ram_SIZE    (0x0fffff)
-#define CYGMEM_REGION_ram_ATTR    (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-
-#define CYGMEM_REGION_iram        (0x3f9800)
-#define CYGMEM_REGION_iram_SIZE   (0x006800)
-#define CYGMEM_REGION_iram_ATTR   (CYGMEM_REGION_ATTR_R | CYGMEM_REGION_ATTR_W)
-
-#define CYGMEM_REGION_eflash      (0x800000)
-#define CYGMEM_REGION_eflash_SIZE (0x1fffff)
-#define CYGMEM_REGION_eflash_ATTR (CYGMEM_REGION_ATTR_RO)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_vectors) [];
-#endif
-#define CYGMEM_SECTION_reserved_vectors (CYG_LABEL_NAME (__reserved_vectors))
-#define CYGMEM_SECTION_reserved_vectors_SIZE (0x2000)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_vsr_table) [];
-#endif
-#define CYGMEM_SECTION_reserved_vsr_table (CYG_LABEL_NAME (__reserved_vsr_table))
-#define CYGMEM_SECTION_reserved_vsr_table_SIZE (0x200)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__reserved_virtual_table) [];
-#endif
-#define CYGMEM_SECTION_reserved_virtual_table (CYG_LABEL_NAME (__reserved_virtual_table))
-#define CYGMEM_SECTION_reserved_virtual_table_SIZE (0x100)
-
-#ifndef __ASSEMBLER__
-extern char CYG_LABEL_NAME (__heap1) [];
-#endif
-#define CYGMEM_SECTION_heap1 (CYG_LABEL_NAME (__heap1))
-#define CYGMEM_SECTION_heap1_SIZE (0x00500000 - (size_t) CYG_LABEL_NAME (__heap1))
diff --git a/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_rom.ldi b/packages/hal/powerpc/ec555/v2_0/include/pkgconf/mlt_powerpc_ec555_rom.ldi
deleted file mode 100644 (file)
index bd3753d..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-
-#include <cyg/infra/cyg_type.inc>
-
-MEMORY
-{
-  rom          : ORIGIN = 0x00000000, LENGTH = 0x0006ffff   /* internal flash */
-  ram(WA)      : ORIGIN = 0x00400000, LENGTH = 0x000fffff   /* external RAM   */
-  iram(WA)     : ORIGIN = 0x003f9800, LENGTH = 0x00006800   /* internal RAM   */
-  eflash(RXIW) : ORIGIN = 0x00800000, LENGTH = 0x001fffff   /* external FLASH */
-}
-
-SECTIONS
-{
-    SECTIONS_BEGIN
-
-    CYG_LABEL_DEFN(__reserved_vectors) = 0x00000000;
-
-    SECTION_vectors          (rom, 0x00000000,   LMA_EQ_VMA)
-    SECTION_text             (rom, ALIGN (0x4),  LMA_EQ_VMA)
-    SECTION_fini             (rom, ALIGN (0x8),  LMA_EQ_VMA)
-    SECTION_rodata1          (rom, ALIGN (0x8),  LMA_EQ_VMA)
-    SECTION_rodata           (rom, ALIGN (0x4),  LMA_EQ_VMA)
-    SECTION_fixup            (rom, ALIGN (0x4),  LMA_EQ_VMA)
-    SECTION_gcc_except_table (rom, ALIGN (0x1),  LMA_EQ_VMA)
-
-    . = 0x3f9800;
-    CYG_LABEL_DEFN(__reserved_vsr_table) = ALIGN (0x10);
-    . = CYG_LABEL_DEFN(__reserved_vsr_table) + 0x200;
-    CYG_LABEL_DEFN(__reserved_virtual_table) = ALIGN (0x10);
-    . = CYG_LABEL_DEFN(__reserved_virtual_table) + 0x100;
-
-    SECTION_data             (iram, ALIGN (0x10), FOLLOWING (.gcc_except_table))
-    SECTION_sbss             (iram, ALIGN (0x4),  LMA_EQ_VMA)
-    SECTION_bss              (iram, ALIGN (0x10), LMA_EQ_VMA)
-
-    . = 0x400000;
-
-    CYG_LABEL_DEFN(__heap1) = ALIGN(0x8);
-
-    SECTIONS_END
-}
diff --git a/packages/hal/powerpc/mbx/v2_0/src/redboot_linux_exec.c b/packages/hal/powerpc/mbx/v2_0/src/redboot_linux_exec.c
deleted file mode 100644 (file)
index 7bd7b55..0000000
+++ /dev/null
@@ -1,311 +0,0 @@
-//==========================================================================
-//
-//      redboot_linux_boot.c
-//
-//      RedBoot command to boot Linux
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//####OTHERCOPYRIGHTBEGIN####
-//
-//  The structure definitions below are taken from include/asm-ppc/mbx.h in
-//  the Linux kernel, Copyright (c) 1997 Dan Malek. Their presence
-//  here is for the express purpose of communication with the Linux kernel
-//  being booted and is considered 'fair use' by the original author and
-//  are included with his permission.
-//
-//####OTHERCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter
-// Contributors: gthomas,msalter
-// Date:         2002-01-14
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-#include CYGBLD_HAL_TARGET_H
-#include CYGBLD_HAL_PLATFORM_H
-
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-#ifdef CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-#include CYGHWR_MEMORY_LAYOUT_H
-
-//=========================================================================
-
-// Exported CLI function(s)
-static void do_exec(int argc, char *argv[]);
-RedBoot_cmd("exec", 
-            "Execute an image - with MMU off", 
-            "[-w timeout]\n"
-            "        [-r <ramdisk addr> [-s <ramdisk length>]]\n"
-            "        [-c \"kernel command line\"] [<entry_point>]",
-            do_exec
-    );
-
-//=========================================================================
-// Imported from Linux kernel include/asm-ppc/mbx.h
-//   Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
-//   Used with permission of author.
-
-
-/* A Board Information structure that is given to a program when
- * EPPC-Bug starts it up.
- */
-typedef struct bd_info {
-       unsigned int    bi_tag;         /* Should be 0x42444944 "BDID" */
-       unsigned int    bi_size;        /* Size of this structure */
-       unsigned int    bi_revision;    /* revision of this structure */
-       unsigned int    bi_bdate;       /* EPPCbug date, i.e. 0x11061997 */
-       unsigned int    bi_memstart;    /* Memory start address */
-       unsigned int    bi_memsize;     /* Memory (end) size in bytes */
-       unsigned int    bi_intfreq;     /* Internal Freq, in Hz */
-       unsigned int    bi_busfreq;     /* Bus Freq, in Hz */
-       unsigned int    bi_clun;        /* Boot device controller */
-       unsigned int    bi_dlun;        /* Boot device logical dev */
-
-       /* These fields are not part of the board information structure
-        * provided by the boot rom.  They are filled in by embed_config.c
-        * so we have the information consistent with other platforms.
-        */
-       unsigned char   bi_enetaddr[6];
-       unsigned int    bi_baudrate;
-} bd_t;
-
-/* Memory map for the MBX as configured by EPPC-Bug.  We could reprogram
- * The SIU and PCI bridge, and try to use larger MMU pages, but the
- * performance gain is not measureable and it certainly complicates the
- * generic MMU model.
- *
- * In a effort to minimize memory usage for embedded applications, any
- * PCI driver or ISA driver must request or map the region required by
- * the device.  For convenience (and since we can map up to 4 Mbytes with
- * a single page table page), the MMU initialization will map the
- * NVRAM, Status/Control registers, CPM Dual Port RAM, and the PCI
- * Bridge CSRs 1:1 into the kernel address space.
- */
-#define PCI_ISA_IO_ADDR                ((unsigned)0x80000000)
-#define PCI_ISA_IO_SIZE                ((unsigned int)(512 * 1024 * 1024))
-#define PCI_IDE_ADDR           ((unsigned)0x81000000)
-#define PCI_ISA_MEM_ADDR       ((unsigned)0xc0000000)
-#define PCI_ISA_MEM_SIZE       ((unsigned int)(512 * 1024 * 1024))
-#define PCMCIA_MEM_ADDR                ((unsigned int)0xe0000000)
-#define PCMCIA_MEM_SIZE                ((unsigned int)(64 * 1024 * 1024))
-#define PCMCIA_DMA_ADDR                ((unsigned int)0xe4000000)
-#define PCMCIA_DMA_SIZE                ((unsigned int)(64 * 1024 * 1024))
-#define PCMCIA_ATTRB_ADDR      ((unsigned int)0xe8000000)
-#define PCMCIA_ATTRB_SIZE      ((unsigned int)(64 * 1024 * 1024))
-#define PCMCIA_IO_ADDR         ((unsigned int)0xec000000)
-#define PCMCIA_IO_SIZE         ((unsigned int)(64 * 1024 * 1024))
-#define NVRAM_ADDR             ((unsigned int)0xfa000000)
-#define NVRAM_SIZE             ((unsigned int)(1 * 1024 * 1024))
-#define MBX_CSR_ADDR           ((unsigned int)0xfa100000)
-#define MBX_CSR_SIZE           ((unsigned int)(1 * 1024 * 1024))
-#define IMAP_ADDR              ((unsigned int)0xfa200000)
-#define IMAP_SIZE              ((unsigned int)(64 * 1024))
-#define PCI_CSR_ADDR           ((unsigned int)0xfa210000)
-#define PCI_CSR_SIZE           ((unsigned int)(64 * 1024))
-
-/* Map additional physical space into well known virtual addresses.  Due
- * to virtual address mapping, these physical addresses are not accessible
- * in a 1:1 virtual to physical mapping.
- */
-#define ISA_IO_VIRT_ADDR       ((unsigned int)0xfa220000)
-#define ISA_IO_VIRT_SIZE       ((unsigned int)64 * 1024)
-
-/* Interrupt assignments.
- * These are defined (and fixed) by the MBX hardware implementation.
- */
-#define POWER_FAIL_INT SIU_IRQ0        /* Power fail */
-#define TEMP_HILO_INT  SIU_IRQ1        /* Temperature sensor */
-#define QSPAN_INT      SIU_IRQ2        /* PCI Bridge (DMA CTLR?) */
-#define ISA_BRIDGE_INT SIU_IRQ3        /* All those PC things */
-#define COMM_L_INT     SIU_IRQ6        /* MBX Comm expansion connector pin */
-#define STOP_ABRT_INT  SIU_IRQ7        /* Stop/Abort header pin */
-
-/* The MBX uses the 8259.
-*/
-#define NR_8259_INTS   16
-
-// End of imported data/structures
-//=========================================================================
-
-#define MBX_CSR_COM1            0x02  // COM1 enabled
-
-//
-// Execute a Linux kernel - this is a RedBoot CLI command
-//
-static void 
-do_exec(int argc, char *argv[])
-{
-    unsigned long entry;
-    bool wait_time_set;
-    int  wait_time;
-    bool cmd_line_set, ramdisk_addr_set, ramdisk_size_set;
-    unsigned long ramdisk_addr, ramdisk_size;
-    char *cmd_line;
-    char *cline;
-    struct option_info opts[6];
-    
-    bd_t *board_info;
-
-    CYG_INTERRUPT_STATE oldints;
-    unsigned long sp = CYGMEM_REGION_ram+CYGMEM_REGION_ram_SIZE;
-    
-    init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM, 
-              (void **)&wait_time, (bool *)&wait_time_set, "wait timeout");
-    init_opts(&opts[1], 'c', true, OPTION_ARG_TYPE_STR, 
-              (void **)&cmd_line, (bool *)&cmd_line_set, "kernel command line");
-    init_opts(&opts[2], 'r', true, OPTION_ARG_TYPE_NUM, 
-              (void **)&ramdisk_addr, (bool *)&ramdisk_addr_set, "ramdisk_addr");
-    init_opts(&opts[3], 's', true, OPTION_ARG_TYPE_NUM, 
-              (void **)&ramdisk_size, (bool *)&ramdisk_size_set, "ramdisk_size");
-    if (!scan_opts(argc, argv, 1, opts, 4, (void *)&entry, OPTION_ARG_TYPE_NUM, 
-                   "[physical] starting address"))
-    {
-        return;
-    }
-
-    // Make a little space at the top of the stack, and align to
-    // 64-bit boundary.
-    sp = (sp-8) & ~7;
-    
-    // Set up parameter struct at top of stack
-
-    sp = sp-sizeof(bd_t);
-    
-    board_info = (bd_t *)sp;
-    
-    board_info->bi_tag         = 0x42444944;
-    board_info->bi_size                = sizeof(board_info);
-    board_info->bi_revision    = 1;
-    board_info->bi_bdate       = 0x11061997;
-    board_info->bi_memstart    = CYGMEM_REGION_ram;
-    board_info->bi_memsize     = CYGMEM_REGION_ram_SIZE;
-    board_info->bi_intfreq     = CYGHWR_HAL_POWERPC_BOARD_SPEED;
-    board_info->bi_busfreq     = 66; // ????
-    board_info->bi_clun                = 0;  // ????
-    board_info->bi_dlun                = 0;  // ????
-
-    // Copy the commandline onto the stack, and set the SP to just below it.
-
-    // If no cmd_line set in args, set it to empty string.
-    if( !cmd_line_set )
-       cmd_line = "";
-    
-    {
-       int len,i;
-
-       // get length of string
-       for( len = 0; cmd_line[len] != '\0'; len++ );
-
-       // decrement sp by length of string and align to
-       // word boundary.
-       sp = (sp-(len+1)) & ~3;
-
-       // assign this SP value to command line start
-       cline = (char *)sp;
-
-       // copy command line over.
-       for( i = 0; i < len; i++ )
-           cline[i] = cmd_line[i];
-       cline[len] = '\0';
-
-       // adjust SP to 64 bit boundary, and leave a little space
-       // between it and the commandline for PowerPC calling
-       // conventions.
-       
-       sp = (sp-32)&~7;
-    
-    }
-
-    // Disable interrupts
-    HAL_DISABLE_INTERRUPTS(oldints);
-
-    // Put the caches to sleep.
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_DISABLE();
-    HAL_DCACHE_DISABLE();
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_INVALIDATE_ALL();
-    HAL_DCACHE_INVALIDATE_ALL();
-
-//    diag_printf("entry %08x sp %08x bi %08x cl %08x\n",
-//             entry,sp,board_info,cline);
-//    breakpoint();
-    
-    // Call into Linux
-    *(volatile unsigned char *)MBX_CSR_ADDR |= MBX_CSR_COM1;  // Magic that says COM1 enabled
-    __asm__ volatile (        
-                       // Linux seems to want the I/O mapped at 0xFA200000
-                       "lis     3,0xFA20\n"
-                       "mtspr   638,3\n"
-
-                      // Start by disabling MMU - the mappings are
-                      // 1-1 so this should not cause any problems
-                      "mfmsr   3\n"
-                      "li      4,0xFFFFFFCF\n"
-                      "and     3,3,4\n"
-                      "sync\n"
-                      "mtmsr   3\n"
-                      "sync\n"
-
-                      // Now set up parameters to jump into linux
-
-                      "mtlr    %0\n"           // set entry address in LR
-                      "mr      1,%1\n"         // set stack pointer
-                      "mr      3,%2\n"         // set board info in R3
-                      "mr      4,%3\n"         // set command line in R4
-                      "blr          \n"        // jump into linux
-                      :
-                      : "r"(entry),"r"(sp),"r"(board_info),"r"(cline)
-                      : "r3", "r4"
-                    
-                    );
-}
-
-#endif // CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-//=========================================================================
-// EOF redboot_linux_exec.c
diff --git a/packages/hal/powerpc/viper/v2_0/src/redboot_linux_exec.c b/packages/hal/powerpc/viper/v2_0/src/redboot_linux_exec.c
deleted file mode 100644 (file)
index 1567223..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-//==========================================================================
-//
-//      redboot_linux_boot.c
-//
-//      RedBoot command to boot Linux
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-// Copyright (C) 2002 Gary Thomas
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//####OTHERCOPYRIGHTBEGIN####
-//
-//  The structure definitions below are taken from include/ppc/platforms/am860.h in
-//  the Linux kernel, Copyright (c) 2002 Gary Thomas, Copyright (c) 1997 Dan Malek. 
-//  Their presence here is for the express purpose of communication with the Linux 
-//  kernel being booted and is considered 'fair use' by the original author and
-//  are included with their permission.
-//
-//####OTHERCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    msalter
-// Contributors: gthomas,msalter
-// Date:         2002-01-14
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-#include <pkgconf/hal_powerpc_quicc.h>
-
-#include <cyg/hal/hal_arch.h>
-#include <cyg/hal/hal_if.h>
-#include <cyg/hal/hal_intr.h>
-#include <cyg/hal/hal_cache.h>
-
-#ifdef CYGPKG_REDBOOT_NETWORKING
-#include <net/net.h>
-#endif
-
-#ifdef CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-#include CYGHWR_MEMORY_LAYOUT_H
-
-//=========================================================================
-
-// Exported CLI function(s)
-static void do_exec(int argc, char *argv[]);
-RedBoot_cmd("exec", 
-            "Execute a Linux image - with MMU off", 
-            "[-w timeout]\n"
-            "        [-c \"kernel command line\"] [<entry_point>]",
-            do_exec
-    );
-
-//=========================================================================
-// Imported from Linux kernel include/asm-ppc/am860.h
-//   Copyright (c) 2002 Gary Thomas (gary@chez-thomas.org)
-//   Copyright (c) 1997 Dan Malek (dmalek@jlc.net)
-//   Used with permission of author(s).
-
-
-/* A Board Information structure that is given to a program when
- * RedBoot starts it up.
- */
-typedef struct bd_info {
-       unsigned int    bi_tag;         /* Should be 0x42444944 "BDID" */
-       unsigned int    bi_size;        /* Size of this structure */
-       unsigned int    bi_revision;    /* revision of this structure */
-       unsigned int    bi_bdate;       /* EPPCbug date, i.e. 0x11061997 */
-       unsigned int    bi_memstart;    /* Memory start address */
-       unsigned int    bi_memsize;     /* Memory (end) size in bytes */
-       unsigned int    bi_intfreq;     /* Internal Freq, in Hz */
-       unsigned int    bi_busfreq;     /* Bus Freq, in Hz */
-       unsigned int    bi_clun;        /* Boot device controller */
-       unsigned int    bi_dlun;        /* Boot device logical dev */
-       unsigned char   bi_enetaddr[6];
-       unsigned int    bi_baudrate;
-        unsigned char   *bi_cmdline;
-} bd_t;
-
-//
-// Execute a Linux kernel - this is a RedBoot CLI command
-//
-static void 
-do_exec(int argc, char *argv[])
-{
-    unsigned long entry;
-    bool wait_time_set, cmd_line_set;
-    int  wait_time;
-    char *cmd_line;
-    char *cline;
-    struct option_info opts[2];
-    hal_virtual_comm_table_t *__chan;
-    int baud_rate;
-
-    bd_t *board_info;
-    CYG_INTERRUPT_STATE oldints;
-    unsigned long sp = CYGMEM_REGION_ram+CYGMEM_REGION_ram_SIZE;
-    
-    init_opts(&opts[0], 'w', true, OPTION_ARG_TYPE_NUM, 
-              (void **)&wait_time, (bool *)&wait_time_set, "wait timeout");
-    init_opts(&opts[1], 'c', true, OPTION_ARG_TYPE_STR, 
-              (void **)&cmd_line, (bool *)&cmd_line_set, "kernel command line");
-    entry = entry_address;  // Default from last 'load' operation
-    if (!scan_opts(argc, argv, 1, opts, 2, (void *)&entry, OPTION_ARG_TYPE_NUM, 
-                   "[physical] starting address")) {
-        return;
-    }
-
-    // Determine baud rate on current console
-    __chan = CYGACC_CALL_IF_CONSOLE_PROCS();
-    baud_rate = CYGACC_COMM_IF_CONTROL(*__chan, __COMMCTL_GETBAUD);
-    if (baud_rate <= 0) {
-        baud_rate = CYGNUM_HAL_VIRTUAL_VECTOR_CONSOLE_CHANNEL_BAUD;
-    }
-
-    // Make a little space at the top of the stack, and align to
-    // 64-bit boundary.
-    sp = (sp-128) & ~7;  // The Linux boot code uses this space for FIFOs
-    
-    // Copy the commandline onto the stack, and set the SP to just below it.
-    if (cmd_line_set) {
-       int len,i;
-
-       // get length of string
-       for( len = 0; cmd_line[len] != '\0'; len++ );
-
-       // decrement sp by length of string and align to
-       // word boundary.
-       sp = (sp-(len+1)) & ~3;
-
-       // assign this SP value to command line start
-       cline = (char *)sp;
-
-       // copy command line over.
-       for( i = 0; i < len; i++ )
-           cline[i] = cmd_line[i];
-       cline[len] = '\0';
-
-    } else {
-        cline = (char *)NULL;
-    }
-    
-    // Set up parameter struct at top of stack
-    sp = sp-sizeof(bd_t);
-    board_info = (bd_t *)sp;
-    memset(board_info, sizeof(*board_info), 0);
-    
-    board_info->bi_tag         = 0x42444944;
-    board_info->bi_size                = sizeof(board_info);
-    board_info->bi_revision    = 1;
-    board_info->bi_bdate       = 0x06012002;
-    board_info->bi_memstart    = CYGMEM_REGION_ram;
-    board_info->bi_memsize     = CYGMEM_REGION_ram_SIZE;
-    board_info->bi_intfreq     = CYGHWR_HAL_POWERPC_BOARD_SPEED*1000000;
-    board_info->bi_busfreq     = 66*1000000;
-    board_info->bi_clun                = 0;  // ????
-    board_info->bi_dlun                = 0;  // ????
-    board_info->bi_baudrate     = baud_rate;
-    board_info->bi_cmdline      = cline;
-#ifdef CYGPKG_REDBOOT_NETWORKING
-    memcpy(board_info->bi_enetaddr, __local_enet_addr, sizeof(enet_addr_t));
-#endif
-
-    // adjust SP to 64 bit boundary, and leave a little space
-    // between it and the commandline for PowerPC calling
-    // conventions.
-       
-    sp = (sp-32)&~7;
-
-    if (wait_time_set) {
-        int script_timeout_ms = wait_time * 1000;
-#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-        unsigned char *hold_script = script;
-        script = (unsigned char *)0;
-#endif
-        diag_printf("About to start execution at %p - abort with ^C within %d seconds\n",
-                    (void *)entry, wait_time);
-        while (script_timeout_ms >= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT) {
-            int res;
-            char line[80];
-            res = _rb_gets(line, sizeof(line), CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT);
-            if (res == _GETS_CTRLC) {
-#ifdef CYGFUN_REDBOOT_BOOT_SCRIPT
-                script = hold_script;  // Re-enable script
-#endif
-                return;
-            }
-            script_timeout_ms -= CYGNUM_REDBOOT_CLI_IDLE_TIMEOUT;
-        }
-    }
-
-    // Disable interrupts
-    HAL_DISABLE_INTERRUPTS(oldints);
-
-    // Put the caches to sleep.
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_DISABLE();
-    HAL_DCACHE_DISABLE();
-    HAL_DCACHE_SYNC();
-    HAL_ICACHE_INVALIDATE_ALL();
-    HAL_DCACHE_INVALIDATE_ALL();
-
-//    diag_printf("entry %08x, sp %08x, info %08x, cmd line %08x, baud %d\n",
-//             entry, sp, board_info, cline, baud_rate);
-//    breakpoint();
-    
-    // Call into Linux
-    __asm__ volatile (        
-                      // Start by disabling MMU - the mappings are
-                      // 1-1 so this should not cause any problems
-                      "mfmsr   3\n"
-                      "li      4,0xFFFFFFCF\n"
-                      "and     3,3,4\n"
-                      "sync\n"
-                      "mtmsr   3\n"
-                      "sync\n"
-
-                      // Now set up parameters to jump into linux
-
-                      "mtlr    %0\n"           // set entry address in LR
-                      "mr      1,%1\n"         // set stack pointer
-                      "mr      3,%2\n"         // set board info in R3
-                      "mr      4,%3\n"         // set command line in R4
-                      "blr          \n"        // jump into linux
-                      :
-                      : "r"(entry),"r"(sp),"r"(board_info),"r"(cline)
-                      : "r3", "r4"
-                    
-                    );
-}
-
-#endif // CYGSEM_REDBOOT_HAL_LINUX_BOOT
-
-//=========================================================================
-// EOF redboot_linux_exec.c
diff --git a/packages/io/eth/v2_0/doc/driver_doc b/packages/io/eth/v2_0/doc/driver_doc
deleted file mode 100644 (file)
index 164c182..0000000
+++ /dev/null
@@ -1,373 +0,0 @@
-This file provides a simple description of how to write a low-level,
-hardware dependent ethernet driver.
-
-The basic idea is that there is a high-level driver (which is only
-code/functions) that is part of the stack.  There will be one or more
-low-level driver tied to the actual network hardware.  Each of these
-drivers contains one or more driver instances.  The principal idea is
-that the low-level drivers know nothing of the details of the stack that
-will be using them.  Thus, the same driver can be used by the eCos
-supported TCP/IP stack, or any other, with no changes.
-
-A driver instance is contained within a "struct eth_drv_sc".
-
-   struct eth_hwr_funs {
-      // Initialize hardware (including startup)
-      void (*start)(struct eth_drv_sc *sc,
-                    unsigned char *enaddr);
-      // Shut down hardware
-      void (*stop)(struct eth_drv_sc *sc);
-      // Control interface
-      int (*control)(struct eth_drv_sc *sc,
-                     unsigned long cmd,
-                     void *data,
-                     int len);
-      // Query interface - can a packet be sent?
-      int (*can_send)(struct eth_drv_sc *sc);
-      // Send a packet of data
-      void (*send)(struct eth_drv_sc *sc,
-                   struct eth_drv_sg *sg_list,
-                   int sg_len,
-                   int total_len,
-                   unsigned long key);
-      // Receive [unload] a packet of data
-      void (*recv)(struct eth_drv_sc *sc,
-                   struct eth_drv_sg *sg_list,
-                   int sg_len);
-      // Deliver data to/from device from/to stack memory space
-      // (moves lots of memcpy()s out of DSRs into thread)
-      void (*deliver)(struct eth_drv_sc *sc);
-      // Poll for interrupts/device service
-      void (*poll)(struct eth_drv_sc *sc);
-      // Get interrupt information from hardware driver
-      int (*int_vector)(struct eth_drv_sc *sc);
-      // Logical driver interface
-      struct eth_drv_funs *eth_drv, *eth_drv_old;
-  };
-
-  struct eth_drv_sc {
-      struct eth_hwr_funs *funs;
-      void                *driver_private;
-      const char          *dev_name;
-      struct arpcom       sc_arpcom; /* ethernet common */
-  };
-
-You create one of these instances using the "ETH_DRV_SC()" macro which
-sets up the structure, including the prototypes for the functions, etc.
-By doing things this way, if the internal design of the ethernet drivers
-changes (e.g. we need to add a new low-level implementation function),
-existing drivers will no longer compile until updated.  This is much
-better than to have all of the definitions in the low-level drivers
-themselves and have them be [quietly] broken if the interfaces change.
-
-The "magic" which gets the drivers started [and indeed, linked] is
-similar to what is used for the I/O subsystem. [Note: I may try and
-make it part of the I/O subsystem later.]  This is done using the
-"NETDEVTAB_ENTRY()" macro, which defines an initialization function
-and the basic data structures for the low-level driver.
-
-  typedef struct cyg_netdevtab_entry {
-      const char        *name;
-      bool             (*init)(struct cyg_netdevtab_entry *tab);
-      void              *device_instance;
-      unsigned long     status;
-  } cyg_netdevtab_entry_t;
-
-The "device_instance" entry here would point to the "struct
-eth_drv_sc" entry previously defined.  This allows the network driver
-setup to work with any class of driver, not just ethernet drivers.  In
-the future, there will surely be serial PPP drivers, etc.  These will
-use the "NETDEVTAB" setup to create the basic driver, but they will
-most likely be built on top of other high-level device driver layers.
-
-So, the bottom line is that a hardware driver will have a template
-(boilerplate) which looks like this:
-
-       #include <cyg/infra/cyg_type.h>
-       #include <cyg/hal/hal_arch.h>
-       #include <cyg/infra/diag.h>
-       #include <cyg/hal/drv_api.h>
-       #include <cyg/io/eth/netdev.h>
-       #include <cyg/io/eth/eth_drv.h>
-
-       ETH_DRV_SC(DRV_sc,
-                  0,             // No driver specific data needed
-                  "eth0",        // Name for this interface
-                  HRDWR_start,
-                  HRDWR_stop,
-                  HRDWR_control,
-                  HRDWR_can_send
-                  HRDWR_send,
-                  HRDWR_recv);
-
-       NETDEVTAB_ENTRY(DRV_netdev, 
-                       "DRV", 
-                       DRV_HRDWR_init, 
-                       &DRV_sc);
-
-This, along with the referenced functions, completely define the driver.
-Extensibility note: if one needed the same low-level driver to handle
-multiple similar hardware interfaces, you would need multiple invocations
-of the "ETH_DRV_SC()/NETDEVTAB_ENTRY()" macros.  You would add a pointer
-to some instance specific data, e.g. containing base addresses, interrupt
-numbers, etc, where the "0, // No driver specific data" is currently.
-
-Now a quick waltz through the functions.  This discussion will use the
-generic names from above.
-
-static bool DRV_HDWR_init(struct cyg_netdevtab_entry *tab)
-==========================================================
-
-This function is called as part of system initialization.  Its primary
-function is to decide if the hardware [as indicated via
-tab->device_instance] is working and if the interface needs to be made
-available in the system.  If this is the case, this function needs to
-finish with a call to the ethernet driver function:
-
-       eth_drv_init((struct eth_drv_sc *)tab->device_instance,
-                    unsigned char *enaddr);
-
-where 'enaddr' is a pointer to the ethernet station address for this
-unit.  Note: the ethernet station address is supposed to be a
-world-unique, 48 bit address for this particular ethernet interface.
-Typically it is provided by the board/hardware manufacturer in ROM.
-
-In many packages it is possible for the ESA to be set from RedBoot,
-(perhaps from 'fconfig' data), hard-coded from CDL, or from an EPROM.
-A driver should choose a run-time specified ESA (e.g. from RedBoot)
-preferentially, otherwise (in order) it should use a CDL specified
-ESA if one has been set, otherwise an EPROM set ESA, or otherwise
-fail. See the cl/cs8900a eth driver for an example.
-
-static void
-HRDWR_start(struct eth_drv_sc *sc, unsigned char *enaddr, int flags)
-====================================================================
-
-This function is called, perhaps much later than system initialization
-time, when the system (an application) is ready for the interface to
-become active.  The purpose of this function is to set up the hardware
-interface to start accepting packets from the network and be able to
-send packets out.  Note: this function will be called whenever the
-up/down state of the logical interface changes, e.g. when the IP address
-changes.  This may occur more than one time, so this function needs to
-be prepared for that case.
-
-FUTURE: the "flags" field (currently unused) may be used to tell the
-function how to start up, e.g. whether interrupts will be used,
-selection of "promiscuous" mode etc.
-
-static void HRDWR_stop(struct eth_drv_sc *sc)
-=============================================
-
-This function is the inverse of "start".  It should shut down the
-hardware and keep it from interacting with the physical network.
-
-static int
-HRDWR_control(struct eth_drv_sc *sc, unsigned long key, void *data, int len)
-============================================================================
-
-This function is used to perform low-level "control" operations on the
-interface.  These operations would be initiated via 'ioctl()' in the BSD
-stack, and would be anything that would require the hardware setup to
-possibly change (i.e.  cannot be performed totally by the
-platform-independent layers).
-
-Current operations:
-
-ETH_DRV_SET_MAC_ADDRESS:
-  This function sets the ethernet station address (ESA or MAC) for the
-  device.  Normally this address is kept in non-volatile memory and is
-  unique in the world.  This function must at least set the interface to
-  use the new address.  It may also update the NVM as appropriate.
-
-This function should return zero if the specified operation was
-completed successfully.  It should return non-zero if the operation
-could not be performed, for any reason.
-
-static int HRDWR_can_send(struct eth_drv_sc *sc)
-================================================
-
-This function is called to determine if it is possible to start the
-transmission of a packet on the interface.  Some interfaces will allow
-multiple packets to be "queued" and this function allows for the highest
-possible utilization of that mode.
-
-Return the number of packets which could be accepted at this time, zero
-implies that the interface is saturated/busy.
-
-static void
-HRDWR_send(struct eth_drv_sc *sc, struct eth_drv_sg *sg_list, int sg_len,
-                       int total_len, unsigned long key)
-=========================================================================
-
-This function is used to send a packet of data to the network.  It is
-the responsibility of this function to somehow hand the data over to the
-hardware interface.  This will most likely require copying, but just the
-address/length values could be used by smart hardware.
-
-NOTE: All data in/out of the driver is specified via a "scatter-gather"
-list.  This is just an array of address/length pairs which describe
-sections of data to move (in the order given by the array).
-
-Once the data has been successfully sent by the interface (or if an
-error occurs), the driver should call 'eth_drv_tx_done()' using the
-specified 'key'.  Only then will the upper layers release the resources
-for that packet and start another transmission.
-
-FUTURE: This function may be extended so that the data need not be
-copied by having the function return a "disposition" code (done, send
-pending, etc).  At this point, you should move the data to some "safe"
-location before returning.
-
-static void
-HRDWR_recv(struct eth_drv_sc *sc, struct eth_drv_sg *sg_list, int sg_len)
-=========================================================================
-
-This function is actually a call back, only invoked after the
-upper-level function
-  eth_drv_recv(struct eth_drv_sc *sc, int total_len)
-has been called.  This upper level function is called by the hardware
-driver when it knows that a packet of data is available on the
-interface.  The 'eth_drv_recv()' function then arranges network buffers
-and structures for the data and then calls "HRDWR_recv()" to actually
-move the data from the interface.
-
-static void
-HRDWR_deliver(struct eth_drv_sc *sc)
-=========================================================================
-
-This function is actually a call back, and notifies the driver that delivery
-is happening. This allows it to actually do the copy of packet data to/from
-the hardware from/to the packet buffer. And once that's done, then do things
-like unmask its interrupts, and free any relevant resources so it can process
-further packets.
-
-In general it will be called from the user thread responsible for delivering
-network packets.
-
-static void
-HRDWR_poll(struct eth_drv_sc *sc)
-=========================================================================
-
-This function is used when in a non-interrupt driven system, e.g. when
-interrupts are completely disabled. This allows the driver time to check
-whether anything needs doing either for transmission, or to check if
-anything has been received, or if any other processing needs doing..
-
-static int
-HRDWR_int_vector(struct eth_drv_sc *sc)
-=========================================================================
-
-This function returns the interrupt vector number used for RX interrupts.
-This is so the common GDB stubs infrastructure can detect when to check
-for incoming ctrl-c's when doing debugging over ethernet.
-
-Upper layer functions - called by drivers
-=========================================
-
-These functions are defined by the upper layers (machine independent) of
-the networking driver support.  They are present to hide the interfaces
-to the actual networking stack so that the hardware drivers may possibly
-be used by any network stack implementation.
-
-These functions require a pointer to a "struct eth_drv_sc" table which
-describes the interface at a logical level.  It is assumed that the
-driver [lowest level hardware support] will keep track of this pointer
-so it may be passed "up" as appropriate.
-
-  struct eth_drv_sc {
-      struct eth_drv_funs *funs; // Pointer to hardware functions (see above)
-      void                *driver_private;   // Device specific data
-      const char          *dev_name;
-      struct arpcom       sc_arpcom; // ethernet common
-  };
-
-This structure is created, one per logical interface, via ETH_DRV_SC macro.
-
-void eth_drv_init(struct eth_drv_sc *sc, unsigned char *enaddr)
-===============================================================
-
-This function establishes the device at initialization time.  The
-hardware should be totally intialized (not "started") when this function
-is called.
-
-void eth_drv_tx_done(struct eth_drv_sc *sc, unsigned long key, int status)
-==========================================================================
-
-This function is called when a packet completes transmission on the
-interface.  The 'key' value must be one of the keys provided to
-"HRDWR_send()" above.  The value 'status' should be non-zero (currently
-undefined) to indicate that an error occurred during the transmission.
-
-void eth_drv_recv(struct eth_drv_sc *sc, int len)
-=================================================
-
-This function is called to indicate that a packet of length 'len' has
-arrived at the interface.  The callback "HRDWR_recv()" function
-described above will be used to actually unload the data from the
-interface into buffers used by the machine independent layers.
-
-
-
-Calling graph for Transmit and Receive
---------------------------------------
-
-It may be worth clarifying further the flow of control in the transmit
-and receive cases, where the hardware driver does use interrupts and so
-DSRs to tell the "foreground" when something asynchronous has occurred.
-
-Transmit:
-  Foreground task calls into network stack to send a packet (or the
-  stack decides to send a packet in response to incoming traffic).
-  The driver calls the HRDWR_can_send() function in the hardware driver.
-    HRDWR_can_send() returns the number of available "slots" in which it
-    can store a pending transmit packet.
-  If it cannot send at this time, the packet is queued outside the
-  hardware driver for later; in this case, the hardware is already busy
-  transmitting, so expect an interrupt as described below for completion
-  of the packet currently outgoing.
-  If it can send right now, HRDWR_send() is called.
-    HRDWR_send() copies the data into special hardware buffers, or
-    instructs the hardware to "send that".
-    It also remembers the key that is associated with this tx request.
-  these calls return.
-  ...
-
-  Asynchronously, the hardware makes an interrupt to say "transmit is
-  done"; the ISR quietens the interrupt source in the hardware and
-  requests that the associated DSR be run.
-  The DSR realizes that a transmit request has completed, and calls
-  eth_drv_tx_done() with the same key that it remembered for this tx.
-    eth_drv_tx_done() uses the key to find the resources associated with
-    this transmit request; thus the stack knows that the transmit has
-    completed and its resources can be freed.
-    eth_drv_tx_done() also enquires whether HRDWR_can_send() now says
-    "yes, we can send" and if so, dequeues a further transmit request
-    which may have been queued as described above.  If so:
-      HRDWR_send() copies the data into the hardware buffers, or
-      instructs the hardware to "send that" and remembers the new key.
-  these calls return to the DSR and thus to the foreground.
-  ...
-
-
-Receive:
-  ...
-
-  Asynchronously, the hardware makes an interrupt to say "there is ready
-  data in a receive buffer"; the ISR quietens the interrupt source in
-  the hardware and requests that the associated DSR be run.
-  The DSR realizes that there is data ready and calls eth_drv_recv()
-  with the length of the data that is available.
-    eth_drv_recv() prepares a set of scatter-gather buffers that can
-    accommodate that data.
-    It then calls back into the hardware driver routine HRDWR_recv().
-       HRDWR_recv() must copy the data from the hardware's buffers into
-       the scatter-gather buffers provided, and return.
-    eth_drv_recv() sends the new packet up the network stack and returns.
-  Back in the DSR now, the driver cleans the receive buffer and returns
-  it to the hardware's control, available to receive another packet from
-  the network.
-  The DSR returns to the foreground.
-  ...
-
-
index 8ce202d0c5202641534590cd97a0c4c23afdbf18..e8869cede94efbd2d070cef8c5d2036049828b24 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
  * Copyright 2005 Clemens Hintze <c.hintze@gmx.net>
  *
- * $Id$
+ * $Id: jim.h,v 1.1.1.1 2008/07/31 20:44:21 mmahesh Exp $
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
index cd0d04d5f06f2f7a798fd62c301a9eb66e1151e6..675d27f54ff76576589a0419bf09af87238e2702 100644 (file)
@@ -1,7 +1,7 @@
 /* Jim - ANSI I/O extension
  * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
  *
- * $Id$
+ * $Id: jim-aio.c,v 1.1.1.1 2008/07/31 20:44:21 mmahesh Exp $
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
index 989a1dad838f9cb006e784455fb6a3df2b2c5d5a..3fdc7b5c674ace2532c81ac56e4a394fd6fe245d 100644 (file)
@@ -2,7 +2,7 @@
  * Copyright 2005 Salvatore Sanfilippo <antirez@invece.org>
  * Copyright 2005 Clemens Hintze <c.hintze@gmx.net>
  *
- * $Id$
+ * $Id: jim.c,v 1.1.1.1 2008/07/31 20:44:21 mmahesh Exp $
  *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
@@ -11750,7 +11750,7 @@ int Jim_InteractivePrompt(Jim_Interp *interp)
            "Copyright (c) 2005 Salvatore Sanfilippo" JIM_NL,
            JIM_VERSION / 100, JIM_VERSION % 100);
     fprintf(interp->stdout,
-            "CVS ID: $Id$"
+            "CVS ID: $Id: jim.c,v 1.1.1.1 2008/07/31 20:44:21 mmahesh Exp $"
             JIM_NL);
     Jim_SetVariableStrWithStr(interp, "jim_interactive", "1");
     while (1) {
index b80393f6f41303c02023e1ce15625e251c977bb4..5be7e9d783c8916740be0ef9d426f49b3129cad8 100644 (file)
@@ -39,7 +39,7 @@
  */
 
 //#if defined(LIBC_SCCS) && !defined(lint)
-//static char rcsid[] = "$Id$";
+//static char rcsid[] = "$Id: inet_pton.c,v 1.3 2002/02/20 17:39:39 gthomas Exp $";
 //#endif /* LIBC_SCCS and not lint */
 
 //#ifdef HAVE_CONFIG_H
diff --git a/packages/net/common/v2_0/tests/linux_echo.c b/packages/net/common/v2_0/tests/linux_echo.c
deleted file mode 100644 (file)
index 367ce3a..0000000
+++ /dev/null
@@ -1,281 +0,0 @@
-//==========================================================================
-//
-//      tests/linux_echo.c
-//
-//      Simple TCP throughput test - echo component FOR LINUX HOST
-//      * CAUTION: host, i.e. non eCos, only *
-//
-//==========================================================================
-//####BSDCOPYRIGHTBEGIN####
-//
-// -------------------------------------------
-//
-// Portions of this software may have been derived from OpenBSD or other sources,
-// and are covered by the appropriate copyright disclaimers included herein.
-//
-// -------------------------------------------
-//
-//####BSDCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2000-01-10
-// Purpose:      
-// Description:  This is the middle part of a three part test.  The idea is
-//   to test the throughput of box in a configuration like this:
-//
-//      +------+   port   +----+     port    +----+
-//      |SOURCE|=========>|ECHO|============>|SINK|
-//      +------+   9990   +----+     9991    +----+
-// 
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#undef _KERNEL
-#include <stdlib.h>
-#include <unistd.h>
-#include <stdio.h>
-
-#include <sys/param.h>
-#include <sys/socket.h>
-#include <sys/ioctl.h>
-#include <sys/errno.h>
-#include <sys/time.h>
-
-#include <net/if.h>
-#include <netinet/in.h>
-#include <netinet/ip.h>
-#include <netinet/ip_icmp.h>
-#include <net/route.h>
-
-#include <netdb.h>
-
-#define true 1
-#define false 1
-
-#define TNR_ON()
-#define TNR_OFF()
-
-#define diag_printf printf
-
-void
-pexit(char *s)
-{
-    perror(s);
-    exit(1);
-}
-
-
-#define SOURCE_PORT 9990
-#define SINK_PORT   9991
-
-#define MAX_BUF 8192
-static unsigned char data_buf[MAX_BUF];
-
-struct test_params {
-    long nbufs;
-    long bufsize;
-    long load;
-};
-
-struct test_status {
-    long ok;
-};
-
-int max( int a, int b ) { return (a>b)?a:b; }
-int min( int a, int b ) { return (a<b)?a:b; }
-
-
-int
-do_read(int s, void *_buf, int len)
-{
-    int total, slen, rlen;
-    unsigned char *buf = (unsigned char *)_buf;
-    total = 0;
-    rlen = len;
-    while (total < len) {
-        slen = read(s, buf, rlen);
-        if (slen != rlen) {
-            if (slen < 0) {
-                diag_printf("Error after reading %d bytes\n", total);
-                return -1;
-            }
-            rlen -= slen;
-            buf += slen;
-        }
-        total += slen;
-    }
-    return total;
-}
-
-int
-do_write(int s, void *_buf, int len)
-{
-    int total, slen, rlen;
-    unsigned char *buf = (unsigned char *)_buf;
-    total = 0;
-    rlen = len;
-    while (total < len) {
-        slen = write(s, buf, rlen);
-        if (slen != rlen) {
-            if (slen < 0) {
-                diag_printf("Error after writing %d bytes\n", total);
-                return -1;
-            }
-            rlen -= slen;
-            buf += slen;
-        }
-        total += slen;
-    }
-    return total;
-}
-
-static void
-echo_test(void * p)
-{
-    int s_source, s_sink, e_source, e_sink;
-    struct sockaddr_in e_source_addr, e_sink_addr, local;
-    int one = 1;
-    fd_set in_fds;
-    int i, num, len;
-    struct test_params params,nparams;
-    struct test_status status,nstatus;
-
-    s_source = socket(AF_INET, SOCK_STREAM, 0);
-    if (s_source < 0) {
-        pexit("stream socket");
-    }
-    if (setsockopt(s_source, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one))) {
-        pexit("setsockopt /source/ SO_REUSEADDR");
-    }
-    memset(&local, 0, sizeof(local));
-    local.sin_family = AF_INET;
-//    local.sin_len = sizeof(local);
-    local.sin_port = ntohs(SOURCE_PORT);
-    local.sin_addr.s_addr = INADDR_ANY;
-    if(bind(s_source, (struct sockaddr *) &local, sizeof(local)) < 0) {
-        pexit("bind /source/ error");
-    }
-    listen(s_source, SOMAXCONN);
-
-    s_sink = socket(AF_INET, SOCK_STREAM, 0);
-    if (s_sink < 0) {
-        pexit("stream socket");
-    }
-    memset(&local, 0, sizeof(local));
-    local.sin_family = AF_INET;
-//    local.sin_len = sizeof(local);
-    local.sin_port = ntohs(SINK_PORT);
-    local.sin_addr.s_addr = INADDR_ANY;
-    if(bind(s_sink, (struct sockaddr *) &local, sizeof(local)) < 0) {
-        pexit("bind /sink/ error");
-    }
-    if (setsockopt(s_sink, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one))) {
-        pexit("setsockopt /sink/ SO_REUSEADDR");
-    }
-    listen(s_sink, SOMAXCONN);
-
-    e_source = 0;  e_sink = 0;
-    while (true) {
-        // Wait for a connection on either of the ports
-        FD_ZERO(&in_fds);
-        FD_SET(s_source, &in_fds);
-        FD_SET(s_sink, &in_fds);
-        num = select(max(s_sink,s_source)+1, &in_fds, 0, 0, 0);
-        if (FD_ISSET(s_source, &in_fds)) {
-            len = sizeof(e_source_addr);
-            if ((e_source = accept(s_source, (struct sockaddr *)&e_source_addr, &len)) < 0) {
-                pexit("accept /source/");
-            }
-            diag_printf("SOURCE connection from %s:%d\n", 
-                        inet_ntoa(e_source_addr.sin_addr), ntohs(e_source_addr.sin_port));
-        }
-        if (FD_ISSET(s_sink, &in_fds)) {
-            len = sizeof(e_sink_addr);
-            if ((e_sink = accept(s_sink, (struct sockaddr *)&e_sink_addr, &len)) < 0) {
-                pexit("accept /sink/");
-            }
-            diag_printf("SINK connection from %s:%d\n", 
-                        inet_ntoa(e_sink_addr.sin_addr), ntohs(e_sink_addr.sin_port));
-        }
-        // Continue with test once a connection is established in both directions
-        if ((e_source != 0) && (e_sink != 0)) {
-            break;
-        }
-    }
-
-    // Wait for "source" to tell us the testing paramters
-    if (do_read(e_source, &nparams, sizeof(nparams)) != sizeof(nparams)) {
-        pexit("Can't read initialization parameters");
-    }
-  
-    params.nbufs = ntohl(nparams.nbufs);
-    params.bufsize = ntohl(nparams.bufsize);
-    params.load = ntohl(nparams.load);
-  
-    diag_printf("Using %d buffers of %d bytes each, %d%% background load\n", 
-                params.nbufs, params.bufsize, params.load);
-
-    // Tell the sink what the parameters are
-    if (do_write(e_sink, &nparams, sizeof(nparams)) != sizeof(nparams)) {
-        pexit("Can't write initialization parameters");
-    }
-
-    status.ok = 1;
-    nstatus.ok = htonl(status.ok);
-  
-    // Tell the "source" to start - we're all connected and ready to go!
-    if (do_write(e_source, &nstatus, sizeof(nstatus)) != sizeof(nstatus)) {
-        pexit("Can't send ACK to 'source' host");
-    }
-
-    TNR_ON();
-
-    // Echo the data from the source to the sink hosts
-    for (i = 0;  i < params.nbufs;  i++) {
-        if ((len = do_read(e_source, data_buf, params.bufsize)) != params.bufsize) {
-            TNR_OFF();
-            diag_printf("Can't read buf #%d: ", i+1);
-            if (len < 0) {
-                perror("I/O error");
-            } else {
-                diag_printf("short read - only %d bytes\n", len);
-            }
-            TNR_ON();
-        }
-        if ((len = do_write(e_sink, data_buf, params.bufsize)) != params.bufsize) {
-            TNR_OFF();
-            diag_printf("Can't write buf #%d: ", i+1);
-            if (len < 0) {
-                perror("I/O error");
-            } else {
-                diag_printf("short write - only %d bytes\n", len);
-            }
-            TNR_ON();
-        }
-    }
-
-    TNR_OFF();
-
-    // Wait for the data to drain and the "sink" to tell us all is OK.
-    if (do_read(e_sink, &status, sizeof(status)) != sizeof(status)) {
-        pexit("Can't receive ACK from 'sink' host");
-    }
-
-}
-
-
-int
-main(int argc, char *argv[])
-{
-    echo_test(argv[1]);
-    return 0;
-}
-
-
-// EOF
-
diff --git a/packages/net/common/v2_0/tests/make.linux b/packages/net/common/v2_0/tests/make.linux
deleted file mode 100644 (file)
index a0b347e..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Simple Linux makefile for network tests (host side)
-#
-
-CC = cc
-CFLAGS = -O2 -g
-
-ALL = nc_test_master nc_test_slave tcp_source tcp_sink linux_echo
-ALL += nc6_test_master nc6_test_slave
-
-all: ${ALL}
-
-nc_test_master: nc_test_framework.h nc_test_master.c
-       $(CC) -o $@ ${CFLAGS} nc_test_master.c
-
-nc_test_slave: nc_test_framework.h nc_test_slave.c
-       $(CC) -o $@ ${CFLAGS} nc_test_slave.c
-
-tcp_source: tcp_source.c
-       $(CC) -o $@ ${CFLAGS} tcp_source.c
-
-tcp_sink: tcp_sink.c
-       $(CC) -o $@ ${CFLAGS} tcp_sink.c
-
-linux_echo: linux_echo.c
-       $(CC) -o $@ ${CFLAGS} linux_echo.c
-
index 9a4ea4fc0cf688d92857d7b303d605be7c7020f8..66b0efdc6eadb225a68ebbdab8471f58593a0a97 100644 (file)
@@ -62,7 +62,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id$
+ * $Id: chap.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  */
 
 #ifndef CHAP_H
index 1a2bd41d1aca92089d7f13a1c82212c035ec4c94..ba99e76b37aca11776950e4d9fa949c0079400ae 100644 (file)
@@ -51,7 +51,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id$
+ * $Id: chpms.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  */
 
 #ifndef CHPMS_H
index b2da3e3e24907d85b1f2f2f73b1aaac419a5a68b..61df4c6af1a41cc3dcf826e9f79a98136459afb1 100644 (file)
@@ -48,7 +48,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id$
+ * $Id: fsm.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  */
 
 #ifndef FSM_H
index 040a7cf4f09fe4d64eb2307e09af0d8ef9ce0f59..c380836167cfb6073624ba0abebfe63d24ffd7fc 100644 (file)
@@ -48,7 +48,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id$
+ * $Id: ipcp.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  */
 
 #ifndef IPCP_H
index 3bf2edd503f5cc52450672b56909e16c07fa3733..2668b7be7f4da54682c3d19aa4463665540784bf 100644 (file)
@@ -48,7 +48,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id$
+ * $Id: lcp.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  */
 
 #ifndef LCP_H
index ef776d8ada7adb2b83fea96d13afa908437c1757..c2e1dd16f86fc92316059bf345d9a299efa6588e 100644 (file)
@@ -48,7 +48,7 @@
  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  *
- * $Id$
+ * $Id: magic.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  */
 
 #ifndef MAGIC_H
index 252d0f5aaa556bf0474966315b2b97cb7efda0f7..cac6ad103fbb9ed4eb089f86fc1b996bc1cf426c 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * Definitions for tcp compression routines.
  *
- * $Id$
+ * $Id: vj.h,v 1.2 2006/03/29 10:33:28 asl Exp $
  *
  * Copyright (c) 1989 Regents of the University of California.
  * All rights reserved.
diff --git a/packages/redboot/v2_0/misc/redboot_XXX.ecm b/packages/redboot/v2_0/misc/redboot_XXX.ecm
deleted file mode 100644 (file)
index 60e20bb..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration eCos {
-    package -template CYGPKG_NS_DNS v2_0 ;
-    package -template CYGPKG_COMPRESS_ZLIB v2_0 ;
-    package -template CYGPKG_IO_FLASH v2_0;
-    package -template CYGPKG_IO_ETH_DRIVERS v2_0;
-};
-
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
diff --git a/packages/redboot/v2_0/src/net/old_bootp.c b/packages/redboot/v2_0/src/net/old_bootp.c
deleted file mode 100755 (executable)
index cde386c..0000000
+++ /dev/null
@@ -1,225 +0,0 @@
-//==========================================================================
-//
-//      net/bootp.c
-//
-//      Stand-alone minimal BOOTP support for RedBoot
-//
-//==========================================================================
-//####ECOSGPLCOPYRIGHTBEGIN####
-// -------------------------------------------
-// This file is part of eCos, the Embedded Configurable Operating System.
-// Copyright (C) 1998, 1999, 2000, 2001, 2002 Red Hat, Inc.
-// Copyright (C) 2002 Gary Thomas
-//
-// 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
-// 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
-// WARRANTY; without even the implied warranty of MERCHANTABILITY or
-// FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
-// for more details.
-//
-// You should have received a copy of the GNU General Public License along
-// with eCos; if not, write to the Free Software Foundation, Inc.,
-// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
-//
-// 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
-// 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
-// License. However the source code for this file must still be made available
-// 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 file might be covered by the GNU General Public License.
-//
-// Alternative licenses for eCos may be arranged by contacting Red Hat, Inc.
-// at http://sources.redhat.com/ecos/ecos-license/
-// -------------------------------------------
-//####ECOSGPLCOPYRIGHTEND####
-//==========================================================================
-//#####DESCRIPTIONBEGIN####
-//
-// Author(s):    gthomas
-// Contributors: gthomas
-// Date:         2000-07-14
-// Purpose:      
-// Description:  
-//              
-// This code is part of RedBoot (tm).
-//
-//####DESCRIPTIONEND####
-//
-//==========================================================================
-
-#include <redboot.h>
-#include <net/net.h>
-#include <net/bootp.h>
-
-extern int net_debug;
-
-#define SHOULD_BE_RANDOM  0x12345555
-
-/* How many milliseconds to wait before retrying the request */
-#define RETRY_TIME  1000
-#define MAX_RETRIES   30
-
-static bootp_header_t *bp_info;
-  
-#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-static const unsigned char dhcpCookie[] = {99,130,83,99};
-static const unsigned char dhcpEndOption[] = {255};
-static const unsigned char dhcpRequestOption[] = {52,1,3};
-#endif
-
-static void
-bootp_handler(udp_socket_t *skt, char *buf, int len,
-             ip_route_t *src_route, word src_port)
-{
-    bootp_header_t *b;
-#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    unsigned char *p,*end;
-    int optlen;
-#endif
-
-    b = (bootp_header_t *)buf;
-    if (bp_info) {
-        memset(bp_info,0,sizeof *bp_info);
-        if (len > sizeof *bp_info)
-            len = sizeof *bp_info;
-        memcpy(bp_info, b, len);
-    }
-
-    // Only accept pure REPLY responses
-    if (b->bp_op != BOOTREPLY)
-      return;
-    
-    // Must be sent to me, as well!
-    if (memcmp(b->bp_chaddr, __local_enet_addr, 6))
-      return;
-        
-    memcpy(__local_ip_addr, &b->bp_yiaddr, 4);
-#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    memcpy(__local_ip_gate, &b->bp_giaddr, 4);
-    
-    if (memcmp(b->bp_vend, dhcpCookie, sizeof(dhcpCookie)))
-      return;
-                
-    optlen = len - (b->bp_vend - ((unsigned char*)b));
-    
-    p = b->bp_vend+4;
-    end = ((unsigned char*)b) + len;
-    
-    while (p < end) {
-        unsigned char tag = *p;
-        if (tag == TAG_END)
-          break;
-        if (tag == TAG_PAD)
-          optlen = 1;
-        else {
-            optlen = p[1];
-            p += 2;
-            switch (tag) {
-             case TAG_SUBNET_MASK:  // subnet mask
-                memcpy(__local_ip_mask,p,4); 
-                break;
-             case TAG_GATEWAY:  // router
-                memcpy(__local_ip_gate,p,4); 
-                break;
-             default:
-                break;
-            }
-        }
-        p += optlen;
-    }
-#endif
-}
-
-#define AddOption(p,d) do {memcpy(p,d,sizeof d); p += sizeof d;} while (0)
-
-/*
- * Find our IP address and copy to __local_ip_addr.
- * Return zero if successful, -1 if not.
- */
-int
-__bootp_find_local_ip(bootp_header_t *info)
-{
-    udp_socket_t udp_skt;
-    bootp_header_t b;
-    ip_route_t     r;
-    int            retry;
-    unsigned long  start;
-    ip_addr_t saved_ip_addr;
-#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    unsigned char *p;
-#endif
-    int txSize;
-
-    bp_info = info;
-
-    memset(&b, 0, sizeof(b));
-
-    b.bp_op = BOOTREQUEST;
-    b.bp_htype = HTYPE_ETHERNET;
-    b.bp_hlen = 6;
-    b.bp_xid = SHOULD_BE_RANDOM;
-         
-#ifdef CYGSEM_REDBOOT_NETWORKING_USE_GATEWAY
-    p = b.bp_vend;
-     
-    AddOption(p,dhcpCookie);
-    AddOption(p,dhcpRequestOption);
-    AddOption(p,dhcpEndOption);
-
-    // Some servers insist on a minimum amount of "vendor" data
-    if (p < &b.bp_vend[BP_MIN_VEND_SIZE]) p = &b.bp_vend[BP_MIN_VEND_SIZE];
-    txSize = p - (unsigned char*)&b;
-#else
-    txSize = sizeof(b);
-#endif
-
-    memcpy( saved_ip_addr, __local_ip_addr, sizeof(__local_ip_addr) );
-    memset( __local_ip_addr, 0, sizeof(__local_ip_addr) );
-
-    memcpy(b.bp_chaddr, __local_enet_addr, 6);
-
-    /* fill out route for a broadcast */
-    r.ip_addr[0] = 255;
-    r.ip_addr[1] = 255;
-    r.ip_addr[2] = 255;
-    r.ip_addr[3] = 255;
-    r.enet_addr[0] = 255;
-    r.enet_addr[1] = 255;
-    r.enet_addr[2] = 255;
-    r.enet_addr[3] = 255;
-    r.enet_addr[4] = 255;
-    r.enet_addr[5] = 255;
-
-    /* setup a socket listener for bootp replies */
-    __udp_install_listener(&udp_skt, IPPORT_BOOTPC, bootp_handler);
-
-    retry = MAX_RETRIES;
-    while (retry-- > 0) {
-               start = MS_TICKS();
-
-               __udp_send((char *)&b, txSize, &r, IPPORT_BOOTPS, IPPORT_BOOTPC);
-
-               do {
-                        __enet_poll();
-               if (__local_ip_addr[0] || __local_ip_addr[1] || __local_ip_addr[2] || __local_ip_addr[3]) {
-                               /* success */
-                               __udp_remove_listener(IPPORT_BOOTPC);
-                               return 0;
-               }
-               } while ((MS_TICKS_DELAY() - start) < RETRY_TIME);
-    }
-
-    /* timed out */
-    __udp_remove_listener(IPPORT_BOOTPC);
-    net_debug = 0;
-    memcpy( __local_ip_addr, saved_ip_addr, sizeof(__local_ip_addr));
-    return -1;
-}
-
-
diff --git a/packages/services/compress/zlib/v2_0/src/infcodes.c b/packages/services/compress/zlib/v2_0/src/infcodes.c
deleted file mode 100644 (file)
index d4e5ee9..0000000
+++ /dev/null
@@ -1,257 +0,0 @@
-/* infcodes.c -- process literals and length/distance pairs
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h 
- */
-
-#include "zutil.h"
-#include "inftrees.h"
-#include "infblock.h"
-#include "infcodes.h"
-#include "infutil.h"
-#include "inffast.h"
-
-/* simplify the use of the inflate_huft type with some defines */
-#define exop word.what.Exop
-#define bits word.what.Bits
-
-typedef enum {        /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
-      START,    /* x: set up for LEN */
-      LEN,      /* i: get length/literal/eob next */
-      LENEXT,   /* i: getting length extra (have base) */
-      DIST,     /* i: get distance next */
-      DISTEXT,  /* i: getting distance extra */
-      COPY,     /* o: copying bytes in window, waiting for space */
-      LIT,      /* o: got literal, waiting for output space */
-      WASH,     /* o: got eob, possibly still output waiting */
-      END,      /* x: got eob and all data flushed */
-      BADCODE}  /* x: got error */
-inflate_codes_mode;
-
-/* inflate codes private state */
-struct inflate_codes_state {
-
-  /* mode */
-  inflate_codes_mode mode;      /* current inflate_codes mode */
-
-  /* mode dependent information */
-  uInt len;
-  union {
-    struct {
-      inflate_huft *tree;       /* pointer into tree */
-      uInt need;                /* bits needed */
-    } code;             /* if LEN or DIST, where in tree */
-    uInt lit;           /* if LIT, literal */
-    struct {
-      uInt get;                 /* bits to get for extra */
-      uInt dist;                /* distance back to copy from */
-    } copy;             /* if EXT or COPY, where and how much */
-  } sub;                /* submode */
-
-  /* mode independent information */
-  Byte lbits;           /* ltree bits decoded per branch */
-  Byte dbits;           /* dtree bits decoder per branch */
-  inflate_huft *ltree;          /* literal/length/eob tree */
-  inflate_huft *dtree;          /* distance tree */
-
-};
-
-
-inflate_codes_statef *inflate_codes_new(bl, bd, tl, td, z)
-uInt bl, bd;
-inflate_huft *tl;
-inflate_huft *td; /* need separate declaration for Borland C++ */
-z_streamp z;
-{
-  inflate_codes_statef *c;
-
-  if ((c = (inflate_codes_statef *)
-       ZALLOC(z,1,sizeof(struct inflate_codes_state))) != Z_NULL)
-  {
-    c->mode = START;
-    c->lbits = (Byte)bl;
-    c->dbits = (Byte)bd;
-    c->ltree = tl;
-    c->dtree = td;
-    Tracev((stderr, "inflate:       codes new\n"));
-  }
-  return c;
-}
-
-
-int inflate_codes(s, z, r)
-inflate_blocks_statef *s;
-z_streamp z;
-int r;
-{
-  uInt j;               /* temporary storage */
-  inflate_huft *t;      /* temporary pointer */
-  uInt e;               /* extra bits or operation */
-  uLong b;              /* bit buffer */
-  uInt k;               /* bits in bit buffer */
-  Bytef *p;             /* input data pointer */
-  uInt n;               /* bytes available there */
-  Bytef *q;             /* output window write pointer */
-  uInt m;               /* bytes to end of window or read pointer */
-  Bytef *f;             /* pointer to copy strings from */
-  inflate_codes_statef *c = s->sub.decode.codes;  /* codes state */
-
-  /* copy input/output information to locals (UPDATE macro restores) */
-  LOAD
-
-  /* process input and output based on current state */
-  while (1) switch (c->mode)
-  {             /* waiting for "i:"=input, "o:"=output, "x:"=nothing */
-    case START:         /* x: set up for LEN */
-#ifndef SLOW
-      if (m >= 258 && n >= 10)
-      {
-        UPDATE
-        r = inflate_fast(c->lbits, c->dbits, c->ltree, c->dtree, s, z);
-        LOAD
-        if (r != Z_OK)
-        {
-          c->mode = r == Z_STREAM_END ? WASH : BADCODE;
-          break;
-        }
-      }
-#endif /* !SLOW */
-      c->sub.code.need = c->lbits;
-      c->sub.code.tree = c->ltree;
-      c->mode = LEN;
-    case LEN:           /* i: get length/literal/eob next */
-      j = c->sub.code.need;
-      NEEDBITS(j)
-      t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
-      DUMPBITS(t->bits)
-      e = (uInt)(t->exop);
-      if (e == 0)               /* literal */
-      {
-        c->sub.lit = t->base;
-        Tracevv((stderr, t->base >= 0x20 && t->base < 0x7f ?
-                 "inflate:         literal '%c'\n" :
-                 "inflate:         literal 0x%02x\n", t->base));
-        c->mode = LIT;
-        break;
-      }
-      if (e & 16)               /* length */
-      {
-        c->sub.copy.get = e & 15;
-        c->len = t->base;
-        c->mode = LENEXT;
-        break;
-      }
-      if ((e & 64) == 0)        /* next table */
-      {
-        c->sub.code.need = e;
-        c->sub.code.tree = t + t->base;
-        break;
-      }
-      if (e & 32)               /* end of block */
-      {
-        Tracevv((stderr, "inflate:         end of block\n"));
-        c->mode = WASH;
-        break;
-      }
-      c->mode = BADCODE;        /* invalid code */
-      z->msg = (char*)"invalid literal/length code";
-      r = Z_DATA_ERROR;
-      LEAVE
-    case LENEXT:        /* i: getting length extra (have base) */
-      j = c->sub.copy.get;
-      NEEDBITS(j)
-      c->len += (uInt)b & inflate_mask[j];
-      DUMPBITS(j)
-      c->sub.code.need = c->dbits;
-      c->sub.code.tree = c->dtree;
-      Tracevv((stderr, "inflate:         length %u\n", c->len));
-      c->mode = DIST;
-    case DIST:          /* i: get distance next */
-      j = c->sub.code.need;
-      NEEDBITS(j)
-      t = c->sub.code.tree + ((uInt)b & inflate_mask[j]);
-      DUMPBITS(t->bits)
-      e = (uInt)(t->exop);
-      if (e & 16)               /* distance */
-      {
-        c->sub.copy.get = e & 15;
-        c->sub.copy.dist = t->base;
-        c->mode = DISTEXT;
-        break;
-      }
-      if ((e & 64) == 0)        /* next table */
-      {
-        c->sub.code.need = e;
-        c->sub.code.tree = t + t->base;
-        break;
-      }
-      c->mode = BADCODE;        /* invalid code */
-      z->msg = (char*)"invalid distance code";
-      r = Z_DATA_ERROR;
-      LEAVE
-    case DISTEXT:       /* i: getting distance extra */
-      j = c->sub.copy.get;
-      NEEDBITS(j)
-      c->sub.copy.dist += (uInt)b & inflate_mask[j];
-      DUMPBITS(j)
-      Tracevv((stderr, "inflate:         distance %u\n", c->sub.copy.dist));
-      c->mode = COPY;
-    case COPY:          /* o: copying bytes in window, waiting for space */
-#ifndef __TURBOC__ /* Turbo C bug for following expression */
-      f = (uInt)(q - s->window) < c->sub.copy.dist ?
-          s->end - (c->sub.copy.dist - (q - s->window)) :
-          q - c->sub.copy.dist;
-#else
-      f = q - c->sub.copy.dist;
-      if ((uInt)(q - s->window) < c->sub.copy.dist)
-        f = s->end - (c->sub.copy.dist - (uInt)(q - s->window));
-#endif
-      while (c->len)
-      {
-        NEEDOUT
-        OUTBYTE(*f++)
-        if (f == s->end)
-          f = s->window;
-        c->len--;
-      }
-      c->mode = START;
-      break;
-    case LIT:           /* o: got literal, waiting for output space */
-      NEEDOUT
-      OUTBYTE(c->sub.lit)
-      c->mode = START;
-      break;
-    case WASH:          /* o: got eob, possibly more output */
-      if (k > 7)        /* return unused byte, if any */
-      {
-        Assert(k < 16, "inflate_codes grabbed too many bytes")
-        k -= 8;
-        n++;
-        p--;            /* can always return one */
-      }
-      FLUSH
-      if (s->read != s->write)
-        LEAVE
-      c->mode = END;
-    case END:
-      r = Z_STREAM_END;
-      LEAVE
-    case BADCODE:       /* x: got error */
-      r = Z_DATA_ERROR;
-      LEAVE
-    default:
-      r = Z_STREAM_ERROR;
-      LEAVE
-  }
-#ifdef NEED_DUMMY_RETURN
-  return Z_STREAM_ERROR;  /* Some dumb compilers complain without this */
-#endif
-}
-
-
-void inflate_codes_free(c, z)
-inflate_codes_statef *c;
-z_streamp z;
-{
-  ZFREE(z, c);
-  Tracev((stderr, "inflate:       codes free\n"));
-}
diff --git a/packages/services/compress/zlib/v2_0/src/infcodes.h b/packages/services/compress/zlib/v2_0/src/infcodes.h
deleted file mode 100644 (file)
index 6c750d8..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-/* infcodes.h -- header to use infcodes.c
- * Copyright (C) 1995-1998 Mark Adler
- * For conditions of distribution and use, see copyright notice in zlib.h 
- */
-
-/* WARNING: this file should *not* be used by applications. It is
-   part of the implementation of the compression library and is
-   subject to change. Applications should only use zlib.h.
- */
-
-struct inflate_codes_state;
-typedef struct inflate_codes_state FAR inflate_codes_statef;
-
-extern inflate_codes_statef *inflate_codes_new OF((
-    uInt, uInt,
-    inflate_huft *, inflate_huft *,
-    z_streamp ));
-
-extern int inflate_codes OF((
-    inflate_blocks_statef *,
-    z_streamp ,
-    int));
-
-extern void inflate_codes_free OF((
-    inflate_codes_statef *,
-    z_streamp ));
-
index 740586e7a675abdf1b30335d05f11c8c82ea6d0d..6ff47e967eef3eae33d7150c4e9ce33b51bb5fc7 100644 (file)
@@ -50,7 +50,7 @@ www.cornfed.com
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  *
- *     $Id$
+ *     $Id: bcopy.s,v 1.1.1.1 2001/06/21 06:32:39 greg Exp $
  */
 
 #include "npx.h"
index c17725de8d908185cbf8edae6b3937e051b27d42..f32096ae4b0971df5cf553bff4c0977ec6f32fe5 100644 (file)
@@ -1,6 +1,6 @@
 /*
 /////////////////////////////////////////////////////////////////////////////
-// $Header$
+// $Header: /usr/cvs/microwin/src/drivers/gsselect_rtems.c,v 1.1.1.1 2001/06/21 06:32:41 greg Exp $
 //
 // Copyright (c) 2000 - Rosimildo da Silva
 //  
@@ -9,10 +9,7 @@
 //
 // MODIFICATION/HISTORY:
 //
-// $Log$
-// Revision 1.1.9.1  2009-06-15 14:11:00  lothar
-// unified MX27, MX25, MX37 trees
-//
+// $Log: gsselect_rtems.c,v $
 // Revision 1.1.1.1  2001/06/21 06:32:41  greg
 // Microwindows pre8 with patches
 //
index 2e95db1db70b7c4dc6c4944eeeeae793bd1e7287..af44b814e8a7503b74e37eb2727f65c7c488279d 100644 (file)
@@ -1,6 +1,6 @@
 /*
 /////////////////////////////////////////////////////////////////////////////
-// $Header$
+// $Header: /usr/cvs/microwin/src/drivers/input_rtems.c,v 1.1.1.1 2001/06/21 06:32:41 greg Exp $
 //
 // Copyright (c) 2000 - Rosimildo da Silva
 //  
 //
 // MODIFICATION/HISTORY:
 //
-// $Log$
-// Revision 1.1.9.1  2009-06-15 14:11:00  lothar
-// unified MX27, MX25, MX37 trees
-//
+// $Log: input_rtems.c,v $
 // Revision 1.1.1.1  2001/06/21 06:32:41  greg
 // Microwindows pre8 with patches
 //
index 7bbcddd25355f30de34ce88ebae2825b4f3e3d18..b56ac183f7cfe401f9bbf2ec80951545430ee436 100644 (file)
@@ -1,6 +1,6 @@
 /*
 /////////////////////////////////////////////////////////////////////////////
-// $Header$
+// $Header: /usr/cvs/microwin/src/drivers/mwselect_rtems.c,v 1.1.1.1 2001/06/21 06:32:41 greg Exp $
 //
 // Copyright (c) 2000 - Rosimildo da Silva
 //  
@@ -9,10 +9,7 @@
 //
 // MODIFICATION/HISTORY:
 //
-// $Log$
-// Revision 1.1.9.1  2009-06-15 14:11:07  lothar
-// unified MX27, MX25, MX37 trees
-//
+// $Log: mwselect_rtems.c,v $
 // Revision 1.1.1.1  2001/06/21 06:32:41  greg
 // Microwindows pre8 with patches
 //
index 1c7807104653130570e55142cff7930f32dc3c7d..acd1ff3ff24ba29c8611aef7dfda6d6b54789a76 100644 (file)
@@ -1,6 +1,6 @@
 /***************************************************************************
  *
- * $Header$
+ * $Header: /usr/cvs/microwin/src/rtems/net_cfg.h,v 1.1.1.1 2001/06/21 06:32:42 greg Exp $
  *
  * MODULE DESCRIPTION: This module specializes the RTEMS Network configuration 
  *                     for the omniORB examples. It could be used as a starting
  *
  * MODIFICATION/HISTORY:
  *
- * $Log$
- * Revision 1.1.9.1  2009-06-15 14:12:31  lothar
- * unified MX27, MX25, MX37 trees
- *
+ * $Log: net_cfg.h,v $
  * Revision 1.1.1.1  2001/06/21 06:32:42  greg
  * Microwindows pre8 with patches
  *
index 2fb4788d87e84c10b76695f12df62366b35c5526..a070964a024586a49789f68969bca8d7efda24ee 100644 (file)
@@ -1,6 +1,6 @@
 /*
 /////////////////////////////////////////////////////////////////////////////
-// $Header$
+// $Header: /usr/cvs/microwin/src/rtems/rtems_init.c,v 1.1.1.1 2001/06/21 06:32:42 greg Exp $
 //
 // Copyright (c) 1999 ConnectTel, Inc. All Rights Reserved.
 //  
 //      http://www.connecttel.com
 //
 // MODIFICATION/HISTORY:
-// $Log$
-// Revision 1.1.9.1  2009-06-15 14:12:31  lothar
-// unified MX27, MX25, MX37 trees
-//
+// $Log: rtems_init.c,v $
 // Revision 1.1.1.1  2001/06/21 06:32:42  greg
 // Microwindows pre8 with patches
 //
index c1359b14e83b5fc41428be4709f542f3b3c1100d..fc778a8bb586109020aaa07710063996ba10fd08 100644 (file)
@@ -1,6 +1,6 @@
 /***************************************************************************
  *
- * $Header$
+ * $Header: /usr/cvs/microwin/src/rtems/rtemscfg.h,v 1.1.1.1 2001/06/21 06:32:42 greg Exp $
  *
  * Copyright (c) 1999 ConnectTel, Inc. All Rights Reserved.
  *  
  *
  * MODIFICATION/HISTORY:
  *
- * $Log$
- * Revision 1.1.9.1  2009-06-15 14:12:31  lothar
- * unified MX27, MX25, MX37 trees
- *
+ * $Log: rtemscfg.h,v $
  * Revision 1.1.1.1  2001/06/21 06:32:42  greg
  * Microwindows pre8 with patches
  *
diff --git a/packages/templates/all/v2_0.ect b/packages/templates/all/v2_0.ect
deleted file mode 100644 (file)
index 145bf58..0000000
+++ /dev/null
@@ -1,236 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_all {
-    description "This configuration provides all packages." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;    
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-#    package     CYGPKG_LIBC_SIGNALS v2_0 ;
-    package     CYGPKG_LIBC_STARTUP v2_0 ;
-    package     CYGPKG_LIBC_STDIO v2_0 ;
-    package     CYGPKG_LIBC_STDLIB v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_TIME v2_0 ;
-    package     CYGPKG_LIBM v2_0 ;
-    package     CYGPKG_POSIX v2_0 ;
-    package     CYGPKG_UITRON v2_0 ;
-    package     CYGPKG_IO_WATCHDOG v2_0 ;
-    package     CYGPKG_IO_WALLCLOCK v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_IO_FILEIO v2_0 ;
-    package     CYGPKG_NET v2_0 ;
-    package     CYGPKG_NET_OPENBSD_STACK v2_0 ;
-    package     CYGPKG_SNMPAGENT v2_0 ;
-    package     CYGPKG_SNMPLIB v2_0 ;
-    package     CYGPKG_NS_DNS v2_0 ;
-    package     CYGPKG_IO_ETH_DRIVERS v2_0 ;
-    package     CYGPKG_CRC v2_0 ;
-    package     CYGPKG_CPULOAD v2_0 ;
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    inferred_value 1 <cyg/posix/types.h>
-};
-
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    inferred_value 1 <cyg/posix/utsname.h>
-};
-
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    inferred_value 1 <cyg/posix/semaphore.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/pthread.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    inferred_value 1 <cyg/posix/limits.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
-    inferred_value 1
-};
-
-cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    inferred_value 1 <cyg/posix/sigsetjmp.h>
-};
-
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    inferred_value 1 <cyg/posix/muttypes.h>
-};
-
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    inferred_value 1 <sys/bsdtypes.h>
-};
-
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    inferred_value 1 <cyg/fileio/dirent.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    inferred_value 1 <cyg/posix/mutex.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
diff --git a/packages/templates/cygmon/v2_0.ect b/packages/templates/cygmon/v2_0.ect
deleted file mode 100644 (file)
index 4a0ee85..0000000
+++ /dev/null
@@ -1,98 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_stubs {
-    description "
-This is the eCos CygMon configuration. It is used when building CygMon." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_CYGMON v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    user_value 1
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    user_value 1
-};
-
-cdl_component CYG_HAL_STARTUP {
-    user_value ROM
-};
-
-cdl_option CYGBLD_BUILD_CYGMON {
-    user_value 1
-};
-
-cdl_option CYGDBG_KERNEL_DEBUG_GDB_THREAD_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    user_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    user_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    user_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    user_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    user_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
diff --git a/packages/templates/cygmon_no_kernel/v2_0.ect b/packages/templates/cygmon_no_kernel/v2_0.ect
deleted file mode 100644 (file)
index e69d1e1..0000000
+++ /dev/null
@@ -1,97 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_stubs {
-    description "
-This is the eCos CygMon configuration. It is used when building CygMon." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_CYGMON v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    user_value 1
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_BREAK_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_CTRLC_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_THREAD_SUPPORT {
-    user_value 0
-};
-
-cdl_option CYGSEM_HAL_ROM_MONITOR {
-    user_value 1
-};
-
-cdl_component CYG_HAL_STARTUP {
-    user_value ROM
-};
-
-cdl_option CYGBLD_BUILD_CYGMON {
-    user_value 1
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    user_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    user_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    user_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    user_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    user_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    user_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
-    inferred_value 0
-};
diff --git a/packages/templates/default/v2_0.ect b/packages/templates/default/v2_0.ect
deleted file mode 100644 (file)
index aab2302..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_default {
-    description "
-This is a default eCos configuration. It contains the infrastructure,
-kernel, C and maths libraries, plus their support packages." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;    
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_SIGNALS v2_0 ;
-    package     CYGPKG_LIBC_STARTUP v2_0 ;
-    package     CYGPKG_LIBC_STDIO v2_0 ;
-    package     CYGPKG_LIBC_STDLIB v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_TIME v2_0 ;
-    package     CYGPKG_LIBM v2_0 ;
-    package     CYGPKG_IO_WALLCLOCK v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/libc/signals/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/libc/signals/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
diff --git a/packages/templates/kernel/v2_0.ect b/packages/templates/kernel/v2_0.ect
deleted file mode 100644 (file)
index f5bce88..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_kernel {
-    description "This configuration provides HAL, infrastructure, and the kernel packages." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
diff --git a/packages/templates/minimal/v2_0.ect b/packages/templates/minimal/v2_0.ect
deleted file mode 100644 (file)
index 9a98012..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_minimal {
-    description "This is a minimal configuration. It only contains the HAL and INFRA packages." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-};
-
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
-    inferred_value 0
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
diff --git a/packages/templates/net/v2_0.ect b/packages/templates/net/v2_0.ect
deleted file mode 100644 (file)
index 0c2fbe9..0000000
+++ /dev/null
@@ -1,229 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_net {
-    description "This configuration includes the TCP/IP stack." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;    
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_TIME v2_0 ;
-    package     CYGPKG_LIBC_STDLIB v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_STARTUP v2_0 ;
-    package     CYGPKG_LIBC_STDIO v2_0 ;
-    package     CYGPKG_LIBM v2_0 ;
-    package     CYGPKG_POSIX v2_0 ;
-    package     CYGPKG_IO_WATCHDOG v2_0 ;
-    package     CYGPKG_IO_WALLCLOCK v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_IO_FILEIO v2_0 ;
-    package     CYGPKG_NET v2_0 ;
-    package     CYGPKG_NET_FREEBSD_STACK v2_0 ;
-    package     CYGPKG_NS_DNS v2_0 ;
-    package     CYGPKG_IO_ETH_DRIVERS v2_0 ;
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    inferred_value 1 <cyg/fileio/dirent.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    inferred_value 1 <cyg/posix/types.h>
-};
-
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    inferred_value 1 <sys/bsdtypes.h>
-};
-
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    inferred_value 1 <cyg/posix/utsname.h>
-};
-
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    inferred_value 1 <cyg/posix/semaphore.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/pthread.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    inferred_value 1 <cyg/posix/limits.h>
-};
-
-cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
-    inferred_value 1
-};
-
-cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    inferred_value 1 <cyg/posix/sigsetjmp.h>
-};
-
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    inferred_value 1 <cyg/posix/muttypes.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    inferred_value 1 <cyg/posix/mutex.h>
-};
-
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS {
-    inferred_value 1
-};
diff --git a/packages/templates/old_net/v2_0.ect b/packages/templates/old_net/v2_0.ect
deleted file mode 100644 (file)
index af74381..0000000
+++ /dev/null
@@ -1,230 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_net {
-    description "This configuration includes the TCP/IP stack." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;    
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_TIME v2_0 ;
-    package     CYGPKG_LIBC_STDLIB v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_STARTUP v2_0 ;
-    package     CYGPKG_LIBC_STDIO v2_0 ;
-    package     CYGPKG_LIBM v2_0 ;
-    package     CYGPKG_POSIX v2_0 ;
-    package     CYGPKG_IO_WATCHDOG v2_0 ;
-    package     CYGPKG_IO_WALLCLOCK v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_IO_FILEIO v2_0 ;
-    package     CYGPKG_NET v2_0 ;
-    package     CYGPKG_NET_OPENBSD_STACK v2_0 ;
-    package     CYGPKG_NS_DNS v2_0 ;
-    package     CYGPKG_IO_ETH_DRIVERS v2_0 ;
-};
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    inferred_value 1 <cyg/fileio/dirent.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    inferred_value 1 <cyg/posix/types.h>
-};
-
-cdl_option CYGBLD_ISO_BSDTYPES_HEADER {
-    inferred_value 1 <sys/bsdtypes.h>
-};
-
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    inferred_value 1 <cyg/posix/utsname.h>
-};
-
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    inferred_value 1 <cyg/posix/semaphore.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/pthread.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    inferred_value 1 <cyg/posix/limits.h>
-};
-
-cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
-    inferred_value 1
-};
-
-cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    inferred_value 1 <cyg/posix/sigsetjmp.h>
-};
-
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    inferred_value 1 <cyg/posix/muttypes.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    inferred_value 1 <cyg/posix/mutex.h>
-};
-
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_PROTO_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_option CYGBLD_ISO_NETDB_SERV_HEADER {
-    inferred_value 1 <net/netdb.h>
-};
-
-cdl_component CYGPKG_KERNEL_THREADS_DESTRUCTORS {
-    inferred_value 1
-};
-
diff --git a/packages/templates/posix/v2_0.ect b/packages/templates/posix/v2_0.ect
deleted file mode 100644 (file)
index b5a767c..0000000
+++ /dev/null
@@ -1,149 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_posix {
-    description "This configuration provides HAL, infrastructure, the kernel and POSIX packages." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;    
-    package     CYGPKG_ERROR v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_POSIX v2_0 ;
-    package    CYGPKG_IO_FILEIO v2_0 ;
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_STARTUP v2_0 ;
-};
-
-cdl_option CYGIMP_KERNEL_SCHED_SORTED_QUEUES {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_TIMESLICE_ENABLE {
-    inferred_value 1
-};
-
-cdl_component CYGSEM_KERNEL_SCHED_ASR_SUPPORT {
-    inferred_value 1
-};
-
-cdl_option CYGSEM_KERNEL_SCHED_ASR_GLOBAL {
-    inferred_value 1
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMER_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_TIMERS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-cdl_option CYGBLD_ISO_DIRENT_HEADER {
-    inferred_value 1 <cyg/fileio/dirent.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREADTYPES_HEADER {
-    inferred_value 1 <cyg/posix/types.h>
-};
-
-cdl_option CYGBLD_ISO_UTSNAME_HEADER {
-    inferred_value 1 <cyg/posix/utsname.h>
-};
-
-cdl_option CYGBLD_ISO_SEMAPHORES_HEADER {
-    inferred_value 1 <cyg/posix/semaphore.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_IMPL_HEADER {
-    inferred_value 1 <cyg/posix/pthread.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_LIMITS_HEADER {
-    inferred_value 1 <cyg/posix/limits.h>
-};
-
-cdl_option CYGBLD_ISO_SIGSETJMP_HEADER {
-    inferred_value 1 <cyg/posix/sigsetjmp.h>
-};
-
-cdl_option CYGBLD_ISO_OPEN_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGBLD_ISO_PMUTEXTYPES_HEADER {
-    inferred_value 1 <cyg/posix/muttypes.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCK_TYPES_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_POSIX_CLOCKS_HEADER {
-    inferred_value 1 <cyg/posix/time.h>
-};
-
-cdl_option CYGBLD_ISO_PTHREAD_MUTEX_HEADER {
-    inferred_value 1 <cyg/posix/mutex.h>
-};
-
-cdl_option CYGBLD_ISO_NAME_MAX_HEADER {
-    inferred_value 1 <cyg/fileio/limits.h>
-};
-
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    inferred_value 0
-};
diff --git a/packages/templates/redboot/v2_0.ect b/packages/templates/redboot/v2_0.ect
deleted file mode 100644 (file)
index 4879981..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_stubs {
-    description "
-This is the RedBoot configuration, used when building the RedBoot environment." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_REDBOOT v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ; 
-    package     CYGPKG_NS_DNS v2_0 ;
-    package     CYGPKG_CRC v2_0 ;
-};
-
-cdl_option CYGBLD_BUILD_REDBOOT {
-    user_value 1 ;
-};
-
-cdl_option CYGDBG_HAL_COMMON_INTERRUPTS_SAVE_MINIMUM_CONTEXT {
-    user_value 0
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGNUM_HAL_COMMON_INTERRUPTS_STACK_SIZE {
-    user_value 4096
-};
-
-cdl_option CYGBLD_ISO_DNS_HEADER {
-    inferred_value 1 <cyg/ns/dns/dns.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
-
-cdl_option CYGDBG_HAL_COMMON_CONTEXT_SAVE_MINIMUM {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
-
-cdl_option CYGPKG_NS_DNS_BUILD {
-    inferred_value 0
-};
-
-cdl_option CYGFUN_LIBC_STRING_BSD_FUNCS {
-    inferred_value 0
-};
diff --git a/packages/templates/stubs/v2_0.ect b/packages/templates/stubs/v2_0.ect
deleted file mode 100644 (file)
index d571eb2..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_stubs {
-    description "
-This is the eCos stubs configuration. It is used when building eCos GDB stubs." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-};
-
-cdl_option CYGBLD_BUILD_COMMON_GDB_STUBS {
-    user_value 1 ;
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGSEM_ERROR_PER_THREAD_ERRNO {
-    inferred_value 0
-};
-
-cdl_option CYGDBG_HAL_DEBUG_GDB_INCLUDE_STUBS {
-    inferred_value 1
-};
diff --git a/packages/templates/uitron/v2_0.ect b/packages/templates/uitron/v2_0.ect
deleted file mode 100644 (file)
index 8be07fe..0000000
+++ /dev/null
@@ -1,134 +0,0 @@
-cdl_savefile_version 1;
-cdl_savefile_command cdl_savefile_version {};
-cdl_savefile_command cdl_savefile_command {};
-cdl_savefile_command cdl_configuration { description hardware template package };
-cdl_savefile_command cdl_package { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_component { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_option { value_source user_value wizard_value inferred_value };
-cdl_savefile_command cdl_interface { value_source user_value wizard_value inferred_value };
-
-cdl_configuration template_uitron {
-    description "
-This configuration provides full level S (standard) compliance with
-version 3.02 of the uITRON standard, plus many level E (extended)
-features." ;
-    package     CYGPKG_HAL v2_0 ;
-    package     CYGPKG_IO v2_0 ;
-    package     CYGPKG_IO_SERIAL v2_0 ;
-    package     CYGPKG_INFRA v2_0 ;
-    package     CYGPKG_KERNEL v2_0 ;
-    package     CYGPKG_MEMALLOC v2_0 ;    
-    package     CYGPKG_UITRON v2_0 ;
-    package     CYGPKG_ISOINFRA v2_0 ;
-    package     CYGPKG_LIBC v2_0 ;
-    package     CYGPKG_LIBC_I18N v2_0 ;
-    package     CYGPKG_LIBC_SETJMP v2_0 ;
-    package     CYGPKG_LIBC_SIGNALS v2_0 ;
-    package     CYGPKG_LIBC_STARTUP v2_0 ;
-    package     CYGPKG_LIBC_STDIO v2_0 ;
-    package     CYGPKG_LIBC_STDLIB v2_0 ;
-    package     CYGPKG_LIBC_STRING v2_0 ;
-    package     CYGPKG_LIBC_TIME v2_0 ;
-    package     CYGPKG_LIBM v2_0 ;
-    package     CYGPKG_IO_WALLCLOCK v2_0 ;
-    package     CYGPKG_ERROR v2_0 ;
-};
-
-
-cdl_option CYGBLD_ISO_CTYPE_HEADER {
-    inferred_value 1 <cyg/libc/i18n/ctype.inl>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_CODES_HEADER {
-    inferred_value 1 <cyg/error/codes.h>
-};
-
-cdl_option CYGBLD_ISO_ERRNO_HEADER {
-    inferred_value 1 <cyg/error/errno.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILETYPES_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_STREAMS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FILEACCESS_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_FORMATTED_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_CHAR_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_DIRECT_IO_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDIO_ERROR_HEADER {
-    inferred_value 1 <cyg/libc/stdio/stdio.h>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_STRCONV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/atox.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_ABS_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/abs.inl>
-};
-
-cdl_option CYGBLD_ISO_STDLIB_DIV_HEADER {
-    inferred_value 1 <cyg/libc/stdlib/div.inl>
-};
-
-cdl_option CYGBLD_ISO_STRERROR_HEADER {
-    inferred_value 1 <cyg/error/strerror.h>
-};
-
-cdl_option CYGBLD_ISO_STRTOK_R_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_LOCALE_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_MEMFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_STRING_STRFUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/string.h>
-};
-
-cdl_option CYGBLD_ISO_C_TIME_TYPES_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_C_CLOCK_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/time/time.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_NUMBERS_HEADER {
-    inferred_value 1 <cyg/libc/signals/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SIGNAL_IMPL_HEADER {
-    inferred_value 1 <cyg/libc/signals/signal.h>
-};
-
-cdl_option CYGBLD_ISO_SETJMP_HEADER {
-    inferred_value 1 <cyg/libc/setjmp/setjmp.h>
-};
-
-
-
-cdl_option CYGBLD_ISO_STRING_BSD_FUNCS_HEADER {
-    inferred_value 1 <cyg/libc/string/bsdstring.h>
-};
index afbea9174e8c49a110d2ac9be96072c6c8bcfd4e..b01c6a8c5163ac729e3828a4b703b87f98441cba 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: aboutdlg.cpp,v 1.12 2001/09/05 14:35:53 julians Exp $
 // Purpose:
 // Description: Implementation file for ecAboutDialog
 // Requires:
index 73f8b8528f19b3a5c091d920f2f1d9c6c1154d18..0a1e4c1fdba46c86e8d893ca7d874fe3014d04ee 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: aboutdlg.h,v 1.2 2001/03/05 15:53:32 julians Exp $
 // Purpose:
 // Description: Header file for ecAboutDialog
 // Requires:
index cb21eea17967b2d504f9b844ae48963ea42bdf5b..b004ce08b3629edb742d7098c5f4df898860aa4e 100644 (file)
@@ -31,7 +31,7 @@
 // Author(s):   julians,jld
 // Contact(s):  julians
 // Date:        2000/09/28
-// Version:     $Id$
+// Version:     $Id: admindlg.cpp,v 1.6 2001/08/22 16:50:32 julians Exp $
 // Purpose:
 // Description: Implementation file for ecAdminDialog
 // Requires:
index 962da63f54c1b9c558a286fb639e2a57706fa484..1dbf8b5ba2d040c188d94d0a2508fb7bd461f9d0 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/28
-// Version:     $Id$
+// Version:     $Id: admindlg.h,v 1.3 2001/08/22 16:50:32 julians Exp $
 // Purpose:
 // Description: Header file for ecAdminDialog
 // Requires:
index e0bc978581d4d1c03955961814c44753045cbd35..e89e012a2e196dc0f943918f8bbd8d09854b57b5 100644 (file)
@@ -31,7 +31,7 @@
 // Author(s):   julians, jld
 // Contact(s):  julians
 // Date:        2000/08/29
-// Version:     $Id$
+// Version:     $Id: appsettings.cpp,v 1.27 2001/12/14 17:34:03 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecSettings
 // Requires:
index 72249cf9375dd9f41e76edc49de1cb6f6672b130..c4c84a5e687cc1b38d825eff7d43410d8603cb26 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/08/29
-// Version:     $Id$
+// Version:     $Id: appsettings.h,v 1.12 2001/12/14 17:34:03 julians Exp $
 // Purpose:
 // Description: Header file for the ConfigTool application settings
 // Requires:
index bc800b783e3582a7f5b9bdce5c9b31be0d48311a..3d6df7c76dafc1f9cf5c4e48f13aed8a206f1d6e 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: buildoptionsdlg.cpp,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Implementation file for ecBuildOptionsDialog
 // Requires:
index a5526f9d3986f0685ed52182ff91aa0de402bca0..d8c2d2f7d2675009fc9468b421b4b674bd9f7bbc 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: buildoptionsdlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecBuildOptionsDialog
 // Requires:
index 7087ae78a995ce6f729619fd414bf90901894396..25f685de18cc237261de145ca108ee91a1e2fc60 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/02
-// Version:     $Id$
+// Version:     $Id: choosereposdlg.cpp,v 1.3 2002/02/28 18:30:35 julians Exp $
 // Purpose:
 // Description: Implementation file for ecChooseRepositoryDialog
 // Requires:
index 6ea5d0875538d5bfa1ff1595d1a8de41d74ee1ef..01332f0e2af262cf6aa46df8133f2a306b3b4182 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/02
-// Version:     $Id$
+// Version:     $Id: choosereposdlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecChooseRepositoryDialog
 // Requires:
index 9850640abf5b74ad93885adf9b56d2e7a57ccf48..e08d90296866e3ca80bbef478758c9ed70fd9eb4 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/01
-// Version:     $Id$
+// Version:     $Id: configitem.cpp,v 1.10 2001/04/30 17:12:32 julians Exp $
 // Purpose:
 // Description: Implementation file for the ConfigTool application class
 // Requires:
index 53ee452effc9e4551cd5842d256c8b1bc799cb4e..c302cacf98987b4f2c8e4bb9b28564212bf4cece 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/01
-// Version:     $Id$
+// Version:     $Id: configitem.h,v 1.4 2001/04/09 12:51:34 julians Exp $
 // Purpose:
 // Description: Header file for ecConfigItem, which describes a config item
 //              from this tool's perspective. Note that this duplicates
index 766768ddfb885c07ac6ebf71eea719a79bd5e16a..258c759a9f06d5443d7c3cee43c59abce7e5de36 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: configpropdlg.cpp,v 1.2 2001/03/01 15:54:38 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecConfigPropertiesDialog
 // Requires:
index 22e6573369bf23a83efecb47f2ccbb239baabde8..a87a10aaafea9e9fe49c254ab86129b408ebc2a5 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/02
-// Version:     $Id$
+// Version:     $Id: configpropdlg.h,v 1.2 2001/03/01 15:54:38 julians Exp $
 // Purpose:
 // Description: Header file for ecConfigPropertiesDialog
 // Requires:
index 84f7c92457e3903458a86ef8c9b73d3e7c05b7f8..719e0f4ec9a8d7a6abe7fd6dfd0fdd1cc1c03d21 100644 (file)
@@ -31,7 +31,7 @@
 // Author(s):   julians, jld
 // Contact(s):  julians, jld
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: configtool.cpp,v 1.51 2001/12/11 15:59:51 julians Exp $
 // Purpose:
 // Description: Implementation file for the ConfigTool application class
 // Requires:
index 841ff376fae8f2934e9c547d04d5e2dcffa2fa97..baf36a174d52c3e2328a25f62f7330579b9a3a4d 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: configtool.h,v 1.27 2001/10/11 12:31:42 julians Exp $
 // Purpose:
 // Description: main header file for the ConfigTool application
 // Requires:
index 94eb56eea6f8773dee1233f925a16ec4ea43c94c..dcf2b2b9e6aa73721422fb6e99cb2cba7e59b7d8 100644 (file)
@@ -31,7 +31,7 @@
 // Author(s):   julians, jld
 // Contact(s):  julians, jld
 // Date:        2000/10/05
-// Version:     $Id$
+// Version:     $Id: configtooldoc.cpp,v 1.43 2002/02/13 13:58:18 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecConfigToolDoc class
 // Requires:
index 19964b568826991ca68b9dc949241b4d95eca8ff..e3f63c08cdbab7748122bbbf1f99b96dcf74ff5b 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/05
-// Version:     $Id$
+// Version:     $Id: configtooldoc.h,v 1.15 2001/08/10 14:58:21 julians Exp $
 // Purpose:
 // Description: Header file for ecConfigToolDoc
 // Requires:
index e1712d98e6b6e933497c5d6f85c2e9ff61025136..f98aebc46aa41f8c71616dbffbc59759d1303674 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/05
-// Version:     $Id$
+// Version:     $Id: configtoolview.cpp,v 1.11 2001/07/13 15:17:43 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecConfigToolView class
 // Requires:
index 9c3d8a223ef047d2aa0f7d209d26c7f7748968bd..70214135451ef00f77ed046164309c6bc7f30e3d 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/05
-// Version:     $Id$
+// Version:     $Id: configtoolview.h,v 1.4 2001/03/22 11:27:28 julians Exp $
 // Purpose:
 // Description: Header file for ecConfigToolView
 // Requires:
index 19edb42a97ce6f09d3c2669b5e3953bb36890ca5..b2412c4718576fd57646d712feb969484e99631f 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: configtree.cpp,v 1.8 2001/04/24 14:39:13 julians Exp $
 // Purpose:
 // Description: Implementation file for ecConfigTreeCtrl
 // Requires:
index 931cb1a53f08b7b442fe32f199db7c6fdcb51697..672d313ff029fd1c475002142ca5d7f64c716e4a 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: configtree.h,v 1.5 2001/04/09 12:51:34 julians Exp $
 // Purpose:
 // Description: Header file for ecConfigTreeCtrl
 // Requires:
index 9ef91fae9a1a82f57bf606c2caa369f95b7c78e8..eb2d11765387ad5b06834a8733e7463efee04100 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: conflictsdlg.cpp,v 1.4 2001/07/09 14:21:32 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecResolveConflictsDialog
 // Requires:
index 66dfb398a81fbcfb3636246577fdf9ce8741f134..e8fad7003b8698971345414b93ffa2e7478d01f3 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: conflictsdlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecResolveConflictsDialog
 // Requires:
index 700715bf6411845d148da6e2dc97f7865ba7570e..ca9dcc3e10d8304c234125333d9c1fac76b91afb 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/04
-// Version:     $Id$
+// Version:     $Id: conflictwin.cpp,v 1.3 2001/04/24 14:39:13 julians Exp $
 // Purpose:
 // Description: Implementation file for ecConflictListCtrl
 // Requires:
index ac0c045c4efce6c2c1706d487258e7149a85dc85..3eaa30a87839a5a8e155c1e5995b91fa715225ef 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/04
-// Version:     $Id$
+// Version:     $Id: conflictwin.h,v 1.2 2001/04/06 15:29:40 julians Exp $
 // Purpose:
 // Description: Header file for ecConflictListCtrl
 // Requires:
index 9aac19940adca3fb4516251391060d537d90ed86..72b8ad44ea161db3405f5db6dc87171df53b2f92 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2001/04/04
-// Version:     $Id$
+// Version:     $Id: docsystem.cpp,v 1.19 2001/12/11 15:59:51 julians Exp $
 // Purpose:
 // Description: Various classes for the documentation system
 // Requires:
index fc712bf01791efb4b059ee7215016cc86ffb1fbd..58d1bb46dccd5c7a4ef68040601bd1694a502ec4 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: ecpch.h,v 1.1 2001/02/08 18:06:50 julians Exp $
 // Purpose:
 // Description: Precompiled header include file
 // Requires:
index 9575faf6a069f472e4ab805b946e0d253a05b231..0dd213ce980039fcdaee43abed58b4bb6f951913 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
-// RCS-ID:      $Id$
+// RCS-ID:      $Id: ecscrolwin.cpp,v 1.3 2002/02/28 16:39:37 julians Exp $
 // Copyright:   (c) Julian Smart and Markus Holzem
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
index bf7e31a5b024f1d6e21fd18d8a82f8ff3416d40a..82836857b09fa5a7a7a49d843ef97060f1acb48a 100644 (file)
@@ -5,7 +5,7 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
-// RCS-ID:      $Id$
+// RCS-ID:      $Id: ecscrolwin.h,v 1.2 2002/02/28 18:30:35 julians Exp $
 // Copyright:   (c) Julian Smart and Markus Holzem
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
index 0647fdeff39b12577bb68e8a2e95fe982449dc67..7ea1650908ad62dd50b308234b0dc4116fe32926 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: finddlg.cpp,v 1.5 2002/02/28 18:30:35 julians Exp $
 // Purpose:
 // Description: Implementation file for ecFindDialog
 // Requires:
index eeb0c709e49328e13ef66deffce0ef0ef1355802..46001a0a7f8ca446b3e9c0978a02d1b711e97ebf 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: finddlg.h,v 1.2 2001/03/07 17:08:33 julians Exp $
 // Purpose:
 // Description: Header file for ecFindDialog
 // Requires:
index fc5061778252bfbab1f09b768b0f03daee1bb857..3cb8bdf786b77e76e504dfdb6709385e40f4cfd4 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/12/20
-// Version:     $Id$
+// Version:     $Id: folderdlg.cpp,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Implementation of ecFolderDialog
 // Requires:
index 8ab74ae2e05d0f7676202b8664ef7b3153a81b2b..d4284f712c01a1bd9715ccc6490a24d87c2edc47 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/12/20
-// Version:     $Id$
+// Version:     $Id: folderdlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header for ecFolderDialog
 // Requires:
index 424499423913a99ffc885df859bff4c0c49c1da5..76ada341f574f228cef2c91720ac4a54b36a42da 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2001/04/04
-// Version:     $Id$
+// Version:     $Id: htmlparser.cpp,v 1.6 2001/04/12 10:02:22 julians Exp $
 // Purpose:
 // Description: HTML parser/HTML Help file generator
 // Requires:
index d0bd343a530178dd244c6b2ffec7e012c8697a55..3d3b162da26bd9c632fcb3e6e328069d84e2d7b0 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/12/18
-// Version:     $Id$
+// Version:     $Id: licensedlg.cpp,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Implementation file for ecLicenseDialog
 // Requires:
index 9dc4db5ac6a96687fa7440d9a07870f9e378d1b9..223b6b7ad521ed5cd8b4778bc2d0b87d723e33de 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/12/18
-// Version:     $Id$
+// Version:     $Id: licensedlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecLicenseDialog
 // Requires:
index 573efd5efa0c7b8e18f5e1991215e1a3a0bcb513..bf4f907d8557716ba12c4348adbdc97745ee5359 100644 (file)
@@ -31,7 +31,7 @@
 // Author(s):   julians, jld
 // Contact(s):  julians, jld
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: mainwin.cpp,v 1.57 2002/02/28 18:30:35 julians Exp $
 // Purpose:
 // Description: Implementation file for the ConfigTool main window
 // Requires:
index fb0ad8629a48c1cd19468775a88ac21e8e287a03..13808a30db2a5bd5a527f6af0e1f7e9381477f45 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/08/24
-// Version:     $Id$
+// Version:     $Id: mainwin.h,v 1.19 2001/08/10 14:58:21 julians Exp $
 // Purpose:
 // Description: Header file for the ConfigTool main window
 // Requires:
index ebc7ef40356e18b57e79c1e29fa5b238b7fe6905..43390afd2fb14962ff34f0f5e4b1b1cc5f88fd7d 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: mltwin.cpp,v 1.2 2001/03/22 11:27:28 julians Exp $
 // Purpose:
 // Description: Implementation file for ecMemoryLayoutWindow
 // Requires:
index 18447f0a8a4f4b52d38cd4c95b5c9af443b887dc..2042897805517fe04d33fc61c2a2a212841264f9 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/04
-// Version:     $Id$
+// Version:     $Id: mltwin.h,v 1.2 2001/03/22 11:27:28 julians Exp $
 // Purpose:
 // Description: Header file for ecMemoryLayoutWindow
 // Requires:
index 9e44fbcb68d41d0d19309f345c4550e11e55bd5b..6fd8140886f2f7c32fbf3b190390eb6d4aadfe7f 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     12/12/2000
-// RCS-ID:      $Id$
+// RCS-ID:      $Id: msgdlgex.cpp,v 1.2 2001/06/11 14:22:31 julians Exp $
 // Copyright:   (c) Julian Smart
 //
 // This program is part of the eCos host tools.
index f5eaf736c7b6d2d864b501874816b55bb335ce42..e178119d50bb2783fa82abcfb7f9df2321ecb078 100644 (file)
@@ -4,7 +4,7 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     12/12/2000
-// RCS-ID:      $Id$
+// RCS-ID:      $Id: msgdlgex.h,v 1.2 2001/06/11 14:22:31 julians Exp $
 // Copyright:   (c) Julian Smart
 //
 // This program is part of the eCos host tools.
index 762fc262a504ff50ed527b92eca070eef8282551..e10a3a3618bf25521ee4c714c94f40297a3b372c 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/02
-// Version:     $Id$
+// Version:     $Id: outputwin.cpp,v 1.2 2001/04/24 14:39:13 julians Exp $
 // Purpose:
 // Description: Implementation file for ecOutputWindow
 // Requires:
index d139817872181d321129a764883c7e6f0194801c..e043713257000ea523b89c1380081854f21ca5c3 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/2
-// Version:     $Id$
+// Version:     $Id: outputwin.h,v 1.1 2001/02/08 18:06:51 julians Exp $
 // Purpose:
 // Description: Header file for ecOutputWindow
 // Requires:
index 5694fcfb6aecd93a1f91e1eb152e5755fbead1c1..2064bfb8e37facab646b77022ae31d236845e5cd 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/28
-// Version:     $Id$
+// Version:     $Id: packagesdlg.cpp,v 1.9 2001/12/14 17:34:03 julians Exp $
 // Purpose:
 // Description: Implementation file for ecPackagesDialog
 // Requires:
index edb89ec3b35b88ac3a92247c13768f8f793d4444..e50cf20a18b43077c48df0df46b5d3961dea63e0 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/28
-// Version:     $Id$
+// Version:     $Id: packagesdlg.h,v 1.6 2001/12/14 17:34:04 julians Exp $
 // Purpose:
 // Description: Header file for ecPackagesDialog
 // Requires:
index 3ded1b75c03f14b8dc0c8766ef36e8f36a5d820f..21cf52dc2c8da3bd3bbf4c726e26d9b279d7ef60 100644 (file)
@@ -31,7 +31,7 @@
 // Author(s):   julians, jld
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: platformeditordlg.cpp,v 1.4 2001/07/05 10:42:16 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecPlatformEditorDialog
 // Requires:
index 09ed52373025adcac0914022c209043ca1ab2bfc..34969f4c10d9f69ec0086fdecca013ddfb23f7e6 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: platformeditordlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecPlatformEditorDialog
 // Requires:
index 8249e06db1cf63b5970cfc6f109233d43c0444ec..624d481c8a83293660ad6bd25c330e9586cb1cb9 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: platformsdlg.cpp,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Implementation file for the ecPlatformsDialog
 // Requires:
index d55571cc2ac0d047c6403d4076264ea8722f05cd..50e4e2ca340fae35852a6c5fc80cb9bb7c7f72bc 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/06
-// Version:     $Id$
+// Version:     $Id: platformsdlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecPlatformsDialog
 // Requires:
index be3c33b033e345df8f5ff80e78f074a61b057bda..77c2e2476f6f0badb4f1dcce4a771ca6638d1c2f 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/04
-// Version:     $Id$
+// Version:     $Id: propertywin.cpp,v 1.7 2001/04/24 14:39:13 julians Exp $
 // Purpose:
 // Description: Implementation file for ecPropertyListCtrl
 // Requires:
index 202caa2fe81674238e0b793de836f9de425c0207..9a7dbcc5208976f6b7b4e36445ff16a7529b868e 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/04
-// Version:     $Id$
+// Version:     $Id: propertywin.h,v 1.4 2001/04/18 11:47:56 julians Exp $
 // Purpose:
 // Description: Header file for ecPropertyListCtrl
 // Requires:
index 36e646a5ce42927621174dbeb1131d361825899c..5c0a3d52bad627b97da474504699a2305f2258bc 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: reposdlg.cpp,v 1.5 2002/01/02 14:28:55 julians Exp $
 // Purpose:
 // Description: Implementation file for ecRepositoryInfoDialog
 // Requires:
index af65fe5bae18096f57de75be08fa835d6041e4ea..db57227f9c3cfd544e82f1a1c363a22534a954f1 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: reposdlg.h,v 1.1 2001/03/16 18:21:09 julians Exp $
 // Purpose:
 // Description: Header file for ecRepositoryInfoDialog
 // Requires:
index 679c0b187ca22b2b321f3b11c359d4ced130908e..d9f8056b9ce43f1a71529556f2c648d9ab897bba 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/29
-// Version:     $Id$
+// Version:     $Id: runtestsdlg.cpp,v 1.14 2001/06/29 13:48:22 julians Exp $
 // Purpose:
 // Description: Implementation file for ecRunTestsDialog
 // Requires:
index e0d847b6896044702b2fd2227c266b524710291d..c3d147f253bb4190304ff5d00673dfc95e0bc07f 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/29
-// Version:     $Id$
+// Version:     $Id: runtestsdlg.h,v 1.11 2001/12/13 15:30:27 julians Exp $
 // Purpose:
 // Description: Header file for ecRunTestsDialog
 // Requires:
index 9b9f4d2fcefe9b0152451719ec515b2ca05ccf0a..4036042309e12766a23cf45bc211bdf75e581a46 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: sectiondlg.cpp,v 1.2 2001/03/15 17:33:45 julians Exp $
 // Purpose:
 // Description: Implementation file for ecSectionDialog
 // Requires:
index 1135b77a478690c97ddda55a155aaac0a4f5d3f2..9baead1d398c2dc82c2f450ef8209643d74e9ea6 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: sectiondlg.h,v 1.1 2001/02/08 18:06:52 julians Exp $
 // Purpose:
 // Description: Header file for ecSectionDialog
 // Requires:
index 14bc53e2881b3396fb99a886160fd9f93c69f206..33e4c8fd35bd80751445b6c413c2edda76c1d8b0 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: settingsdlg.cpp,v 1.16 2002/02/15 17:40:01 julians Exp $
 // Purpose:
 // Description: Implementation file for ecSettingsDialog
 // Requires:
index 763feee95193f12eb1c09486e204f1c52ba806c5..3e74a06a355dac46732952548a3e11b682163519 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/11
-// Version:     $Id$
+// Version:     $Id: settingsdlg.h,v 1.7 2002/02/07 18:22:14 julians Exp $
 // Purpose:
 // Description: Header file for ecSettingsDialog
 // Requires:
index c0c66cd800108d4cb04572c6ae712d72ec786c5c..6ce0c773f30b850f7957f8e804ab4b6f1fa78e9c 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/02
-// Version:     $Id$
+// Version:     $Id: shortdescrwin.cpp,v 1.4 2001/05/16 16:08:24 julians Exp $
 // Purpose:
 // Description: Implementation file for ecShortDescriptionWindow
 // Requires:
index 5a24f03b0d70107fc9af0d27593a2fbd9cd9206a..47c981fcc294b71b957e1bc7e313d479fcb2956e 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/10/2
-// Version:     $Id$
+// Version:     $Id: shortdescrwin.h,v 1.1 2001/02/08 18:06:52 julians Exp $
 // Purpose:
 // Description: Header file for ecShortDescriptionWindow
 // Requires:
index 0fde265212022041854804e8ec5295b5a173882e..8239a06a7ab70284bad854d4435821fc45b56304 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/08
-// Version:     $Id$
+// Version:     $Id: solutionswin.cpp,v 1.1 2001/02/08 18:06:52 julians Exp $
 // Purpose:
 // Description: Implementation file for ecSolutionListCtrl
 // Requires:
index 9b327cdbcbf51e37fca0927b70ad30c10920d2c6..dab0f766ced9db8e54a8acbe79143ad3c30ff18a 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/08
-// Version:     $Id$
+// Version:     $Id: solutionswin.h,v 1.1 2001/02/08 18:06:52 julians Exp $
 // Purpose:
 // Description: Header file for ecSolutionListCtrl
 // Requires:
index 70701e15c1f3507a0363740434310674d9e7bb60..19fc92cde8945cdd9d11f51a357bba7723cafd32 100644 (file)
@@ -6,7 +6,7 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     8/7/2000
-// RCS-ID:      $Id$
+// RCS-ID:      $Id: splittree.cpp,v 1.9 2002/02/28 18:30:35 julians Exp $
 // Copyright:   (c) Julian Smart
 //
 // This program is part of the eCos host tools.
index 455705d1ce7ede6b59e858be146a270a519317db..7658917fee8503cdad54e779e507b6d0737f9572 100644 (file)
@@ -6,7 +6,7 @@
 // Author:      Julian Smart
 // Modified by:
 // Created:     8/7/2000
-// RCS-ID:      $Id$
+// RCS-ID:      $Id: splittree.h,v 1.3 2001/06/11 14:22:31 julians Exp $
 // Copyright:   (c) Julian Smart
 //
 // This program is part of the eCos host tools.
index bf8fef055d6450ef01053a9e829dcfaea7aad076..374569924992964f243c01052f8e7574e3fa1b6f 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2001/05/14
-// Version:     $Id$
+// Version:     $Id: symbols.h,v 1.15 2002/02/13 13:58:18 julians Exp $
 // Purpose:
 // Description: Some important symbols, such as the version
 // Requires:
index cad97c02086378bdc30ae20c13fce5a3cd6c7158..e1ddc29fd2ffdd9460cf38567f891c359fb3165f 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: templatesdlg.cpp,v 1.10 2001/12/03 16:05:40 julians Exp $
 // Purpose:
 // Description: Implementation file for ecTemplatesDialog
 // Requires:
index df08fdfc6f82208cf47fc2539474f9a7473502b2..ffbc838b1624cd3a902954df081ba0bae3769be0 100644 (file)
@@ -30,7 +30,7 @@
 // Author(s):   julians
 // Contact(s):  julians
 // Date:        2000/09/27
-// Version:     $Id$
+// Version:     $Id: templatesdlg.h,v 1.2 2001/03/23 13:38:04 julians Exp $
 // Purpose:
 // Description: Header file for ecTemplatesDialog
 // Requires: